DMRITool  v0.1.1-139-g860d86b4
Diffusion MRI Tool
Classes | Namespaces | Functions
utlNDArrayFunctions.h File Reference
#include "utlCoreMacro.h"
#include "utlSTDHeaders.h"
#include "utlExpression.h"
#include "utlCore.h"
#include "utlBlas.h"
#include "utlLapack.h"
#include "utlMath.h"
#include "utlTypeinfo.h"
+ Include dependency graph for utlNDArrayFunctions.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  utl::NDArray< T, Dim >
 
class  utl::NDArrayBase< T, Dim >
 

Namespaces

 utl
 

Functions

template<class T >
void utl::AxisAngleToRotationMatrix (const NDArray< T, 1 > &axis, const double theta, NDArray< T, 2 > &rotMat)
 
template<class T >
NDArray< T, 2 > utl::CartesianToSpherical (const NDArray< T, 2 > &in)
 
template<class T , unsigned Dim>
NDArray< std::complex< T >, Dim > utl::ComplexCombine (const NDArray< T, Dim > &arrReal, const NDArray< T, Dim > &arrImg)
 
template<class T , unsigned Dim>
NDArray< std::complex< T >, Dim > utl::ComplexCombine (const T val, const NDArray< T, Dim > &arrImg)
 
template<class T , unsigned Dim>
NDArray< std::complex< T >, Dim > utl::ComplexCombine (const NDArray< T, Dim > &arrReal, const T val)
 
template<class T >
NDArray< T, 2 > utl::ConnectUtlMatrix (const NDArray< T, 2 > &m1, const NDArray< T, 2 > &m2, const bool isConnectRow)
 
template<class T >
NDArray< T, 1 > utl::ConnectUtlVector (const NDArray< T, 1 > &m1, const NDArray< T, 1 > &m2)
 
template<class T >
void utl::Convert2To4Tensor (const utl::NDArray< T, 2 > &mat, utl::NDArray< T, 4 > &tensor)
 
template<class T >
void utl::Convert4To2Tensor (const utl::NDArray< T, 4 > &tensor, utl::NDArray< T, 2 > &mat)
 
template<class T >
NDArray< T, 1 > utl::DifferenceOfDirection (const NDArray< T, 1 > v1, const NDArray< T, 1 > &v0)
 
template<class T , unsigned int Dim>
utl::DotProduct (const NDArray< T, Dim > &v1, const NDArray< T, Dim > &v2)
 
template<unsigned int Dim>
std::complex< double > utl::DotProduct (const NDArray< std::complex< double >, Dim > &v1, const NDArray< std::complex< double >, Dim > &v2)
 
template<class T , unsigned int Dim, class EType >
NDArray< T, Dim > utl::Eval (const Expr< EType, typename EType::ValueType > &expr)
 
template<class T = double>
utl::NDArray< T, 2 > utl::Eye (const int n, const T val=1.0)
 
template<class T >
NDArray< T, 2 > utl::FlipOrientations (const NDArray< T, 2 > &in, const std::vector< int > &flip)
 
template<class T >
void utl::geev_UtlMatrix (const utl::NDArray< T, 2 > &mat, utl::NDArray< T, 1 > &valReal, utl::NDArray< T, 1 > &valImg, utl::NDArray< T, 2 > &vecRealR, utl::NDArray< T, 2 > &vecImgR, utl::NDArray< T, 2 > &vecRealL, utl::NDArray< T, 2 > &vecImgL)
 
template<class T >
void utl::geev_UtlMatrix (const utl::NDArray< T, 2 > &mat, utl::NDArray< T, 1 > &valReal, utl::NDArray< T, 1 > &valImg)
 
template<class T >
void utl::geev_UtlMatrix (const utl::NDArray< T, 2 > &mat, utl::NDArray< T, 1 > &valReal, utl::NDArray< T, 1 > &valImg, utl::NDArray< T, 2 > &vecRealR, utl::NDArray< T, 2 > &vecImgR)
 
template<class T >
bool utl::gemm_UtlMatrixTimesMatrix (const bool bATrans, const bool bBTrans, const T alpha, const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 2 > &B, const T beta, utl::NDArray< T, 2 > &C)
 
template<class T >
bool utl::gemv_UtlMatrixTimesVector (const bool bATrans, const T alpha, const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 1 > &X, const T beta, utl::NDArray< T, 1 > &Y)
 
template<class T >
void utl::gesdd_UtlMatrix (const NDArray< T, 2 > &mat, NDArray< T, 2 > &U, NDArray< utl::remove_complex_t< T >, 1 > &s, NDArray< T, 2 > &V, char format='S')
 
