INMOST
A toolkit for distributed mathematical modeling
INMOST::MatrixDifference< VarA, VarB > Class Template Reference
Inheritance diagram for INMOST::MatrixDifference< VarA, VarB >:
Collaboration diagram for INMOST::MatrixDifference< VarA, VarB >:

Public Types

typedef AbstractMatrixReadOnly< typename Promote< VarA, VarB >::type >::enumerator enumerator
 
- Public Types inherited from INMOST::AbstractMatrixReadOnly< Promote< VarA, VarB >::type >
typedef unsigned enumerator
 

Public Member Functions

__INLINE enumerator Rows () const
 Number of rows. More...
 
__INLINE enumerator Cols () const
 Number of columns. More...
 
 MatrixDifference (const AbstractMatrixReadOnly< VarA > &rA, const AbstractMatrixReadOnly< VarB > &rB)
 
 MatrixDifference (const MatrixDifference &b)
 
__INLINE Promote< VarA, VarB >::type compute (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.
 
- Public Member Functions inherited from INMOST::AbstractMatrixReadOnly< Promote< VarA, VarB >::type >
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...
 
Promote< VarA, VarB >::type Det () const
 Matrix determinant.
 
bool SVD (AbstractMatrix< Promote< VarA, VarB >::type > &U, AbstractMatrix< Promote< VarA, VarB >::type > &Sigma, AbstractMatrix< Promote< VarA, VarB >::type > &V, bool order_singular_values=true, bool nonnegative=true) const
 Singular value decomposition. More...
 
bool cSVD (AbstractMatrix< Promote< VarA, VarB >::type > &U, AbstractMatrix< Promote< VarA, VarB >::type > &Sigma, AbstractMatrix< Promote< VarA, VarB >::type > &V) const
 Singular value decomposition. More...
 
ConstMatrixTranspose< Promote< VarA, VarB >::type > Transpose () const
 Transpose current matrix. More...
 
ConstMatrixConjugateTranspose< Promote< VarA, VarB >::type > ConjugateTranspose () const
 Transpose and conjugate current matrix. More...
 
ConstMatrixConjugate< Promote< VarA, VarB >::type > Conjugate () const
 Conjugate current matrix. More...
 
Matrix< typename Promote< Promote< VarA, VarB >::type, typeB >::type > CrossProduct (const AbstractMatrixReadOnly< typeB > &other) const
 Cross-product operation for a vector. More...
 
Matrix< typename Promote< Promote< VarA, VarB >::type, typeB >::type > Transform (const AbstractMatrixReadOnly< typeB > &other) const
 Transformation matrix from current vector to provided vector using shortest arc rotation. More...
 
MatrixDifference< Promote< VarA, VarB >::type, typeB > operator- (const AbstractMatrixReadOnly< typeB > &other) const
 Subtract a matrix. More...
 
MatrixUnaryMinus< Promote< VarA, VarB >::type > operator- () const
 Unary minus. Change sign of each element of the matrix.
 
MatrixSum< Promote< VarA, VarB >::type, typeB > operator+ (const AbstractMatrixReadOnly< typeB > &other) const
 Add a matrix. More...
 
MatrixMul< Promote< VarA, VarB >::type, typeB, typename Promote< Promote< VarA, VarB >::type, typeB >::type > operator* (const AbstractMatrixReadOnly< typeB > &other) const
 Multiply the matrix by another matrix. More...
 
MatrixMulCoef< Promote< VarA, VarB >::type, typeB, typename Promote< Promote< VarA, VarB >::type, typeB >::type > operator* (const typeB &coef) const
 Multiply the matrix by a coefficient. More...
 
MatrixMulShellCoef< Promote< VarA, VarB >::type, shell_expression< A >, typename Promote< Promote< VarA, VarB >::type, variable >::type > operator* (shell_expression< A > const &coef) const
 Multiply the matrix by a coefficient. More...
 
KroneckerProduct< Promote< VarA, VarB >::type, typeB > Kronecker (const AbstractMatrixReadOnly< typeB > &other) const
 Kronecker product, latex symbol \otimes. More...
 
Matrix< Promote< VarA, VarB >::type > Invert (int *ierr=NULL) const
 Inverts matrix using Crout-LU decomposition with full pivoting for maximum element. More...
 
Matrix< Promote< VarA, VarB >::type > CholeskyInvert (int *ierr=NULL) const
 Inverts symmetric positive-definite matrix using Cholesky decomposition.
 
Matrix< typename Promote< Promote< VarA, VarB >::type, 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< Promote< VarA, VarB >::type, 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
 
Promote< VarA, VarB >::type 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< Promote< VarA, VarB >::type, 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< Promote< VarA, VarB >::type, 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< Promote< VarA, VarB >::type >::type FrobeniusNorm () const
 Computes frobenius norm of the matrix. More...
 
Promote< VarA, VarB >::type MaxNorm () const
 Computes maximum absolute value of the matrix. More...
 
Matrix< Promote< VarA, VarB >::type > PseudoInvert (INMOST_DATA_REAL_TYPE tol=0, int *ierr=NULL) const
 Calculates Moore-Penrose pseudo-inverse of the matrix. More...
 
Matrix< Promote< VarA, VarB >::type > Power (INMOST_DATA_REAL_TYPE n, int *ierr=NULL) const
 Calcuate A^n, where n is some real value. More...
 
Matrix< Promote< VarA, VarB >::type > 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< Promote< VarA, VarB >::type, 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< Promote< VarA, VarB >::type > ExtractSubMatrix (enumerator ibeg, enumerator iend, enumerator jbeg, enumerator jend) const
 Extract submatrix of a matrix. More...
 
ConstMatrixRepack< Promote< VarA, VarB >::type > Repack (enumerator rows, enumerator cols) const
 Change representation of the matrix into matrix of another size. More...
 
ConstSubMatrix< Promote< VarA, VarB >::type > 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< Promote< VarA, VarB >::type > 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< Promote< VarA, VarB >::type, typeB, typename Promote< Promote< VarA, VarB >::type, typeB >::type > operator/ (const typeB &coef) const
 Divide the matrix by a coefficient of a different type. More...
 
MatrixDivShellCoef< Promote< VarA, VarB >::type, shell_expression< A >, typename Promote< Promote< VarA, VarB >::type, variable >::type > operator/ (shell_expression< A > const &coef) const
 Divide the matrix by a coefficient of a different type. More...
 
Matrix< typename Promote< Promote< VarA, VarB >::type, typeB >::type > operator/ (const AbstractMatrixReadOnly< typeB > &other) const
 Performs B^{-1}*A, multiplication by inverse matrix from left. More...
 
ConstMatrixConcatCols< Promote< VarA, VarB >::type > ConcatCols (const AbstractMatrixReadOnly< Promote< VarA, VarB >::type > &B) const
 Concatenate B matrix as columns of current matrix. More...
 
ConstMatrixConcatCols2< Promote< VarA, VarB >::type, VarB, typename Promote< Promote< VarA, VarB >::type, VarB >::type > ConcatCols (const AbstractMatrixReadOnly< VarB > &B) const
 Concatenate B matrix as columns of current matrix. More...
 
ConstMatrixConcatRows< Promote< VarA, VarB >::type > ConcatRows (const AbstractMatrixReadOnly< Promote< VarA, VarB >::type > &B) const
 Concatenate B matrix as rows of current matrix. More...
 
ConstMatrixConcatRows2< Promote< VarA, VarB >::type, VarB, typename Promote< Promote< VarA, VarB >::type, VarB >::type > ConcatRows (const AbstractMatrixReadOnly< VarB > &B) const
 Concatenate B matrix as rows of current matrix. More...
 
virtual ~AbstractMatrixReadOnly ()
 Destructor.
 

Additional Inherited Members

- Static Protected Attributes inherited from INMOST::AbstractMatrixBase
static thread_private< Sparse::RowMergermerger
 

Detailed Description

template<typename VarA, typename VarB>
class INMOST::MatrixDifference< VarA, VarB >

Definition at line 2590 of file inmost_dense.h.

Member Function Documentation

◆ Cols()

template<typename VarA , typename VarB >
__INLINE enumerator INMOST::MatrixDifference< VarA, VarB >::Cols ( ) const
inlinevirtual

Number of columns.

Returns
Number of columns.

Implements INMOST::AbstractMatrixReadOnly< Promote< VarA, VarB >::type >.

Definition at line 2605 of file inmost_dense.h.

◆ compute()

template<typename VarA , typename VarB >
__INLINE Promote<VarA, VarB>::type INMOST::MatrixDifference< VarA, VarB >::compute ( enumerator  i,
enumerator  j 
) const
inlinevirtual

Access element of the matrix by row and column indices without right to change the element.

Parameters
iColumn index.
jRow index.
Returns
Reference to constant element.

Implements INMOST::AbstractMatrixReadOnly< Promote< VarA, VarB >::type >.

Definition at line 2618 of file inmost_dense.h.

◆ Rows()

template<typename VarA , typename VarB >
__INLINE enumerator INMOST::MatrixDifference< VarA, VarB >::Rows ( ) const
inlinevirtual

Number of rows.

Returns
Number of rows.

Implements INMOST::AbstractMatrixReadOnly< Promote< VarA, VarB >::type >.

Definition at line 2602 of file inmost_dense.h.


The documentation for this class was generated from the following files: