DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Public Types | Public Member Functions | List of all members
utl::NDArray< T, 2 > Class Template Reference

#include <utlMatrix.h>

+ Inheritance diagram for utl::NDArray< T, 2 >:
+ Collaboration diagram for utl::NDArray< T, 2 >:

Detailed Description

template<class T>
class utl::NDArray< T, 2 >

NDArray<T,2> is a row-major matrix.

Author
Jian Cheng (JC), jian..nosp@m.chen.nosp@m.g.198.nosp@m.3@gm.nosp@m.ail.c.nosp@m.om
Date
08-23-2014

Definition at line 37 of file utlMatrix.h.

Public Types

typedef Superclass::ConstIterator ConstIterator
 
typedef Superclass::ConstPointer ConstPointer
 
typedef Superclass::ConstReference ConstReference
 
typedef Superclass::Iterator Iterator
 
typedef Superclass::Pointer Pointer
 
typedef Superclass::Reference Reference
 
typedef Superclass::ScalarValueType ScalarValueType
 
typedef NDArray Self
 
typedef Superclass::ShapeType ShapeType
 
typedef Superclass::SizeType SizeType
 
typedef NDArrayBase< T, 2 > Superclass
 
typedef Superclass::ValueType ValueType
 
- Public Types inherited from utl::NDArrayBase< T, 2 >
enum  
 
typedef const ValueTypeConstIterator
 
typedef const ValueTypeConstPointer
 
typedef const ValueTypeConstReference
 
typedef ValueTypeIterator
 
typedef ValueTypePointer
 
typedef ValueTypeReference
 
typedef utl::remove_complex_t< T > ScalarValueType
 
typedef NDArrayBase Self
 
typedef Superclass::ShapeType ShapeType
 
typedef Superclass::SizeType SizeType
 
typedef Expr< NDArrayBase< T, Dim >, T > Superclass
 
typedef T ValueType
 
- Public Types inherited from utl::Expr< NDArrayBase< T, Dim >, T >
typedef SizeType const * ShapeType
 
typedef unsigned int SizeType
 
typedef T ValueType
 

Public Member Functions

SizeType Cols () const
 
SizeType Columns () const
 
void CopyData (T *const data, const unsigned rows, const unsigned cols)
 
Determinant () const
 
void EigenDecompositionNonSymmetricMatrix (NDArray< T, 1 > &valReal, NDArray< T, 1 > &valImg) const
 
void EigenDecompositionNonSymmetricMatrix (NDArray< T, 1 > &valReal, NDArray< T, 1 > &valImg, NDArray< T, 2 > &vecRealR, NDArray< T, 2 > &vecImgR) const
 
void EigenDecompositionNonSymmetricMatrix (NDArray< T, 1 > &valReal, NDArray< T, 1 > &valImg, NDArray< T, 2 > &vecRealR, NDArray< T, 2 > &vecImgR, NDArray< T, 2 > &vecRealL, NDArray< T, 2 > &vecImgL) const
 
void EigenDecompositionSymmetricMatrix (NDArray< T, 1 > &eigenValues, NDArray< T, 2 > &eigenVectors) const
 
NDArray< T, 2 > ExpM ()
 
NDArray< T, 2 > & FillDiagonal (const T val)
 
double GetArrayInfNorm () const
 
double GetArrayOneNorm () const
 
double GetArrayTwoNorm () const
 
int GetArrayZeroNorm () const
 
void GetColumn (const int index, T *vec) const
 
NDArray< T, 1 > GetColumn (const int index) const
 
NDArray< T, 2 > GetColumns (const std::vector< int > &indexVec) const
 
NDArray< T, 2 > GetConjugateTranspose (const T scale=1.0) const
 
NDArray< T, 2 > GetCrop (const int x0, const int x1, const int y0, const int y1) const
 
void GetDiagonal (NDArray< T, 1 > &vec) const
 
double GetInfNorm () const
 
NDArray< T, 2 > GetNColumns (const int index0, const int N) const
 
NDArray< T, 2 > GetNRows (const int index0, const int N) const
 
double GetOneNorm () const
 
void GetRow (const int index, T *vec) const
 