template<class T >
void utl::gesvd_UtlMatrix (const NDArray< T, 2 > &mat, NDArray< T, 2 > &U, NDArray< T, 1 > &s, NDArray< T, 2 > &V, char format='S')
 
template<class T >
void utl::GetEqualityConstraintProjection (const NDArray< T, 2 > &Aeq, const NDArray< T, 1 > &beq, const NDArray< T, 2 > &QInverse, NDArray< T, 2 > &projMatrix, NDArray< T, 1 > &projVector)
 
template<class T >
utl::NDArray< T, 2 > utl::GetMeanOfRotationMatrix (const std::vector< NDArray< T, 2 > > &matrixVec, const utl::NDArray< T, 1 > &weights)
 
template<class T >
utl::NDArray< T, 2 > utl::GetMeanOfRotationMatrix (const std::vector< NDArray< T, 2 > > &matrixVec)
 
template<class T >
void utl::getri_UtlMatrix (const utl::NDArray< T, 2 > &mat, utl::NDArray< T, 2 > &result)
 
template<class T >
bool utl::gevm_UtlVectorTimesMatrix (const bool bATrans, const T alpha, const utl::NDArray< T, 1 > &X, const utl::NDArray< T, 2 > &A, const T beta, utl::NDArray< T, 1 > &Y)
 
template<class T , unsigned Dim>
NDArray< T, Dim > utl::Imag (const NDArray< std::complex< T >, Dim > &mat)
 
template<class T , unsigned int Dim>
utl::InnerProduct (const NDArrayBase< T, Dim > &v1, const NDArrayBase< T, Dim > &v2)
 
template<class T >
void utl::InnerProduct (const NDArray< T, 2 > &mat, const NDArray< T, 1 > &vec, NDArray< T, 1 > &result)
 
template<class T >
void utl::InnerProduct (const NDArray< T, 1 > &vec, const NDArray< T, 2 > &mat, NDArray< T, 1 > &result)
 
template<class T >
void utl::InnerProduct (const NDArray< T, 4 > &tensor, const NDArray< T, 2 > &matrix, NDArray< T, 2 > &result)
 
template<class T >
void utl::InnerProduct (const NDArray< T, 2 > &matrix, const NDArray< T, 4 > &tensor, NDArray< T, 2 > &result)
 
template<class T >
NDArray< T, 2 > utl::InverseMatrix (const NDArray< T, 2 > &mat, const double eps=1e-10)
 
template<class T >
NDArray< T, 2 > utl::InverseSymmericMatrix (const NDArray< T, 2 > &mat, const double eps=1e-10)
 
template<class T1 , class T2 , unsigned Dim1, unsigned Dim2>
bool utl::IsSameShape (const NDArray< T1, Dim1 > &arr1, const NDArray< T2, Dim2 > &arr2)
 
template<class T >
utl::NDArray< T, 1 > utl::MeanDirector (const std::vector< utl::NDArray< T, 1 > > &dirVec, const bool isUnitNorm=true)
 
template<class T = double>
utl::NDArray< T, 1 > utl::Ones (const int n)
 
template<class T = double>
utl::NDArray< T, 2 > utl::Ones (const int n, const int m)
 
template<typename T >
NDArray< T, 2 > utl::operator* (const NDArray< T, 2 > &mat1, const NDArray< T, 2 > &mat2)
 
template<typename T >
NDArray< std::complex< T >, 2 > utl::operator* (const NDArray< T, 2 > &mat1, const NDArray< std::complex< T >, 2 > &mat2)
 
template<typename T >
NDArray< std::complex< T >, 2 > utl::operator* (const NDArray< std::complex< T >, 2 > &mat1, const NDArray< T, 2 > &mat2)
 
template<typename T >
NDArray< T, 1 > utl::operator* (const NDArray< T, 2 > &mat, const NDArray< T, 1 > &vec)
 
template<typename T >
NDArray< T, 1 > utl::operator* (const NDArray< T, 1 > &vec, const NDArray< T, 2 > &mat)
 
template<typename T , typename EType >
NDArray< T, 1 > utl::operator* (const NDArray< T, 1 > &vec, const Expr< EType, typename EType::ValueType > &expr)
 
template<typename T , unsigned int Dim>
std::ostream & utl::operator<< (std::ostream &os, const NDArray< T, Dim > &arr)
 
template<typename T >
std::ostream & utl::operator<< (std::ostream &os, const NDArray< T, 1 > &arr)
 
template<typename T >
std::ostream & utl::operator<< (std::ostream &os, const NDArray< T, 2 > &arr)
 
template<class T >
void utl::OuterProduct (const NDArrayBase< T, 2 > &mat1, const NDArrayBase< T, 2 > &mat2, NDArray< T, 4 > &tensor)
 
template<class T >
void utl::OuterProduct (const NDArray< T, 1 > &v1, const NDArray< T, 1 > &v2, NDArray< T, 2 > &mat)
 
template<class T >
NDArray< T, 2 > utl::PInverseMatrix (const NDArray< T, 2 > &mat, const double eps=1e-10)
 
template<class T >
NDArray< T, 2 > utl::PInverseSymmericMatrix (const NDArray< T, 2 > &mat, const double eps=1e-10)
 
template<class T >
void utl::PrintUtlMatrix (const NDArray< T, 2 > &mat, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout)
 
template<class T , unsigned int Dim>
void utl::PrintUtlNDArray (const NDArrayBase< T, Dim > &arr, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout)
 
template<class T >
void utl::PrintUtlVector (const NDArray< T, 1 > &vec, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout, bool showStats=true)
 
template<class T >
void utl::ProductUtlMM (const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 2 > &B, utl::NDArray< T, 2 > &C, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlMM (const utl::NDArray< T, 2 > &A1, const utl::NDArray< T, 2 > &A2, const utl::NDArray< T, 2 > &A3, const utl::NDArray< T, 2 > &A4, const utl::NDArray< T, 2 > &A5, utl::NDArray< T, 2 > &C)
 
template<class T >
void utl::ProductUtlMM (const utl::NDArray< T, 2 > &A1, const utl::NDArray< T, 2 > &A2, const utl::NDArray< T, 2 > &A3, const utl::NDArray< T, 2 > &A4, utl::NDArray< T, 2 > &C)
 
template<class T >
void utl::ProductUtlMM (const utl::NDArray< T, 2 > &A1, const utl::NDArray< T, 2 > &A2, const utl::NDArray< T, 2 > &A3, utl::NDArray< T, 2 > &C)
 
template<class T >
void utl::ProductUtlMMt (const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 2 > &B, utl::NDArray< T, 2 > &C, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlMtM (const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 2 > &B, utl::NDArray< T, 2 > &C, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlMtMt (const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 2 > &B, utl::NDArray< T, 2 > &C, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlMtv (const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 1 > &b, utl::NDArray< T, 1 > &c, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlMv (const utl::NDArray< T, 2 > &A, const utl::NDArray< T, 1 > &b, utl::NDArray< T, 1 > &c, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlvM (const utl::NDArray< T, 1 > &b, const utl::NDArray< T, 2 > &A, utl::NDArray< T, 1 > &c, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlvMt (const utl::NDArray< T, 1 > &b, const utl::NDArray< T, 2 > &A, utl::NDArray< T, 1 > &c, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlXtX (const utl::NDArray< T, 2 > &A, utl::NDArray< T, 2 > &C, const double alpha=1.0, const double beta=0.0)
 
template<class T >
void utl::ProductUtlXXt (const utl::NDArray< T, 2 > &A, utl::NDArray< T, 2 > &C, const double alpha=1.0, const double beta=0.0)
 
template<class T , unsigned Dim>
NDArray< T, Dim > utl::Real (const NDArray< std::complex< T >, Dim > &mat)
 
template<class T >
void utl::RotationMatrixToAxisAngle (const NDArray< T, 2 > &rotMat, NDArray< T, 1 > &axis, double &theta)
 
template<class T >
NDArray< T, 2 > utl::SphericalToCartesian (const NDArray< T, 2 > &in)
 
template<class T >
NDArray< T, 1 > utl::StdVectorToUtlVector (const std::vector< T > &vec)
 
template<class T >
void utl::syev_UtlMatrix (const NDArray< T, 2 > &mat, NDArray< T, 1 > &eigenValues, NDArray< T, 2 > &eigenVectors)
 
template<class T >
void utl::syevd_UtlMatrix (const NDArray< T, 2 > &mat, NDArray< T, 1 > &eigenValues, NDArray< T, 2 > &eigenVectors)
 
template<class T >
void utl::syrk_UtlMatrix (const bool trans, const T alpha, const utl::NDArray< T, 2 > &A, const T beta, utl::NDArray< T, 2 > &C)
 
template<class T , class EType >
std::shared_ptr< NDArray< T, 2 > > utl::ToMatrix (const Expr< EType, typename EType::ValueType > &expr)
 
template<class T , unsigned int Dim, class EType >
std::shared_ptr< NDArray< T, Dim > > utl::ToNDArray (const Expr< EType, typename EType::ValueType > &expr)
 
template<class T , class EType >
std::shared_ptr< NDArray< T, 1 > > utl::ToVector (const Expr< EType, typename EType::ValueType > &expr)
 
template<class T >
std::vector< T > utl::UtlVectorToStdVector (const NDArray< T, 1 > &vec)
 

Detailed Description

Created "07-03-2016.

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

Definition in file utlNDArrayFunctions.h.