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

## Public Types

Public Types inherited from INMOST::AbstractMatrixReadOnly< VarR >
typedef unsigned enumerator

## Public Member Functions

__INLINE enumerator Rows () const
Number of rows. More...

__INLINE enumerator Cols () const
Number of columns. More...

ConstMatrixConcatRows2 (const ConstMatrixConcatRows2 &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 INMOST_DATA_ENUM_TYPE GetMatrixCount () const
Retrieve number of indices of derivatives.

Public Member Functions inherited from INMOST::AbstractMatrixReadOnly< VarR >
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

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...

Destructor.

Static Protected Attributes inherited from INMOST::AbstractMatrixBase

## Detailed Description

### template<typename VarA, typename VarB, typename VarR> class INMOST::ConstMatrixConcatRows2< VarA, VarB, VarR >

Definition at line 2827 of file inmost_dense.h.

## ◆ Cols()

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

Number of columns.

Returns
Number of columns.

Definition at line 2842 of file inmost_dense.h.

## ◆ compute()

template<typename VarA , typename VarB , typename VarR >
 __INLINE VarR INMOST::ConstMatrixConcatRows2< VarA, VarB, VarR >::compute ( enumerator i, enumerator j ) const
inline

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

Parameters
 i Row index. j Column index.
Returns
Reference to constant element.

Definition at line 2853 of file inmost_dense.h.

## ◆ Rows()

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

Number of rows.

Returns
Number of rows.