|
void | Resize (enumerator rows, enumerator cols) |
| This is a stub function to fulfill abstract inheritance. More...
|
|
__INLINE enumerator | Rows () const |
| Number of rows. More...
|
|
__INLINE enumerator | Cols () const |
| Number of columns. More...
|
|
| MatrixMul (const AbstractMatrixReadOnly< VarA > &rA, const AbstractMatrixReadOnly< VarB > &rB) |
|
| MatrixMul (const MatrixMul &b) |
|
__INLINE VarR | compute (enumerator i, enumerator j) const |
| Access element of the matrix by row and column indices without right to change the element. More...
|
|
__INLINE VarR & | operator() (enumerator i, enumerator j) |
| Access element of the matrix by row and column indices. More...
|
|
__INLINE const VarR & | get (enumerator i, enumerator j) const |
| Access element of the matrix by row and column indices without right to change the element. More...
|
|
__INLINE INMOST_DATA_ENUM_TYPE | GetMatrixCount () const |
| Retrieve number of indices of derivatives.
|
|
| AbstractMatrix () |
| Construct empty matrix.
|
|
AbstractMatrix & | operator= (AbstractMatrix const &other) |
| Assign matrix of the same type. More...
|
|
AbstractMatrix & | operator= (AbstractMatrixReadOnly< typeB > const &other) |
| Assign matrix of another type. More...
|
|
AbstractMatrix & | operator= (VarR const &b) |
| Assign value to all entries of the matrix. More...
|
|
virtual VarR & | operator() (enumerator i, enumerator j)=0 |
| Access element of the matrix by row and column indices. More...
|
|
SubMatrix< VarR > | operator() (enumerator first_row, enumerator last_row, enumerator first_col, enumerator last_col) |
| Extract submatrix of a matrix for in-place manipulation of elements. More...
|
|
virtual const VarR & | get (enumerator i, enumerator j) const=0 |
| Access element of the matrix by row and column indices. More...
|
|
virtual void | Resize (enumerator rows, enumerator cols)=0 |
| Resize the matrix into different size. More...
|
|
void | Zero () |
| Set all the elements of the matrix to zero.
|
|
virtual void | Swap (AbstractMatrix< VarR > &b) |
| Exchange contents of two matrices.
|
|
AbstractMatrix & | operator-= (const AbstractMatrixReadOnly< typeB > &other) |
| Subtract a matrix and store result in the current. More...
|
|
AbstractMatrix & | operator-= (const AbstractMatrix< typeB > &other) |
| Subtract a matrix and store result in the current. More...
|
|
AbstractMatrix< VarR > & | operator-= (const AbstractMatrix< typeB > &other) |
|
AbstractMatrix< VarR > & | operator-= (const AbstractMatrixReadOnly< typeB > &other) |
|
AbstractMatrix & | operator+= (const AbstractMatrixReadOnly< typeB > &other) |
| Add a matrix and store result in the current. More...
|
|
AbstractMatrix & | operator+= (const AbstractMatrix< typeB > &other) |
| Add a matrix and store result in the current. More...
|
|
AbstractMatrix< VarR > & | operator+= (const AbstractMatrix< typeB > &other) |
|
AbstractMatrix< VarR > & | operator+= (const AbstractMatrixReadOnly< typeB > &other) |
|
AbstractMatrix & | operator*= (const AbstractMatrixReadOnly< typeB > &B) |
| Multiply matrix with another matrix in-place. More...
|
|
AbstractMatrix & | operator*= (typeB coef) |
| Multiply the matrix by the coefficient of the same type and store the result. More...
|
|
AbstractMatrix< VarR > & | operator*= (const AbstractMatrixReadOnly< typeB > &B) |
|
AbstractMatrix< VarR > & | operator*= (typeB coef) |
|
AbstractMatrix & | operator/= (typeB coef) |
| Divide the matrix by the coefficient of the same type and store the result. More...
|
|
AbstractMatrix< VarR > & | operator/= (typeB coef) |
|
BlockOfMatrix< VarR > | BlockOf (enumerator nrows, enumerator ncols, enumerator offset_row, enumerator offset_col) |
| Define matrix as a part of a matrix of larger size with in-place manipulation of elements. More...
|
|
MatrixTranspose< VarR > | Transpose () |
| Transpose the current matrix with access to elements. More...
|
|
MatrixRepack< VarR > | Repack (enumerator rows, enumerator cols) |
| Change representation of the matrix into matrix of another size. More...
|
|
MatrixConcatCols< VarR > | ConcatCols (AbstractMatrix< VarR > &B) |
| Concatenate B matrix as columns of current matrix. More...
|
|
MatrixConcatRows< VarR > | ConcatRows (AbstractMatrix< VarR > &B) |
| Concatenate B matrix as rows of current matrix. More...
|
|
bool | CheckNans () const |
| Check all matrix entries for not a number. More...
|
|
bool | CheckInfs () const |
| Check all matrix entries for infinity. More...
|
|
bool | CheckNansInfs () const |
| Check all matrix entries for not a number and infinity. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | Transform (const AbstractMatrix< typeB > &other) const |
| Transformation matrix from current vector to provided vector using shortest arc rotation. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | Transform (const AbstractMatrixReadOnly< typeB > &other) const |
| Transformation matrix from current vector to provided vector using shortest arc rotation. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | CrossProduct (const AbstractMatrix< typeB > &other) const |
| Cross-product operation for a vector. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | CrossProduct (const AbstractMatrixReadOnly< typeB > &other) const |
| Cross-product operation for a vector. More...
|
|
Promote< VarR, typeB >::type | DotProduct (const AbstractMatrix< typeB > &other) const |
| Computes dot product by summing up multiplication of entries with the same indices in the current and the provided matrix. More...
|
|
Promote< VarR, typeB >::type | DotProduct (const AbstractMatrixReadOnly< typeB > &other) const |
| Computes dot product by summing up multiplication of entries with the same indices in the current and the provided matrix. More...
|
|
Promote< VarR, typeB >::type | operator^ (const AbstractMatrix< typeB > &other) const |
| Computes dot product by summing up multiplication of entries with the same indices in the current and the provided matrix. More...
|
|
Promote< VarR, typeB >::type | operator^ (const AbstractMatrixReadOnly< typeB > &other) const |
| Computes dot product by summing up multiplication of entries with the same indices in the current and the provided matrix. More...
|
|
SelfPromote< VarR >::type | FrobeniusNorm () const |
| Computes frobenious norm of the matrix. More...
|
|
VarR | MaxNorm () const |
| Computes maximum absolute value of the matrix. More...
|
|
VarR | Trace () const |
| Calculate sum of the diagonal elements of the matrix. More...
|
|
void | Print (INMOST_DATA_REAL_TYPE threshold=1.0e-10, std::ostream &sout=std::cout) const |
| Output matrix to screen. More...
|
|
bool | isSymmetric (double eps=1.0e-7) const |
| Check if the matrix is symmetric. More...
|
|
void | MPT (INMOST_DATA_ENUM_TYPE *Perm, INMOST_DATA_REAL_TYPE *SL=NULL, INMOST_DATA_REAL_TYPE *SR=NULL) const |
| Maximum product transversal. More...
|
|
__INLINE INMOST_DATA_ENUM_TYPE | GetMatrixCount () const |
| Retrieve number of indices of derivatives.
|
|
virtual | ~AbstractMatrix () |
| Destructor.
|
|
virtual VarR | compute (enumerator i, enumerator j) const=0 |
| Compute element of the matrix by row and column indices without right to change the element. More...
|
|
bool | CheckNans () const |
| Check all matrix entries for not a number. More...
|
|
bool | CheckInfs () const |
| Check all matrix entries for infinity. More...
|
|
bool | CheckNansInfs () const |
| Check all matrix entries for not a number and infinity. More...
|
|
VarR | Det () const |
| Matrix determinant.
|
|
bool | SVD (AbstractMatrix< VarR > &U, AbstractMatrix< VarR > &Sigma, AbstractMatrix< VarR > &V, bool order_singular_values=true, bool nonnegative=true) const |
| Singular value decomposition. More...
|
|
bool | cSVD (AbstractMatrix< VarR > &U, AbstractMatrix< VarR > &Sigma, AbstractMatrix< VarR > &V) const |
| Singular value decomposition. More...
|
|
ConstMatrixTranspose< VarR > | Transpose () const |
| Transpose current matrix. More...
|
|
ConstMatrixConjugateTranspose< VarR > | ConjugateTranspose () const |
| Transpose and conjugate current matrix. More...
|
|
ConstMatrixConjugate< VarR > | Conjugate () const |
| Conjugate current matrix. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | CrossProduct (const AbstractMatrixReadOnly< typeB > &other) const |
| Cross-product operation for a vector. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | Transform (const AbstractMatrixReadOnly< typeB > &other) const |
| Transformation matrix from current vector to provided vector using shortest arc rotation. More...
|
|
MatrixDifference< VarR, typeB > | operator- (const AbstractMatrixReadOnly< typeB > &other) const |
| Subtract a matrix. More...
|
|
MatrixUnaryMinus< VarR > | operator- () const |
| Unary minus. Change sign of each element of the matrix.
|
|
MatrixSum< VarR, typeB > | operator+ (const AbstractMatrixReadOnly< typeB > &other) const |
| Add a matrix. More...
|
|
MatrixMul< VarR, typeB, typename Promote< VarR, typeB >::type > | operator* (const AbstractMatrixReadOnly< typeB > &other) const |
| Multiply the matrix by another matrix. More...
|
|
MatrixMulCoef< VarR, typeB, typename Promote< VarR, typeB >::type > | operator* (const typeB &coef) const |
| Multiply the matrix by a coefficient. More...
|
|
MatrixMulShellCoef< VarR, shell_expression< A >, typename Promote< VarR, variable >::type > | operator* (shell_expression< A > const &coef) const |
| Multiply the matrix by a coefficient. More...
|
|
KroneckerProduct< VarR, typeB > | Kronecker (const AbstractMatrixReadOnly< typeB > &other) const |
| Kronecker product, latex symbol \otimes. More...
|
|
Matrix< VarR > | Invert (int *ierr=NULL) const |
| Inverts matrix using Crout-LU decomposition with full pivoting for maximum element. More...
|
|
Matrix< VarR > | CholeskyInvert (int *ierr=NULL) const |
| Inverts symmetric positive-definite matrix using Cholesky decomposition.
|
|
Matrix< typename Promote< VarR, typeB >::type > | Solve (const AbstractMatrixReadOnly< typeB > &B, int *ierr=NULL) const |
| Finds X in A*X=B, where A and B are general matrices. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | CholeskySolve (const AbstractMatrixReadOnly< typeB > &B, int *ierr=NULL) const |
| Finds X in A*X=B, where A is a square symmetric positive definite matrix. More...
|
|
__INLINE Matrix< Promote< variable, variable >::type > | CholeskySolve (const AbstractMatrixReadOnly< variable > &B, int *ierr) const |
|
__INLINE Matrix< Promote< INMOST_DATA_REAL_TYPE, variable >::type > | CholeskySolve (const AbstractMatrixReadOnly< variable > &B, int *ierr) const |
|
__INLINE Matrix< Promote< variable, INMOST_DATA_REAL_TYPE >::type > | CholeskySolve (const AbstractMatrixReadOnly< INMOST_DATA_REAL_TYPE > &B, int *ierr) const |
|
VarR | Trace () const |
| Calculate sum of the diagonal elements of the matrix. More...
|
|
void | Print (INMOST_DATA_REAL_TYPE threshold=1.0e-10, std::ostream &sout=std::cout) const |
| Output matrix to screen. More...
|
|
bool | isSymmetric (double eps=1.0e-7) const |
| Check if the matrix is symmetric. More...
|
|
Promote< VarR, typeB >::type | DotProduct (const AbstractMatrixReadOnly< typeB > &other) const |
| Computes dot product by summing up multiplication of entries with the same indices in the current and the provided matrix. More...
|
|
Promote< VarR, typeB >::type | operator^ (const AbstractMatrixReadOnly< typeB > &other) const |
| Computes dot product by summing up multiplication of entries with the same indices in the current and the provided matrix. More...
|
|
SelfPromote< VarR >::type | FrobeniusNorm () const |
| Computes frobenius norm of the matrix. More...
|
|
VarR | MaxNorm () const |
| Computes maximum absolute value of the matrix. More...
|
|
Matrix< VarR > | PseudoInvert (INMOST_DATA_REAL_TYPE tol=0, int *ierr=NULL) const |
| Calculates Moore-Penrose pseudo-inverse of the matrix. More...
|
|
Matrix< VarR > | Power (INMOST_DATA_REAL_TYPE n, int *ierr=NULL) const |
| Calcuate A^n, where n is some real value. More...
|
|
Matrix< VarR > | Root (INMOST_DATA_ENUM_TYPE iter=25, INMOST_DATA_REAL_TYPE tol=1.0e-7, int *ierr=NULL) const |
| Calculate square root of A matrix by Babylonian method. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | PseudoSolve (const AbstractMatrixReadOnly< typeB > &B, INMOST_DATA_REAL_TYPE tol=0, int *ierr=NULL) const |
| Solves the system of equations of the form A*X=B, with A and B matrices. More...
|
|
Matrix< VarR > | ExtractSubMatrix (enumerator ibeg, enumerator iend, enumerator jbeg, enumerator jend) const |
| Extract submatrix of a matrix. More...
|
|
ConstMatrixRepack< VarR > | Repack (enumerator rows, enumerator cols) const |
| Change representation of the matrix into matrix of another size. More...
|
|
ConstSubMatrix< VarR > | operator() (enumerator first_row, enumerator last_row, enumerator first_col, enumerator last_col) const |
| Extract submatrix of a matrix for in-place manipulation of elements. More...
|
|
ConstBlockOfMatrix< VarR > | BlockOf (enumerator nrows, enumerator ncols, enumerator offset_row, enumerator offset_col) const |
| Define matrix as a part of a matrix of larger size with in-place manipulation of elements. More...
|
|
MatrixDivCoef< VarR, typeB, typename Promote< VarR, typeB >::type > | operator/ (const typeB &coef) const |
| Divide the matrix by a coefficient of a different type. More...
|
|
MatrixDivShellCoef< VarR, shell_expression< A >, typename Promote< VarR, variable >::type > | operator/ (shell_expression< A > const &coef) const |
| Divide the matrix by a coefficient of a different type. More...
|
|
Matrix< typename Promote< VarR, typeB >::type > | operator/ (const AbstractMatrixReadOnly< typeB > &other) const |
| Performs B^{-1}*A, multiplication by inverse matrix from left. More...
|
|
ConstMatrixConcatCols< VarR > | ConcatCols (const AbstractMatrixReadOnly< VarR > &B) const |
| Concatenate B matrix as columns of current matrix. More...
|
|
ConstMatrixConcatCols2< VarR, VarB, typename Promote< VarR, VarB >::type > | ConcatCols (const AbstractMatrixReadOnly< VarB > &B) const |
| Concatenate B matrix as columns of current matrix. More...
|
|
ConstMatrixConcatRows< VarR > | ConcatRows (const AbstractMatrixReadOnly< VarR > &B) const |
| Concatenate B matrix as rows of current matrix. More...
|
|
ConstMatrixConcatRows2< VarR, VarB, typename Promote< VarR, VarB >::type > | ConcatRows (const AbstractMatrixReadOnly< VarB > &B) const |
| Concatenate B matrix as rows of current matrix. More...
|
|
virtual | ~AbstractMatrixReadOnly () |
| Destructor.
|
|