NDArray< T, 1 > GetRow (const int index) const
 
NDArray< T, 2 > GetRows (const std::vector< int > &indexVec) const
 
NDArray< T, 2 > GetTranspose (const T scale=1.0) const
 
double GetTwoNorm () const
 
NDArray< T, 2 > InverseMatrix (const double eps=1e-10)
 
NDArray< T, 2 > InverseSymmericMatrix (const double eps=1e-10)
 
bool IsSquareMatrix () const
 
bool IsSymmetric (const double eps=1e-10) const
 
NDArray< T, 2 > LogM ()
 
 NDArray ()
 
 NDArray (const SizeType rows, const SizeType columns)
 
 NDArray (const NDArray< T, 2 > &mat)
 
 NDArray (NDArray< T, 2 > &&mat)
 
template<typename EType >
 NDArray (const Expr< EType, typename EType::ValueType > &expr)
 
 NDArray (const T *vec, const SizeType rows, const SizeType columns)
 
 NDArray (const SizeType rows, const SizeType columns, const T r)
 
template<typename TMatrixValueType >
 NDArray (const NDArray< TMatrixValueType, 2 > &r)
 
 NDArray (const ShapeType &shape)
 
 NDArray (const T *vec, const ShapeType &shape)
 
 NDArray (const ShapeType &shape, const T r)
 
T & operator() (unsigned int row, unsigned int col)
 
const T & operator() (unsigned int row, unsigned int col) const
 
NDArray< T, 2 > & operator= (NDArray< T, 2 > &r)
 
NDArray< T, 2 > & operator= (NDArray< T, 2 > &&r)
 
NDArray< T, 2 > PInverseMatrix (const double eps=1e-10)
 
NDArray< T, 2 > PInverseSymmericMatrix (const double eps=1e-10)
 
bool ReSize (const SizeType rows, const SizeType cols)
 
SizeType Rows () const
 
void Save (const std::string &file) const
 
NDArray< T, 2 > & SetColumn (const int index, T const *vec)
 
NDArray< T, 2 > & SetColumn (const int index, const NDArray< T, 1 > &vec)
 
NDArray< T, 2 > & SetColumns (const std::vector< int > &indexVec, const NDArray< T, 2 > &mat)
 
NDArray< T, 2 > & SetCrop (const int x0, const int x1, const int y0, const int y1, const NDArray< T, 2 > &mat)
 
void SetData (T *const data, const unsigned rows, const unsigned cols)
 
NDArray< T, 2 > & SetDiagonal (const NDArray< T, 1 > &vec)
 
NDArray< T, 2 > SetIdentity ()
 
NDArray< T, 2 > & SetRow (const int index, T const *vec)
 
NDArray< T, 2 > & SetRow (const int index, const NDArray< T, 1 > &vec)
 
NDArray< T, 2 > & SetRows (const std::vector< int > &indexVec, const NDArray< T, 2 > &mat)
 
void SVD (NDArray< T, 2 > &U, NDArray< ScalarValueType, 1 > &S, NDArray< T, 2 > &V, char format='S') const
 
void Symmetrize ()
 
NDArray< T, 2 > & TransposeInplace (const T scale=1.0)
 
