SourceForge Logo Tiny Vector Matrix library using Expression Templates Sourceforge Project Page

Functions
Global Binary Functions
Global Functions
Collaboration diagram for Global Binary Functions:

Functions

template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow
< std::complex< T >, T >
, MatrixConstReference
< std::complex< T >, Rows,
Cols >, XprLiteral< T >
>, Rows, Cols > 
tvmet::pow (const Matrix< std::complex< T >, Rows, Cols > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow
< std::complex< T >, int >
, MatrixConstReference
< std::complex< T >, Rows,
Cols >, XprLiteral< int >
>, Rows, Cols > 
tvmet::pow (const Matrix< std::complex< T >, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow
< T, std::complex< T >
>, MatrixConstReference< T,
Rows, Cols >, XprLiteral
< std::complex< T > > >, Rows,
Cols > 
tvmet::pow (const Matrix< T, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
 power function on Matrix and std::complex<T>.
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow
< std::complex< T >
, std::complex< T >
>, MatrixConstReference
< std::complex< T >, Rows,
Cols >, XprLiteral
< std::complex< T > > >, Rows,
Cols > 
tvmet::pow (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp
< Fcnl_polar< T, T >
, MatrixConstReference< T,
Rows, Cols >, XprLiteral< T >
>, Rows, Cols > 
tvmet::polar (const Matrix< T, Rows, Cols > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMMProduct
< MatrixConstReference< T1,
Rows1, Cols1 >, Rows1, Cols1,
MatrixConstReference< T2,
Cols1, Cols2 >, Cols2 >, Rows1,
Cols2 > 
tvmet::prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the matrix-matrix-product.
template<class E1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMMProduct
< XprMatrix< E1, Rows1, Cols1 >
, Rows1, Cols1,
MatrixConstReference< T2,
Cols1, Cols2 >, Cols2 >, Rows1,
Cols2 > 
tvmet::prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Evaluate the product of XprMatrix and Matrix.
template<class T1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMMProduct
< MatrixConstReference< T1,
Rows1, Cols1 >, Rows1, Cols1,
XprMatrix< E2, Cols1, Cols2 >
, Cols2 >, Rows1, Cols2 > 
tvmet::prod (const Matrix< T1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Evaluate the product of Matrix and XprMatrix.
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix
< XprMMProductTransposed
< MatrixConstReference< T1,
Rows1, Cols1 >, Rows1, Cols1,
MatrixConstReference< T2,
Cols1, Cols2 >, Cols2 >, Cols2,
Rows1 > 
tvmet::trans_prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the trans(matrix-matrix-product)Perform on given Matrix M1 and M2:

\[ (M_1\,M_2)^T \]

.

template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMtMProduct
< MatrixConstReference< T1,
Rows1, Cols1 >, Rows1, Cols1,
MatrixConstReference< T2,
Rows1, Cols2 >, Cols2 >, Cols1,
Cols2 > 
tvmet::MtM_prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Rows1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the trans(matrix)-matrix-product.
template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Rows2>
XprMatrix< XprMMtProduct
< MatrixConstReference< T1,
Rows1, Cols1 >, Rows1, Cols1,
MatrixConstReference< T2,
Rows2, Cols1 >, Cols1 >, Rows1,
Rows2 > 
tvmet::MMt_prod (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Rows2, Cols1 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the matrix-trans(matrix)-product.
template<class T1 , class T2 , std::size_t Rows, std::size_t Cols>
XprVector< XprMVProduct
< MatrixConstReference< T1,
Rows, Cols >, Rows, Cols,
VectorConstReference< T2, Cols >
>, Rows > 
tvmet::prod (const Matrix< T1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the matrix-vector-product.
template<class T1 , class E2 , std::size_t Rows, std::size_t Cols>
XprVector< XprMVProduct
< MatrixConstReference< T1,
Rows, Cols >, Rows, Cols,
XprVector< E2, Cols > >, Rows > 
tvmet::prod (const Matrix< T1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the matrix-vector-product.
template<class T1 , class T2 , std::size_t Rows, std::size_t Cols>
XprVector< XprMtVProduct
< MatrixConstReference< T1,
Rows, Cols >, Rows, Cols,
VectorConstReference< T2, Rows >
>, Cols > 
tvmet::Mtx_prod (const Matrix< T1, Rows, Cols > &lhs, const Vector< T2, Rows > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the trans(matrix)-vector-productPerform on given Matrix M and vector x:

\[ M^T\, x \]

.

template<class T , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixRow
< MatrixConstReference< T,
Rows, Cols >, Rows, Cols >
, Cols > 
tvmet::row (const Matrix< T, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE
 Returns a row vector of the given matrix.
template<class T , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixCol
< MatrixConstReference< T,
Rows, Cols >, Rows, Cols >
, Rows > 
tvmet::col (const Matrix< T, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE
 Returns a column vector of the given matrix.
template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow
< T, std::complex< T >
>, VectorConstReference< T,
Sz >, XprLiteral< std::complex
< T > > >, Sz > 
tvmet::pow (const Vector< T, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
 power function on Vector and std::complex<T>.
template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow
< std::complex< T >
, std::complex< T >
>, VectorConstReference
< std::complex< T >, Sz >
, XprLiteral< std::complex< T >
> >, Sz > 
tvmet::pow (const Vector< std::complex< T >, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow
< std::complex< T >, T >
, VectorConstReference
< std::complex< T >, Sz >
, XprLiteral< T > >, Sz > 
tvmet::pow (const Vector< std::complex< T >, Sz > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow
< std::complex< T >, int >
, VectorConstReference
< std::complex< T >, Sz >
, XprLiteral< int > >, Sz > 
tvmet::pow (const Vector< std::complex< T >, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T , std::size_t Sz>
XprVector< XprBinOp
< Fcnl_polar< T, T >
, VectorConstReference< T, Sz >
, XprLiteral< T > >, Sz > 
tvmet::polar (const Vector< T, Sz > &lhs, const T &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1 , class T2 , std::size_t Sz>
PromoteTraits< T1, T2 >::value_type tvmet::dot (const Vector< T1, Sz > &lhs, const Vector< T2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

template<class T1 , class T2 >
Vector< typename PromoteTraits
< T1, T2 >::value_type, 3 > 
tvmet::cross (const Vector< T1, 3 > &lhs, const Vector< T2, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the cross/outer product.
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMMProduct
< XprMatrix< E1, Rows1, Cols1 >
, Rows1, Cols1, XprMatrix< E2,
Cols1, Cols2 >, Cols2 >, Rows1,
Cols2 > 
tvmet::prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Evaluate the product of two XprMatrix.
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix
< XprMMProductTransposed
< XprMatrix< E1, Rows1, Cols1 >
, Rows1, Cols1, XprMatrix< E2,
Cols1, Cols2 >, Cols2 >, Cols2,
Rows1 > 
tvmet::trans_prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the trans(matrix-matrix-product) Perform on given Matrix M1 and M2:

\[ (M_1\,M_2)^T \]

.

template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMtMProduct
< XprMatrix< E1, Rows1, Cols1 >
, Rows1, Cols1, XprMatrix< E2,
Rows1, Cols2 >, Cols2 >, Cols1,
Cols2 > 
tvmet::MtM_prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Rows1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the trans(matrix)-matrix-product.
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Rows2>
XprMatrix< XprMMtProduct
< XprMatrix< E1, Rows1, Cols1 >
, Rows1, Cols1, XprMatrix< E2,
Rows2, Cols1 >, Cols1 >, Rows1,
Rows2 > 
tvmet::MMt_prod (const XprMatrix< E1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Rows2, Cols1 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the matrix-trans(matrix)-product.
template<class E1 , std::size_t Rows, std::size_t Cols, class E2 >
XprVector< XprMVProduct
< XprMatrix< E1, Rows, Cols >
, Rows, Cols, XprVector< E2,
Cols > >, Rows > 
tvmet::prod (const XprMatrix< E1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 Evaluate the product of XprMatrix and XprVector.
template<class E , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixRow
< XprMatrix< E, Rows, Cols >
, Rows, Cols >, Cols > 
tvmet::row (const XprMatrix< E, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE
 Returns a row vector of the given matrix.
template<class E , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixCol
< XprMatrix< E, Rows, Cols >
, Rows, Cols >, Rows > 
tvmet::col (const XprMatrix< E, Rows, Cols > &m, std::size_t no) TVMET_CXX_ALWAYS_INLINE
 Returns a column vector of the given matrix.
template<class E1 , class E2 , std::size_t Sz>
PromoteTraits< typename
E1::value_type, typename
E2::value_type >::value_type 
tvmet::dot (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

template<class T , class E , std::size_t Sz>
PromoteTraits< T, typename
E::value_type >::value_type 
tvmet::dot (const Vector< T, Sz > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

template<class E , class T , std::size_t Sz>
PromoteTraits< T, typename
E::value_type >::value_type 
tvmet::dot (const XprVector< E, Sz > &lhs, const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

template<class E1 , class E2 >
Vector< typename PromoteTraits
< typename E1::value_type,
typename E2::value_type >
::value_type, 3 > 
tvmet::cross (const XprVector< E1, 3 > &lhs, const XprVector< E2, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the cross/outer product.
template<class E , class T >
Vector< typename PromoteTraits
< T, typename E::value_type >
::value_type, 3 > 
tvmet::cross (const XprVector< E, 3 > &lhs, const Vector< T, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the cross/outer product.
template<class T , class E >
Vector< typename PromoteTraits
< T, typename E::value_type >
::value_type, 3 > 
tvmet::cross (const Vector< T, 3 > &lhs, const XprVector< E, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the cross/outer product.

Function Documentation

template<class T , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixCol< MatrixConstReference< T, Rows, Cols >, Rows, Cols >, Rows > tvmet::col ( const Matrix< T, Rows, Cols > &  m,
std::size_t  no 
) [inline]

Returns a column vector of the given matrix.

References tvmet::Matrix< T, NRows, NCols >::const_ref().

template<class E , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixCol< XprMatrix< E, Rows, Cols >, Rows, Cols >, Rows > tvmet::col ( const XprMatrix< E, Rows, Cols > &  m,
std::size_t  no 
) [inline]

Returns a column vector of the given matrix.

template<class T1 , class T2 >
Vector< typename PromoteTraits< T1, T2 >::value_type, 3 > tvmet::cross ( const Vector< T1, 3 > &  lhs,
const Vector< T2, 3 > &  rhs 
) [inline]

Compute the cross/outer product.

Note:
working only for vectors of size = 3
Todo:
Implement vector outer product as ET and MT, returning a XprVector
template<class E1 , class E2 >
Vector< typename PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type, 3 > tvmet::cross ( const XprVector< E1, 3 > &  lhs,
const XprVector< E2, 3 > &  rhs 
) [inline]

Compute the cross/outer product.

Note:
working only for vectors of size = 3
Todo:
Implement vector outer product as ET and MT, returning a XprVector
template<class E , class T >
Vector< typename PromoteTraits< T, typename E::value_type >::value_type, 3 > tvmet::cross ( const XprVector< E, 3 > &  lhs,
const Vector< T, 3 > &  rhs 
) [inline]

Compute the cross/outer product.

Note:
working only for vectors of size = 3
Todo:
Implement vector outer product as ET and MT, returning a XprVector
template<class T , class E >
tvmet::cross ( const Vector< T, 3 > &  lhs,
const XprVector< E, 3 > &  rhs 
)

Compute the cross/outer product.

Note:
working only for vectors of size = 3
Todo:
Implement vector outer product as ET and MT, returning a XprVector
template<class E , class T , std::size_t Sz>
PromoteTraits< T, typename E::value_type >::value_type tvmet::dot ( const XprVector< E, Sz > &  lhs,
const Vector< T, Sz > &  rhs 
) [inline]

Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

References tvmet::meta::Vector< Sz, K >::dot().

template<class T , class E , std::size_t Sz>
PromoteTraits< T, typename E::value_type >::value_type tvmet::dot ( const Vector< T, Sz > &  lhs,
const XprVector< E, Sz > &  rhs 
) [inline]

Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

References tvmet::meta::Vector< Sz, K >::dot().

template<class T1 , class T2 , std::size_t Sz>
PromoteTraits< T1, T2 >::value_type tvmet::dot ( const Vector< T1, Sz > &  lhs,
const Vector< T2, Sz > &  rhs 
) [inline]

Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

References tvmet::meta::Vector< Sz, K >::dot().

Referenced by tvmet::norm2().

template<class E1 , class E2 , std::size_t Sz>
PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type tvmet::dot ( const XprVector< E1, Sz > &  lhs,
const XprVector< E2, Sz > &  rhs 
) [inline]

Compute the dot/inner productCompute the dot product as:

\[ \sum_{i = 0}^{Sz - 1} ( lhs[i] * rhs[i] ) \]

where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.

References tvmet::meta::Vector< Sz, K >::dot().

template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Rows2>
XprMatrix< XprMMtProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Rows2, Cols1 >, Cols1 >, Rows1, Rows2 > tvmet::MMt_prod ( const Matrix< T1, Rows1, Cols1 > &  lhs,
const Matrix< T2, Rows2, Cols1 > &  rhs 
) [inline]

Function for the matrix-trans(matrix)-product.

Note:
The Cols2 has to be equal to Cols1.

References tvmet::Cols1, tvmet::Matrix< T, NRows, NCols >::const_ref(), and tvmet::Rows1.

template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Rows2>
XprMatrix< XprMMtProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Rows2, Cols1 >, Cols1 >, Rows1, Rows2 > tvmet::MMt_prod ( const XprMatrix< E1, Rows1, Cols1 > &  lhs,
const XprMatrix< E2, Rows2, Cols1 > &  rhs 
) [inline]

Function for the matrix-trans(matrix)-product.

Note:
The cols2 has to be equal to cols1.

References tvmet::Cols1, and tvmet::Rows1.

template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMtMProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Rows1, Cols2 >, Cols2 >, Cols1, Cols2 > tvmet::MtM_prod ( const Matrix< T1, Rows1, Cols1 > &  lhs,
const Matrix< T2, Rows1, Cols2 > &  rhs 
) [inline]

Function for the trans(matrix)-matrix-product.

using formula

\[ M_1^{T}\,M_2 \]

Note:
The number of cols of matrix 2 have to be equal to number of rows of matrix 1, since matrix 1 is trans - the result is a (Cols1 x Cols2) matrix.

References tvmet::Cols1, tvmet::Matrix< T, NRows, NCols >::const_ref(), and tvmet::Rows1.

template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMtMProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Rows1, Cols2 >, Cols2 >, Cols1, Cols2 > tvmet::MtM_prod ( const XprMatrix< E1, Rows1, Cols1 > &  lhs,
const XprMatrix< E2, Rows1, Cols2 > &  rhs 
) [inline]

Function for the trans(matrix)-matrix-product.

using formula

\[ M_1^{T}\,M_2 \]

Note:
The number of cols of matrix 2 have to be equal to number of rows of matrix 1, since matrix 1 is trans - the result is a (Cols1 x Cols2) matrix.

References tvmet::Cols1, and tvmet::Rows1.

template<class T1 , class T2 , std::size_t Rows, std::size_t Cols>
XprVector< XprMtVProduct< MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Rows > >, Cols > tvmet::Mtx_prod ( const Matrix< T1, Rows, Cols > &  lhs,
const Vector< T2, Rows > &  rhs 
) [inline]

Function for the trans(matrix)-vector-productPerform on given Matrix M and vector x:

\[ M^T\, x \]

.

References tvmet::Vector< T, Sz >::const_ref(), and tvmet::Matrix< T, NRows, NCols >::const_ref().

template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_polar< T, T >, VectorConstReference< T, Sz >, XprLiteral< T > >, Sz > tvmet::polar ( const Vector< T, Sz > &  lhs,
const T &  rhs 
) [inline]
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_polar< T, T >, MatrixConstReference< T, Rows, Cols >, XprLiteral< T > >, Rows, Cols > tvmet::polar ( const Matrix< T, Rows, Cols > &  lhs,
const T &  rhs 
) [inline]
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow< std::complex< T >, std::complex< T > >, MatrixConstReference< std::complex< T >, Rows, Cols >, XprLiteral< std::complex< T > > >, Rows, Cols > tvmet::pow ( const Matrix< std::complex< T >, Rows, Cols > &  lhs,
const std::complex< T > &  rhs 
) [inline]
template<class T , std::size_t Sz>
tvmet::pow ( const Vector< T, Sz > &  lhs,
const std::complex< T > &  rhs 
) [inline]

power function on Vector and std::complex<T>.

References tvmet::Vector< T, Sz >::const_ref().

template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow< std::complex< T >, std::complex< T > >, VectorConstReference< std::complex< T >, Sz >, XprLiteral< std::complex< T > > >, Sz > tvmet::pow ( const Vector< std::complex< T >, Sz > &  lhs,
const std::complex< T > &  rhs 
) [inline]
template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow< std::complex< T >, T >, VectorConstReference< std::complex< T >, Sz >, XprLiteral< T > >, Sz > tvmet::pow ( const Vector< std::complex< T >, Sz > &  lhs,
const T &  rhs 
) [inline]
template<class T , std::size_t Sz>
XprVector< XprBinOp< Fcnl_pow< std::complex< T >, int >, VectorConstReference< std::complex< T >, Sz >, XprLiteral< int > >, Sz > tvmet::pow ( const Vector< std::complex< T >, Sz > &  lhs,
int  rhs 
) [inline]
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow< std::complex< T >, int >, MatrixConstReference< std::complex< T >, Rows, Cols >, XprLiteral< int > >, Rows, Cols > tvmet::pow ( const Matrix< std::complex< T >, Rows, Cols > &  lhs,
int  rhs 
) [inline]
template<class T , std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_pow< std::complex< T >, T >, MatrixConstReference< std::complex< T >, Rows, Cols >, XprLiteral< T > >, Rows, Cols > tvmet::pow ( const Matrix< std::complex< T >, Rows, Cols > &  lhs,
const T &  rhs 
) [inline]
template<class T , std::size_t Rows, std::size_t Cols>
tvmet::pow ( const Matrix< T, Rows, Cols > &  lhs,
const std::complex< T > &  rhs 
) [inline]

power function on Matrix and std::complex<T>.

References tvmet::Matrix< T, NRows, NCols >::const_ref().

template<class T1 , class T2 , std::size_t Rows, std::size_t Cols>
XprVector< XprMVProduct< MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Cols > >, Rows > tvmet::prod ( const Matrix< T1, Rows, Cols > &  lhs,
const Vector< T2, Cols > &  rhs 
) [inline]

Function for the matrix-vector-product.

References tvmet::Vector< T, Sz >::const_ref(), and tvmet::Matrix< T, NRows, NCols >::const_ref().

template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMMProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > tvmet::prod ( const Matrix< T1, Rows1, Cols1 > &  lhs,
const Matrix< T2, Cols1, Cols2 > &  rhs 
) [inline]
template<class T1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMMProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > tvmet::prod ( const Matrix< T1, Rows1, Cols1 > &  lhs,
const XprMatrix< E2, Cols1, Cols2 > &  rhs 
) [inline]
template<class E1 , std::size_t Rows, std::size_t Cols, class E2 >
XprVector< XprMVProduct< XprMatrix< E1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > tvmet::prod ( const XprMatrix< E1, Rows, Cols > &  lhs,
const XprVector< E2, Cols > &  rhs 
) [inline]

Evaluate the product of XprMatrix and XprVector.

template<class T1 , class E2 , std::size_t Rows, std::size_t Cols>
XprVector< XprMVProduct< MatrixConstReference< T1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > tvmet::prod ( const Matrix< T1, Rows, Cols > &  lhs,
const XprVector< E2, Cols > &  rhs 
) [inline]

Function for the matrix-vector-product.

References tvmet::Matrix< T, NRows, NCols >::const_ref().

template<class E1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMMProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > tvmet::prod ( const XprMatrix< E1, Rows1, Cols1 > &  lhs,
const Matrix< T2, Cols1, Cols2 > &  rhs 
) [inline]
template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMMProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > tvmet::prod ( const XprMatrix< E1, Rows1, Cols1 > &  lhs,
const XprMatrix< E2, Cols1, Cols2 > &  rhs 
) [inline]

Evaluate the product of two XprMatrix.

Perform on given Matrix M1 and M2:

\[ M_1\,M_2 \]

Note:
The numer of Rows2 has to be equal to Cols1.

References tvmet::Cols1, and tvmet::Rows1.

template<class E , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixRow< XprMatrix< E, Rows, Cols >, Rows, Cols >, Cols > tvmet::row ( const XprMatrix< E, Rows, Cols > &  m,
std::size_t  no 
) [inline]

Returns a row vector of the given matrix.

template<class T , std::size_t Rows, std::size_t Cols>
XprVector< XprMatrixRow< MatrixConstReference< T, Rows, Cols >, Rows, Cols >, Cols > tvmet::row ( const Matrix< T, Rows, Cols > &  m,
std::size_t  no 
) [inline]

Returns a row vector of the given matrix.

References tvmet::Matrix< T, NRows, NCols >::const_ref().

template<class E1 , std::size_t Rows1, std::size_t Cols1, class E2 , std::size_t Cols2>
XprMatrix< XprMMProductTransposed< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Cols2, Rows1 > tvmet::trans_prod ( const XprMatrix< E1, Rows1, Cols1 > &  lhs,
const XprMatrix< E2, Cols1, Cols2 > &  rhs 
) [inline]

Function for the trans(matrix-matrix-product) Perform on given Matrix M1 and M2:

\[ (M_1\,M_2)^T \]

.

Note:
The numer of Rows2 has to be equal to Cols1.

References tvmet::Cols1, and tvmet::Rows1.

template<class T1 , std::size_t Rows1, std::size_t Cols1, class T2 , std::size_t Cols2>
XprMatrix< XprMMProductTransposed< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Cols2, Rows1 > tvmet::trans_prod ( const Matrix< T1, Rows1, Cols1 > &  lhs,
const Matrix< T2, Cols1, Cols2 > &  rhs 
) [inline]

Function for the trans(matrix-matrix-product)Perform on given Matrix M1 and M2:

\[ (M_1\,M_2)^T \]

.

References tvmet::Cols1, tvmet::Matrix< T, NRows, NCols >::const_ref(), and tvmet::Rows1.

 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Defines

Author: