INMOST
Mathematical Modelling Toolkit
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
INMOST::Matrix< Var > Class Template Reference

#include <inmost_dense.h>

Collaboration diagram for INMOST::Matrix< Var >:

Public Types

typedef unsigned enumerator
 

Public Member Functions

void Swap (Matrix &b)
 
bool SVD (Matrix &U, Matrix &Sigma, Matrix &VT)
 
 Matrix (Var *pspace, enumerator pn, enumerator pm)
 
 Matrix (enumerator pn, enumerator pm)
 
 Matrix (const Matrix &other)
 
 ~Matrix ()
 
void Resize (enumerator nrows, enumerator mcols)
 
Matrixoperator= (Matrix const &other)
 
Var & operator() (enumerator i, enumerator j)
 
Var operator() (enumerator i, enumerator j) const
 
Matrix operator- () const
 
template<typename typeB >
Matrix< typename Promote< Var,
typeB >::type > 
operator- (const Matrix< typeB > &other) const
 
Matrixoperator-= (const Matrix &other)
 
template<typename typeB >
Matrix< typename Promote< Var,
typeB >::type > 
operator+ (const Matrix< typeB > &other) const
 
Matrixoperator+= (const Matrix &other)
 
template<typename typeB >
Matrix< typename Promote< Var,
typeB >::type > 
operator* (typeB coef) const
 
Matrixoperator*= (Var coef)
 
template<typename typeB >
Matrix< typename Promote< Var,
typeB >::type > 
operator/ (typeB coef) const
 
Matrixoperator/= (Var coef)
 
template<typename typeB >
Matrix< typename Promote< Var,
typeB >::type > 
operator* (const Matrix< typeB > &other) const
 
template<typename typeB >
Matrix< typename Promote< Var,
typeB >::type > 
operator/ (const Matrix< typeB > &other) const
 
Matrix Transpose () const
 
std::pair< Matrix, boolInvert () const
 
void Zero ()
 
Var Trace () const
 
Var * data ()
 
const Var * data () const
 
enumerator Rows () const
 
enumerator Cols () const
 
void Print (INMOST_DATA_REAL_TYPE threshold=1.0e-10) const
 
bool isSymmetric () const
 
Var DotProduct (const Matrix &other) const
 
Var FrobeniusNorm ()
 

Static Public Member Functions

static Matrix< Var > FromTensor (Var *K, enumerator size)
 
static Matrix< Var > FromVector (Var *n, enumerator size)
 
static Matrix< Var > FromDiagonal (Var *r, enumerator size)
 
static Matrix< Var > FromDiagonalInverse (Var *r, enumerator size)
 
static Matrix Unit (enumerator pn)
 

Static Protected Member Functions

static Var sign_func (const Var &a, const Var &b)
 
static Var max_func (const Var &x, const Var &y)
 
static Var pythag (const Var &a, const Var &b)
 

Protected Attributes

array< Var > space
 
enumerator n
 
enumerator m
 

Detailed Description

template<typename Var>
class INMOST::Matrix< Var >

Definition at line 35 of file inmost_dense.h.

Member Typedef Documentation

template<typename Var>
typedef unsigned INMOST::Matrix< Var >::enumerator

Definition at line 38 of file inmost_dense.h.

Constructor & Destructor Documentation

template<typename Var>
INMOST::Matrix< Var >::Matrix ( Var *  pspace,
enumerator  pn,
enumerator  pm 
)
inline

Definition at line 317 of file inmost_dense.h.

Here is the caller graph for this function:

template<typename Var>
INMOST::Matrix< Var >::Matrix ( enumerator  pn,
enumerator  pm 
)
inline

Definition at line 318 of file inmost_dense.h.

template<typename Var>
INMOST::Matrix< Var >::Matrix ( const Matrix< Var > &  other)
inline

Definition at line 319 of file inmost_dense.h.

template<typename Var>
INMOST::Matrix< Var >::~Matrix ( )
inline

Definition at line 324 of file inmost_dense.h.

Member Function Documentation

template<typename Var>
enumerator INMOST::Matrix< Var >::Cols ( ) const
inline

Definition at line 594 of file inmost_dense.h.

Here is the caller graph for this function:

template<typename Var>
Var* INMOST::Matrix< Var >::data ( )
inline

Definition at line 591 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
const Var* INMOST::Matrix< Var >::data ( ) const
inline

Definition at line 592 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
Var INMOST::Matrix< Var >::DotProduct ( const Matrix< Var > &  other) const
inline

Definition at line 621 of file inmost_dense.h.

template<typename Var>
Var INMOST::Matrix< Var >::FrobeniusNorm ( )
inline

Definition at line 629 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
static Matrix<Var> INMOST::Matrix< Var >::FromDiagonal ( Var *  r,
enumerator  size 
)
inlinestatic

Definition at line 677 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
static Matrix<Var> INMOST::Matrix< Var >::FromDiagonalInverse ( Var *  r,
enumerator  size 
)
inlinestatic

Definition at line 685 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
static Matrix<Var> INMOST::Matrix< Var >::FromTensor ( Var *  K,
enumerator  size 
)
inlinestatic

Definition at line 635 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
static Matrix<Var> INMOST::Matrix< Var >::FromVector ( Var *  n,
enumerator  size 
)
inlinestatic

