IdentityMatrix.h
Go to the documentation of this file.
00001 #ifndef __NEW_MAT_IDENTITY_MATRIX_H__
00002 #define __NEW_MAT_IDENTITY_MATRIX_H__
00003 
00005 class IdentityMatrix : public GeneralMatrix
00006 {
00007    GeneralMatrix* Image() const;          // copy of matrix
00008 public:
00009    IdentityMatrix() {}
00010    ~IdentityMatrix() {}
00011    IdentityMatrix(ArrayLengthSpecifier n) : GeneralMatrix(1)
00012       { nrows_val = ncols_val = n.Value(); *store = 1; }
00013    IdentityMatrix(const IdentityMatrix& gm)
00014       : GeneralMatrix() { GetMatrix(&gm); }
00015    IdentityMatrix(const BaseMatrix&);
00016    void operator=(const BaseMatrix&);
00017    void operator=(const IdentityMatrix& m) { Eq(m); }
00018    void operator=(Real f) { GeneralMatrix::operator=(f); }
00019    MatrixType type() const;
00020 
00021    LogAndSign log_determinant() const;
00022    Real trace() const;
00023    Real sum_square() const;
00024    Real sum_absolute_value() const;
00025    Real sum() const { return trace(); }
00026    void GetRow(MatrixRowCol&);
00027    void GetCol(MatrixRowCol&);
00028    void GetCol(MatrixColX&);
00029    void NextRow(MatrixRowCol&);
00030    void NextCol(MatrixRowCol&);
00031    void NextCol(MatrixColX&);
00032    GeneralMatrix* MakeSolver() { return this; } // for solving
00033    void Solver(MatrixColX&, const MatrixColX&);
00034    GeneralMatrix* Transpose(TransposedMatrix*, MatrixType);
00035    void resize(int n);
00036    void ReSize(int n) { resize(n); }
00037    void resize(const GeneralMatrix& A);
00038    void ReSize(const GeneralMatrix& A) { resize(A); }
00039    MatrixBandWidth bandwidth() const;
00040 //   ReturnMatrix Reverse() const;                // reverse order of elements
00041    void swap(IdentityMatrix& gm)
00042       { GeneralMatrix::swap((GeneralMatrix&)gm); }
00043    NEW_DELETE(IdentityMatrix)
00044 };
00045 
00046 
00047 #endif
00048 


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