SymmetricMatrix.h
Go to the documentation of this file.
00001 #ifndef __NEW_MAT_SYMMETRIX_MATRIX_H__
00002 #define __NEW_MAT_SYMMETRIX_MATRIX_H__
00003 
00005 class SymmetricMatrix : public GeneralMatrix
00006 {
00007    GeneralMatrix* Image() const;                // copy of matrix
00008 public:
00009    SymmetricMatrix() {}
00010    ~SymmetricMatrix() {}
00011    SymmetricMatrix(ArrayLengthSpecifier);
00012    SymmetricMatrix(const BaseMatrix&);
00013    void operator=(const BaseMatrix&);
00014    void operator=(Real f) { GeneralMatrix::operator=(f); }
00015    void operator=(const SymmetricMatrix& m) { Eq(m); }
00016    Real& operator()(int, int);                  // access element
00017    Real& element(int, int);                     // access element
00018    Real operator()(int, int) const;             // access element
00019    Real element(int, int) const;                // access element
00020 #ifdef SETUP_C_SUBSCRIPTS
00021    Real* operator[](int m) { return store+(m*(m+1))/2; }
00022    const Real* operator[](int m) const { return store+(m*(m+1))/2; }
00023 #endif
00024    MatrixType type() const;
00025    SymmetricMatrix(const SymmetricMatrix& gm)
00026       : GeneralMatrix() { GetMatrix(&gm); }
00027    Real sum_square() const;
00028    Real sum_absolute_value() const;
00029    Real sum() const;
00030    Real trace() const;
00031    void GetRow(MatrixRowCol&);
00032    void GetCol(MatrixRowCol&);
00033    void GetCol(MatrixColX&);
00034    void RestoreCol(MatrixRowCol&) {}
00035    void RestoreCol(MatrixColX&);
00036    GeneralMatrix* Transpose(TransposedMatrix*, MatrixType);
00037    void resize(int);                           // change dimensions
00038    void ReSize(int m) { resize(m); }
00039    void resize_keep(int);
00040    void resize(const GeneralMatrix& A);
00041    void ReSize(const GeneralMatrix& A) { resize(A); }
00042    void operator+=(const SymmetricMatrix& M) { PlusEqual(M); }
00043    void operator-=(const SymmetricMatrix& M) { MinusEqual(M); }
00044    void operator+=(Real f) { GeneralMatrix::Add(f); }
00045    void operator-=(Real f) { GeneralMatrix::Add(-f); }
00046    void swap(SymmetricMatrix& gm) { GeneralMatrix::swap((GeneralMatrix&)gm); }
00047    NEW_DELETE(SymmetricMatrix)
00048 };
00049 
00050 #endif
00051 


lo
Author(s): U. Klank
autogenerated on Mon Oct 6 2014 10:44:15