Definition at line 672 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
std::pair<Matrix,bool> INMOST::Matrix< Var >::Invert ( ) const
inline

Definition at line 469 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
bool INMOST::Matrix< Var >::isSymmetric ( ) const
inline

Definition at line 610 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
static Var INMOST::Matrix< Var >::max_func ( const Var &  x,
const Var &  y 
)
inlinestaticprotected

Definition at line 45 of file inmost_dense.h.

Here is the caller graph for this function:

template<typename Var>
Var& INMOST::Matrix< Var >::operator() ( enumerator  i,
enumerator  j 
)
inline

Definition at line 343 of file inmost_dense.h.

template<typename Var>
Var INMOST::Matrix< Var >::operator() ( enumerator  i,
enumerator  j 
) const
inline

Definition at line 350 of file inmost_dense.h.

template<typename Var>
template<typename typeB >
Matrix<typename Promote<Var,typeB>::type> INMOST::Matrix< Var >::operator* ( typeB  coef) const
inline

Definition at line 396 of file inmost_dense.h.

template<typename Var>
template<typename typeB >
Matrix<typename Promote<Var,typeB>::type> INMOST::Matrix< Var >::operator* ( const Matrix< typeB > &  other) const
inline

Definition at line 420 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
Matrix& INMOST::Matrix< Var >::operator*= ( Var  coef)
inline

Definition at line 402 of file inmost_dense.h.

template<typename Var>
template<typename typeB >
Matrix<typename Promote<Var,typeB>::type> INMOST::Matrix< Var >::operator+ ( const Matrix< typeB > &  other) const
inline

Definition at line 380 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
Matrix& INMOST::Matrix< Var >::operator+= ( const Matrix< Var > &  other)
inline

Definition at line 388 of file inmost_dense.h.

template<typename Var>
Matrix INMOST::Matrix< Var >::operator- ( ) const
inline

Definition at line 357 of file inmost_dense.h.

template<typename Var>
template<typename typeB >
Matrix<typename Promote<Var,typeB>::type> INMOST::Matrix< Var >::operator- ( const Matrix< typeB > &  other) const
inline

Definition at line 364 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
Matrix& INMOST::Matrix< Var >::operator-= ( const Matrix< Var > &  other)
inline

Definition at line 372 of file inmost_dense.h.

template<typename Var>
template<typename typeB >
Matrix<typename Promote<Var,typeB>::type> INMOST::Matrix< Var >::operator/ ( typeB  coef) const
inline

Definition at line 408 of file inmost_dense.h.

template<typename Var>
template<typename typeB >
Matrix<typename Promote<Var,typeB>::type> INMOST::Matrix< Var >::operator/ ( const Matrix< typeB > &  other) const
inline

performs A*B^{-1} checks existence of B^{-1} only in debug mode.

Definition at line 439 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
Matrix& INMOST::Matrix< Var >::operator/= ( Var  coef)
inline

Definition at line 414 of file inmost_dense.h.

template<typename Var>
Matrix& INMOST::Matrix< Var >::operator= ( Matrix< Var > const &  other)
inline

Definition at line 332 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
void INMOST::Matrix< Var >::Print ( INMOST_DATA_REAL_TYPE  threshold = 1.0e-10) const
inline

Definition at line 595 of file inmost_dense.h.

Here is the call graph for this function:

template<typename Var>
static Var INMOST::Matrix< Var >::pythag ( const Var &  a,
const Var &  b 
)
inlinestaticprotected

Definition at line 46 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
void INMOST::Matrix< Var >::Resize ( enumerator  nrows,
enumerator  mcols 
)
inline

Definition at line 325 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
enumerator INMOST::Matrix< Var >::Rows ( ) const
inline

Definition at line 593 of file inmost_dense.h.

Here is the caller graph for this function:

template<typename Var>
static Var INMOST::Matrix< Var >::sign_func ( const Var &  a,
const Var &  b 
)
inlinestaticprotected

Definition at line 44 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
bool INMOST::Matrix< Var >::SVD ( Matrix< Var > &  U,
Matrix< Var > &  Sigma,
Matrix< Var > &  VT 
)
inline

Definition at line 61 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
void INMOST::Matrix< Var >::Swap ( Matrix< Var > &  b)
inline

Definition at line 55 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
Var INMOST::Matrix< Var >::Trace ( ) const
inline

Definition at line 584 of file inmost_dense.h.

template<typename Var>
Matrix INMOST::Matrix< Var >::Transpose ( ) const
inline

Definition at line 457 of file inmost_dense.h.

Here is the caller graph for this function:

template<typename Var>
static Matrix INMOST::Matrix< Var >::Unit ( enumerator  pn)
inlinestatic

Definition at line 693 of file inmost_dense.h.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename Var>
void INMOST::Matrix< Var >::Zero ( )
inline

Definition at line 580 of file inmost_dense.h.

Here is the caller graph for this function:

Member Data Documentation

template<typename Var>
enumerator INMOST::Matrix< Var >::m
protected

Definition at line 41 of file inmost_dense.h.

template<typename Var>
enumerator INMOST::Matrix< Var >::n
protected

Definition at line 41 of file inmost_dense.h.

template<typename Var>
array<Var> INMOST::Matrix< Var >::space
protected

Definition at line 40 of file inmost_dense.h.


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