- Public Member Functions inherited from utl::NDArrayBase< T, 2 >
 __Array_Saver_Scalar (+=) __Array_Saver_Scalar(-
 
AbsoluteMaxValue () const
 
AbsoluteMinValue () const
 
void Apply (const FuncT &func, NDArrayBase< T, Dim > &vec) const
 
void Apply (T(*f)(T), NDArrayBase< T, Dim > &vec) const
 
void Apply (T(*f)(T const &), NDArrayBase< T, Dim > &vec) const
 
unsigned ArgAbsoluteMax () const
 
unsigned ArgAbsoluteMin () const
 
unsigned ArgMax () const
 
unsigned ArgMin () const
 
Reference Back ()
 
ConstReference Back () const
 
Iterator Begin ()
 
ConstIterator Begin () const
 
ConstIterator cBegin () const
 
ConstIterator cEnd () const
 
void Clear ()
 
void CopyData (T *const data, const ShapeType &shape)
 
NDArrayBase< T, Dim > & CopyIn (T const *ptr, const int size, const int start=0)
 
void CopyOut (T *ptr, const int size, const int start=0) const
 
ConstReverseIterator crBegin () const
 
ConstReverseIterator crEnd () const
 
NDArrayBase< T, Dim > & ElementAbsolute (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementAbsolute (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementAdd (T *const vec, T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementAxpby (T *const vec, const T alpha, const T beta)
 
NDArrayBase< T, Dim > & ElementCos (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementCos (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementDivide (T *const vec, T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementExp (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementExp (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementInverse (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementInverse (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementMultiply (T *const vec, T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementSin (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementSin (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementSqrt (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementSqrt (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementSquare (T *outVec=NULL)
 
NDArrayBase< T, Dim > & ElementSquare (NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & ElementSubstract (T *const vec, T *outVec=NULL)
 
Iterator End ()
 
ConstIterator End () const
 
Eval (int i) const
 
void Fill (const T &value)
 
NDArrayBase< T, Dim > & Flip ()
 
T * GetData ()
 
const T * GetData () const
 
ConstReference GetElement (unsigned short index) const
 
NDArrayBase< T, Dim > GetElementAbsolute () const
 
NDArrayBase< T, Dim > GetElementCos () const
 
NDArrayBase< T, Dim > GetElementExp () const
 
NDArrayBase< T, Dim > GetElementInverse () const
 
NDArrayBase< T, Dim > GetElementSin () const
 
NDArrayBase< T, Dim > GetElementSqrt () const
 
NDArrayBase< T, Dim > GetElementSquare () const
 
void GetIndex (const SizeType offset, SizeType index[Dimension]) const
 
double GetInfNorm () const
 
bool GetIsShared () const
 
GetMean () const
 
GetMedian () const
 
SizeType GetOffset (const ShapeType &shapeIndex) const
 
const SizeTypeGetOffSetTable () const
 
double GetOneNorm () const
 
NDArray< T, SubDimensionGetRefSubArray (const int i) const
 
NDArray< T, Dim > GetRefSubArray (const int istart, const int iend) const
 
double GetRootMeanSquares () const
 
const ShapeType GetShape () const
 
SizeType GetSize () const
 
double GetSquaredTwoNorm () const
 
GetSum () const
 
double GetTwoNorm () const
 
int GetZeroNorm (const double eps=1e-10) const
 
void HardThreshold (const double threshold)
 
ValueType InnerProduct (const NDArrayBase< T, Dim > &vec) const
 
bool IsEmpty () const
 
bool IsEqual (const NDArrayBase< T, Dim > &r, const double eps) const
 
bool IsSameShape (const EType &src) const
 
bool IsSameShape (const ShapeType &shape) const
 
bool IsSameSize (const ShapeType &shape) const
 
bool IsSameValues (const NDArrayBase< T, Dim > &r, const double eps) const
 
bool IsZero () const
 
MaxValue () const
 
MinValue () const
 
 NDArrayBase ()
 
 NDArrayBase (const ShapeType &shape)
 
 NDArrayBase (const NDArrayBase< T, Dim > &vec)
 
 NDArrayBase (NDArrayBase< T, Dim > &&vec)
 
 NDArrayBase (const Expr< EType, typename EType::ValueType > &expr)
 
 NDArrayBase (const T *vec, const ShapeType &shape)
 
 NDArrayBase (const ShapeType &shape, const T r)
 
 NDArrayBase (const NDArrayBase< TValue, Dim > &r)
 
int NNZ (const double eps=1e-10) const
 
NDArrayBase< T, Dim > & operator saver (const T val)
 
bool operator!= (const NDArrayBase< T, Dim > &r) const
 
NDArrayBase< T, Dim > & operator%= (const Expr< EType, typename EType::ValueType > &src)
 
NDArrayBase< T, Dim > & operator%= (const NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & operator%= (const T val)
 
Reference operator() (const ShapeType &shape)
 
ConstReference operator() (const ShapeType &shape) const
 
NDArrayBase< T, Dim > & operator+= (const Expr< EType, typename EType::ValueType > &src)
 
NDArrayBase< T, Dim > & operator+= (const NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & operator-= (const Expr< EType, typename EType::ValueType > &src)
 
NDArrayBase< T, Dim > & operator-= (const NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & operator/= (const Expr< EType, typename EType::ValueType > &src)
 
NDArrayBase< T, Dim > & operator/= (const NDArrayBase< T, Dim > &vec)
 
NDArrayBase< T, Dim > & operator/= (const T val)
 
NDArrayBase< T, Dim > & operator= (const Expr< EType, typename EType::ValueType > &src)
 
Dim & operator= (const NDArrayBase< T, Dim > &r)
 
NDArrayBase< T, Dim > & operator= (NDArrayBase< T, Dim > &&r)
 
NDArrayBase< T, Dim > & operator= (const NDArrayBase< TValueType, Dim > &r)
 
NDArrayBase< T, Dim > & operator= (const std::initializer_list< T > &r)
 
NDArrayBase< T, Dim > & operator= (const std::vector< T > &r)
 
NDArrayBase< T, Dim > & operator= (const T r)
 
bool operator== (const NDArrayBase< T, Dim > &r) const
 
Reference operator[] (short index)
 
ConstReference operator[] (short index) const
 
Reference operator[] (unsigned short index)
 
ConstReference operator[] (unsigned short index) const
 
Reference operator[] (int index)
 
ConstReference operator[] (int index) const
 
Reference operator[] (unsigned int index)
 
ConstReference operator[] (unsigned int index) const
 
Reference operator[] (long index)
 
ConstReference operator[] (long index) const
 
Reference operator[] (unsigned long index)
 
ConstReference operator[] (unsigned long index) const
 
Reference operator[] (long long index)
 
ConstReference operator[] (long long index) const
 
Reference operator[] (unsigned long long index)
 
ConstReference operator[] (unsigned long long index) const
 
void Print (std::ostream &os, const char *separate=" ") const
 
void PrintInfo (std::ostream &os, const char *separate=" ") const
 
void PrintWithIndex (std::ostream &os, const char *separate=" ") const
 
ReverseIterator rBegin ()
 
ConstReverseIterator rBegin () const
 
ReverseIterator rEnd ()
 
ConstReverseIterator rEnd () const
 
NDArrayBase< T, Dim > & ReShape (const ShapeType &shape)
 
bool ReSize (const ShapeType &shape)
 
NDArrayBase< T, Dim > & Scale (const T a)
 
void SetData (T *const data, const ShapeType &shape)
 
void SetElement (unsigned short index, ConstReference value)
 
SizeType Size () const
 
void SoftThreshold (const double threshold)
 
void Swap (NDArrayBase< T, Dim > &vec)
 
 ~NDArrayBase ()
 
- Public Member Functions inherited from utl::Expr< NDArrayBase< T, Dim >, T >
const NDArrayBase< T, Dim > & ConstRef (void) const
 
const ShapeType GetShape () const
 
NDArrayBase< T, Dim > & Ref (void)
 

Additional Inherited Members

- Static Public Member Functions inherited from utl::NDArrayBase< T, 2 >
static constexpr SizeType GetDimension ()
 
- Static Public Member Functions inherited from utl::Expr< NDArrayBase< T, Dim >, T >
static SizeType GetDimension ()
 
- Static Public Attributes inherited from utl::NDArrayBase< T, 2 >
static constexpr SizeType SubDimension
 
- Protected Member Functions inherited from utl::NDArrayBase< T, 2 >
void ClearData ()
 
void ClearShape ()
 
void ComputeOffSetTable ()
 
- Protected Attributes inherited from utl::NDArrayBase< T, 2 >
T * m_Data
 
bool m_IsShared
 
SizeType m_OffSetTable [Dimension]
 
SizeType m_Shape [Dimension]
 

Member Typedef Documentation

template<class T>
typedef Superclass::ConstIterator utl::NDArray< T, 2 >::ConstIterator

Definition at line 53 of file utlMatrix.h.

template<class T>
typedef Superclass::ConstPointer utl::NDArray< T, 2 >::ConstPointer

Definition at line 49 of file utlMatrix.h.

template<class T>
typedef Superclass::ConstReference utl::NDArray< T, 2 >::ConstReference

Definition at line 51 of file utlMatrix.h.

template<class T>
typedef Superclass::Iterator utl::NDArray< T, 2 >::Iterator

Definition at line 52 of file utlMatrix.h.

template<class T>
typedef Superclass::Pointer utl::NDArray< T, 2 >::Pointer

Definition at line 48 of file utlMatrix.h.

template<class T>
typedef Superclass::Reference utl::NDArray< T, 2 >::Reference

Definition at line 50 of file utlMatrix.h.

template<class T>
typedef Superclass::ScalarValueType utl::NDArray< T, 2 >::ScalarValueType

Definition at line 44 of file utlMatrix.h.

template<class T>
typedef NDArray utl::NDArray< T, 2 >::Self

Definition at line 40 of file utlMatrix.h.

template<class T>
typedef Superclass::ShapeType utl::NDArray< T, 2 >::ShapeType

Definition at line 47 of file utlMatrix.h.

template<class T>
typedef Superclass::SizeType utl::NDArray< T, 2 >::SizeType

Definition at line 46 of file utlMatrix.h.

template<class T>
typedef NDArrayBase<T,2> utl::NDArray< T, 2 >::Superclass

Definition at line 41 of file utlMatrix.h.

template<class T>
typedef Superclass::ValueType utl::NDArray< T, 2 >::ValueType

Definition at line 43 of file utlMatrix.h.

Constructor & Destructor Documentation

template<class T>
utl::NDArray< T, 2 >::NDArray ( )
inline

Definition at line 68 of file utlMatrix.h.

template<class T>
utl::NDArray< T, 2 >::NDArray ( const SizeType  rows,
const SizeType  columns 
)
inlineexplicit

Definition at line 70 of file utlMatrix.h.

References __utl_ndarray_alloc_blah.

template<class T>
utl::NDArray< T, 2 >::NDArray ( const NDArray< T, 2 > &  mat)
inline

Definition at line 76 of file utlMatrix.h.

template<class T>
utl::NDArray< T, 2 >::NDArray ( NDArray< T, 2 > &&  mat)
inline

Definition at line 79 of file utlMatrix.h.

References utl::NDArray< T, Dim >::operator=().

+ Here is the call graph for this function:

template<class T>
template<typename EType >
utl::NDArray< T, 2 >::NDArray ( const Expr< EType, typename EType::ValueType > &  expr)
inline

Definition at line 85 of file utlMatrix.h.

template<class T>
utl::NDArray< T, 2 >::NDArray ( const T *  vec,
const SizeType  rows,
const SizeType  columns 
)
inline

Definition at line 87 of file utlMatrix.h.

References __utl_ndarray_alloc_blah, utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::Size().

+ Here is the call graph for this function:

template<class T>
utl::NDArray< T, 2 >::NDArray ( const SizeType  rows,
const SizeType  columns,
const T  r 
)
inline

Definition at line 94 of file utlMatrix.h.

References __utl_ndarray_alloc_blah, and utl::NDArrayBase< T, Dim >::Fill().

+ Here is the call graph for this function:

template<class T>
template<typename TMatrixValueType >
utl::NDArray< T, 2 >::NDArray ( const NDArray< TMatrixValueType, 2 > &  r)
inline

Definition at line 103 of file utlMatrix.h.

template<class T>
utl::NDArray< T, 2 >::NDArray ( const ShapeType shape)
inlineexplicit

Definition at line 106 of file utlMatrix.h.

template<class T>
utl::NDArray< T, 2 >::NDArray ( const T *  vec,
const ShapeType shape 
)
inline

Constructor assumes input points to array of correct size. Values are copied individually instead of with a binary copy. This allows the T's assignment operator to be executed.

Definition at line 113 of file utlMatrix.h.

template<class T>
utl::NDArray< T, 2 >::NDArray ( const ShapeType shape,
const T  r 
)
inline

Constructor to initialize entire array to one value.

Definition at line 118 of file utlMatrix.h.

Member Function Documentation

template<class T>
SizeType utl::NDArray< T, 2 >::Cols ( ) const
inline
template<class T>
SizeType utl::NDArray< T, 2 >::Columns ( ) const
inline
template<class T>
void utl::NDArray< T, 2 >::CopyData ( T *const  data,
const unsigned  rows,
const unsigned  cols 
)
inline

copy m_Data from data

Definition at line 198 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::CopyData().

Referenced by utl::VnlMatrixToUtlMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
T utl::NDArray< T, 2 >::Determinant ( ) const
inline
template<class T>
void utl::NDArray< T, 2 >::EigenDecompositionNonSymmetricMatrix ( NDArray< T, 1 > &  valReal,
NDArray< T, 1 > &  valImg 
) const
inline

Definition at line 408 of file utlMatrix.h.

References utl::geev_UtlMatrix().

Referenced by utl::NDArray< T, 4 >::EigenDecompositionWithMinorSymmetry().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
void utl::NDArray< T, 2 >::EigenDecompositionNonSymmetricMatrix ( NDArray< T, 1 > &  valReal,
NDArray< T, 1 > &  valImg,
NDArray< T, 2 > &  vecRealR,
NDArray< T, 2 > &  vecImgR 
) const
inline

Definition at line 412 of file utlMatrix.h.

References utl::geev_UtlMatrix().

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::EigenDecompositionNonSymmetricMatrix ( NDArray< T, 1 > &  valReal,
NDArray< T, 1 > &  valImg,
NDArray< T, 2 > &  vecRealR,
NDArray< T, 2 > &  vecImgR,
NDArray< T, 2 > &  vecRealL,
NDArray< T, 2 > &  vecImgL 
) const
inline

Definition at line 416 of file utlMatrix.h.

References utl::geev_UtlMatrix().

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::EigenDecompositionSymmetricMatrix ( NDArray< T, 1 > &  eigenValues,
NDArray< T, 2 > &  eigenVectors 
) const
inline

Eigen-decomposition for symmetric matrix.

Parameters
eigenValuesEigen-values are in increasing order.
eigenVectorsEigen-vectors. each row is an eigen-vector

Definition at line 396 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape, and utlSAException.

Referenced by utl::MeanDirector(), and utl::PInverseSymmericMatrix().

+ Here is the caller graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::ExpM ( )
inline

Assume the matrix is symmetric

Definition at line 523 of file utlMatrix.h.

References utl::NDArray< T, 1 >::GetDiagonalMatrix(), GetTranspose(), and utl::NDArrayBase< T, Dim >::Size().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::FillDiagonal ( const T  val)
inline

set diagonal values to val

Definition at line 155 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape, and utl::min().

Referenced by utl::Eye().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
double utl::NDArray< T, 2 >::GetArrayInfNorm ( ) const
inline

Definition at line 555 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetInfNorm().

+ Here is the call graph for this function:

template<class T>
double utl::NDArray< T, 2 >::GetArrayOneNorm ( ) const
inline

Definition at line 553 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetOneNorm().

+ Here is the call graph for this function:

template<class T>
double utl::NDArray< T, 2 >::GetArrayTwoNorm ( ) const
inline

Definition at line 554 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetTwoNorm().

+ Here is the call graph for this function:

template<class T>
int utl::NDArray< T, 2 >::GetArrayZeroNorm ( ) const
inline

Definition at line 556 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetZeroNorm().

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::GetColumn ( const int  index,
T *  vec 
) const
inline

Definition at line 277 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Data, utl::NDArrayBase< T, Dim >::m_Shape, and utlSAException.

Referenced by utl::RotationMatrixToAxisAngle(), and SetColumns().

+ Here is the caller graph for this function:

template<class T>
NDArray<T,1> utl::NDArray< T, 2 >::GetColumn ( const int  index) const
inline

Definition at line 282 of file utlMatrix.h.

References utl::GetColumn(), utl::NDArrayBase< T, Dim >::GetData(), and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetColumns ( const std::vector< int > &  indexVec) const
inline

Definition at line 303 of file utlMatrix.h.

References utl::GetColumn(), and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetConjugateTranspose ( const T  scale = 1.0) const
inline

Definition at line 219 of file utlMatrix.h.

References utl::Conj().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetCrop ( const int  x0,
const int  x1,
const int  y0,
const int  y1 
) const
inline

get a submatrix

Parameters
x0starting row index
x1ending row index
y0starting column index
y1ending column index

Definition at line 348 of file utlMatrix.h.

References Cols(), utl::NDArrayBase< T, Dim >::m_Shape, Rows(), and utlSAException.

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::GetDiagonal ( NDArray< T, 1 > &  vec) const
inline

Definition at line 173 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape, utl::min(), and utl::NDArray< T, 1 >::ReSize().

+ Here is the call graph for this function:

template<class T>
double utl::NDArray< T, 2 >::GetInfNorm ( ) const
inline

Definition at line 561 of file utlMatrix.h.

References utl::lange(), utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetNColumns ( const int  index0,
const int  N 
) const
inline

Definition at line 314 of file utlMatrix.h.

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetNRows ( const int  index0,
const int  N 
) const
inline

Definition at line 296 of file utlMatrix.h.

template<class T>
double utl::NDArray< T, 2 >::GetOneNorm ( ) const
inline

Definition at line 559 of file utlMatrix.h.

References utl::lange(), utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::GetRow ( const int  index,
T *  vec 
) const
inline

Definition at line 266 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Data, utl::NDArrayBase< T, Dim >::m_Shape, and utlSAException.

Referenced by utl::MeanDirector(), utl::NormalizeGrad(), and SetRows().

+ Here is the caller graph for this function:

template<class T>
NDArray<T,1> utl::NDArray< T, 2 >::GetRow ( const int  index) const
inline

Definition at line 271 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetData(), utl::GetRow(), and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetRows ( const std::vector< int > &  indexVec) const
inline

Definition at line 289 of file utlMatrix.h.

References utl::GetRow(), and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::GetTranspose ( const T  scale = 1.0) const
inline

Definition at line 205 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Data, utl::NDArrayBase< T, Dim >::m_Shape, and utl::NDArrayBase< T, Dim >::Scale().

Referenced by ExpM(), utl::gesdd_UtlMatrix(), utl::gesvd_UtlMatrix(), utl::GetEqualityConstraintProjection(), and LogM().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
double utl::NDArray< T, 2 >::GetTwoNorm ( ) const
inline

Definition at line 558 of file utlMatrix.h.

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::InverseMatrix ( const double  eps = 1e-10)
inline

Definition at line 436 of file utlMatrix.h.

References utl::InverseMatrix().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::InverseSymmericMatrix ( const double  eps = 1e-10)
inline

Definition at line 421 of file utlMatrix.h.

References utl::InverseSymmericMatrix().

+ Here is the call graph for this function:

template<class T>
bool utl::NDArray< T, 2 >::IsSquareMatrix ( ) const
inline

Definition at line 492 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape.

template<class T>
bool utl::NDArray< T, 2 >::IsSymmetric ( const double  eps = 1e-10) const
inline

Definition at line 497 of file utlMatrix.h.

References spams::abs(), and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::LogM ( )
inline

Assume the matrix is symmetric

Definition at line 537 of file utlMatrix.h.

References utl::NDArray< T, 1 >::GetDiagonalMatrix(), GetTranspose(), utl::NDArrayBase< T, Dim >::Size(), and utlSAException.

Referenced by utl::GetMeanOfRotationMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
T& utl::NDArray< T, 2 >::operator() ( unsigned int  row,
unsigned int  col 
)
inline
template<class T>
const T& utl::NDArray< T, 2 >::operator() ( unsigned int  row,
unsigned int  col 
) const
inline
template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::operator= ( NDArray< T, 2 > &  r)
inline

Definition at line 120 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::operator=().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::operator= ( NDArray< T, 2 > &&  r)
inline

Definition at line 126 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::Clear(), and utl::NDArrayBase< T, Dim >::Swap().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::PInverseMatrix ( const double  eps = 1e-10)
inline

Definition at line 431 of file utlMatrix.h.

References utl::PInverseMatrix().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::PInverseSymmericMatrix ( const double  eps = 1e-10)
inline

Definition at line 426 of file utlMatrix.h.

References utl::PInverseSymmericMatrix().

+ Here is the call graph for this function:

template<class T>
bool utl::NDArray< T, 2 >::ReSize ( const SizeType  rows,
const SizeType  cols 
)
inline
template<class T>
SizeType utl::NDArray< T, 2 >::Rows ( ) const
inline
template<class T>
void utl::NDArray< T, 2 >::Save ( const std::string &  file) const
inline

Definition at line 564 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape.

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetColumn ( const int  index,
T const *  vec 
)
inline
template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetColumn ( const int  index,
const NDArray< T, 1 > &  vec 
)
inline

Definition at line 259 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetData(), utl::NDArrayBase< T, Dim >::m_Shape, utl::NDArrayBase< T, Dim >::Size(), and utlSAException.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetColumns ( const std::vector< int > &  indexVec,
const NDArray< T, 2 > &  mat 
)
inline

Definition at line 331 of file utlMatrix.h.

References GetColumn().

+ Here is the call graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetCrop ( const int  x0,
const int  x1,
const int  y0,
const int  y1,
const NDArray< T, 2 > &  mat 
)
inline

Definition at line 359 of file utlMatrix.h.

References Cols(), utl::NDArrayBase< T, Dim >::m_Shape, Rows(), and utlSAException.

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::SetData ( T *const  data,
const unsigned  rows,
const unsigned  cols 
)
inline

set m_Data from data, the ownership is in data.

Definition at line 190 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::SetData().

Referenced by utl::NDArray< T, 4 >::GetRefSubMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetDiagonal ( const NDArray< T, 1 > &  vec)
inline

set diagonal values from vec

Definition at line 164 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape, utl::min(), utl::NDArrayBase< T, Dim >::Size(), and utlSAException.

Referenced by utl::NDArray< T, 1 >::GetDiagonalMatrix().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
NDArray<T,2> utl::NDArray< T, 2 >::SetIdentity ( )
inline

Definition at line 181 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape.

Referenced by utl::GetEqualityConstraintProjection().

+ Here is the caller graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetRow ( const int  index,
T const *  vec 
)
inline

Definition at line 241 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Data, utl::NDArrayBase< T, Dim >::m_Shape, and utlSAException.

Referenced by utl::NormalizeGrad().

+ Here is the caller graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetRow ( const int  index,
const NDArray< T, 1 > &  vec 
)
inline

Definition at line 247 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::GetData(), utl::NDArrayBase< T, Dim >::m_Shape, utl::NDArrayBase< T, Dim >::Size(), and utlSAException.

+ Here is the call graph for this function:

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::SetRows ( const std::vector< int > &  indexVec,
const NDArray< T, 2 > &  mat 
)
inline

Definition at line 321 of file utlMatrix.h.

References GetRow().

+ Here is the call graph for this function:

template<class T>
void utl::NDArray< T, 2 >::SVD ( NDArray< T, 2 > &  U,
NDArray< ScalarValueType, 1 > &  S,
NDArray< T, 2 > &  V,
char  format = 'S' 
) const
inline

SVD.

Parameters
Uleft singular vectors. If format is 'A', U is MxM matrix. If format is 'S', U size is M x min(M,N)
ssingular values with size min(M,N). Sored in decreasing order.
Vright singular vectors. If format is 'A', V size is NxN. If format is 'S', V size is N x min(M,N)
format'S' or 'A'. 'A' means full size, 'S' means reduced size.

Definition at line 378 of file utlMatrix.h.

References utl::gesdd_UtlMatrix().

Referenced by utl::PInverseMatrix(), and utl::RotationMatrixToAxisAngle().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<class T>
void utl::NDArray< T, 2 >::Symmetrize ( )
inline

Definition at line 511 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::m_Shape, and utlException.

template<class T>
NDArray<T,2>& utl::NDArray< T, 2 >::TransposeInplace ( const T  scale = 1.0)
inline

Definition at line 226 of file utlMatrix.h.

References utl::NDArrayBase< T, Dim >::ComputeOffSetTable(), utl::NDArrayBase< T, Dim >::m_Data, and utl::NDArrayBase< T, Dim >::m_Shape.

+ Here is the call graph for this function:


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