Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Eurobot_2012_Secondary by
tvmet Namespace Reference
The namespace for the Tiny Vector Matrix using Expression Templates Libary. More...
Namespaces | |
namespace | element_wise |
Operators inside this namespace does elementwise operations. | |
namespace | loop |
Loop stuff inside here. | |
namespace | meta |
Meta stuff inside here. | |
namespace | util |
Miscellaneous utility functions used. | |
Data Structures | |
class | AliasProxy |
Assign proxy for alias Matrices and Vectors. More... | |
class | Fcnl_assign |
Binary operator for assign operations. More... | |
class | Fcnl_polar |
Functional for polar. More... | |
class | Fcnl_swap |
Binary operator for swapping values using temporaries. More... | |
class | CommaInitializer |
Initialize classes using a comma separated lists. More... | |
class | matrix_tag |
For use with Extremum to simplify max handling. More... | |
class | vector_tag |
For use with Extremum to simplify max handling. More... | |
class | Extremum |
Generell class for storing extremums determined by min/max. More... | |
class | Functional |
Base class for all binary und unary functionals. More... | |
class | BinaryFunctional |
Base class for all binary functions. More... | |
class | UnaryFunctional |
Base class for all unary functions. More... | |
class | IoPrintHelper |
Determines the number of digits regarding the sign of the container. More... | |
class | MatrixConstReference |
value iterator for ET More... | |
class | Matrix |
A tiny matrix class. More... | |
class | NumericTraits |
Traits for integral types for operations. More... | |
class | TvmetBase |
Base class Used for static polymorph call of print_xpr. More... | |
class | IndentLevel |
Prints the level indent. More... | |
class | PrecisionTraits |
Declaring ranks of types to avoid specializing. More... | |
class | PromoteTraits |
Promote type traits. More... | |
class | Fcnl_conj |
> UnaryFunctionals.h "tvmet/UnaryFunctionals.h" More... | |
class | VectorConstReference |
Const value iterator for ET. More... | |
class | Vector |
Compile time fixed length vector with evaluation on compile time. More... | |
class | XprBinOp |
Binary operators working on two sub expressions. More... | |
class | XprEval |
evaluate the expression More... | |
class | XprIdentity |
Expression for the identity matrix. More... | |
class | XprLiteral |
Specify literals like scalars into the expression. More... | |
class | XprMatrix |
Represents the expression for vectors at any node in the parse tree. More... | |
class | XprMatrixCol |
Expression on matrix used for access on the column vector. More... | |
class | XprMatrixDiag |
Expression on matrix used for access on the diagonal vector. More... | |
class | XprMatrixRow |
Expression on matrix used for access on the row vector. More... | |
class | XprMatrixTranspose |
Expression for transpose matrix. More... | |
class | XprMMProduct |
Expression for matrix-matrix product. More... | |
class | XprMMProductTransposed |
Expression for transpose(matrix-matrix product). More... | |
class | XprMMtProduct |
Expression for matrix-matrix product. More... | |
class | XprMtMProduct |
Expression for product of transposed(matrix)-matrix product. More... | |
class | XprMtVProduct |
Expression for matrix-transposed vector product using formula
. More... | |
class | XprMVProduct |
Expression for matrix-vector product using formula
. More... | |
class | XprNull |
Null object design pattern. More... | |
class | XprUnOp |
Unary operator working on one subexpression. More... | |
class | XprVector |
Represents the expression for vectors at any node in the parse tree. More... | |
Functions | |
template<class E > | |
AliasProxy< E > | alias (E &expr) |
Simplify syntax for alias Matrices and Vectors, where aliasing left hand values appear in the expression. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
bool | all_elements (const XprMatrix< E, Rows, Cols > &e) |
check on statements for all elementsThis is for use with boolean operators like | |
template<class E , std::size_t Rows, std::size_t Cols> | |
bool | any_elements (const XprMatrix< E, Rows, Cols > &e) |
check on statements for any elementsThis is for use with boolean operators like | |
template<class E1 , class T2 , class T3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols > , MatrixConstReference< T2, Rows, Cols > , MatrixConstReference< T3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const Matrix< T2, Rows, Cols > &m2, const Matrix< T3, Rows, Cols > &m3) |
Evals the matrix expressions. | |
template<class E1 , class T2 , class E3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols > , MatrixConstReference< T2, Rows, Cols >, XprMatrix< E3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const Matrix< T2, Rows, Cols > &m2, const XprMatrix< E3, Rows, Cols > &e3) |
Evals the matrix expressions. | |
template<class E1 , class E2 , class T3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprMatrix < E2, Rows, Cols > , MatrixConstReference< T3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const XprMatrix< E2, Rows, Cols > &e2, const Matrix< T3, Rows, Cols > &m3) |
Evals the matrix expressions. | |
template<class E1 , class E2 , class E3 , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprMatrix < E2, Rows, Cols >, XprMatrix < E3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const XprMatrix< E2, Rows, Cols > &e2, const XprMatrix< E3, Rows, Cols > &e3) |
Evals the matrix expressions. | |
template<class E1 , class E3 , std::size_t Rows, std::size_t Cols, class T > | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprLiteral < std::complex< T > >, XprMatrix< E3, Rows, Cols > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const std::complex< T > &x2, const XprMatrix< E3, Rows, Cols > &e3) |
Evals the matrix expressions. | |
template<class E1 , class E2 , std::size_t Rows, std::size_t Cols, class T > | |
XprMatrix< XprEval< XprMatrix < E1, Rows, Cols >, XprMatrix < E2, Rows, Cols >, XprLiteral < std::complex< T > > >, Rows, Cols > | eval (const XprMatrix< E1, Rows, Cols > &e1, const XprMatrix< E2, Rows, Cols > &e2, const std::complex< T > &x3) |
Evals the matrix expressions. | |
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 > | 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 > | 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 > | 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:
| |
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 > | 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 > | 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 > | 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 > | 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 > | 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:
| |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprMatrixTranspose < MatrixConstReference< T, Rows, Cols > >, Cols, Rows > | trans (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Transpose the matrix. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMatrixRow < MatrixConstReference< T, Rows, Cols >, Rows, Cols > , Cols > | 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 > | 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< XprMatrixDiag < MatrixConstReference< T, Sz, Sz >, Sz >, Sz > | diag (const Matrix< T, Sz, Sz > &m) TVMET_CXX_ALWAYS_INLINE |
Returns the diagonal vector of the given square matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
Extremum< typename E::value_type, std::size_t, matrix_tag > | maximum (const XprMatrix< E, Rows, Cols > &e) |
Find the maximum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
Extremum< T, std::size_t, matrix_tag > | maximum (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
Extremum< typename E::value_type, std::size_t, matrix_tag > | minimum (const XprMatrix< E, Rows, Cols > &e) |
Find the minimum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
Extremum< T, std::size_t, matrix_tag > | minimum (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
E::value_type | max (const XprMatrix< E, Rows, Cols > &e) |
Find the maximum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
T | max (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
E::value_type | min (const XprMatrix< E, Rows, Cols > &e) |
Find the minimum of a matrix expression. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
T | min (const Matrix< T, Rows, Cols > &m) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a matrix. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprIdentity< T, Rows, Cols >, Rows, Cols > | identity () TVMET_CXX_ALWAYS_INLINE |
Fill a matrix to an identity matrix. | |
template<class T , std::size_t Rows, std::size_t Cols> | |
XprMatrix < MatrixConstReference< T, Rows, Cols >, Rows, Cols > | cmatrix_ref (const T *mem) TVMET_CXX_ALWAYS_INLINE |
Creates an expression wrapper for a C like matrices. | |
template<class E > | |
std::ostream & | operator<< (std::ostream &os, const TvmetBase< E > &e) |
overloaded ostream operator using static polymorphic. | |
template<class E , std::size_t Sz> | |
bool | all_elements (const XprVector< E, Sz > &e) |
check on statements for all elementsThis is for use with boolean operators like | |
template<class E , std::size_t Sz> | |
bool | any_elements (const XprVector< E, Sz > &e) |
check on statements for any elementsThis is for use with boolean operators like | |
template<class E1 , class T2 , class T3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz > , VectorConstReference< T2, Sz > , VectorConstReference< T3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const Vector< T2, Sz > &v2, const Vector< T3, Sz > &v3) |
eval(const XprVector<E1, Sz>& e1, const Vector<T2, Sz>& v2, const Vector<T3, Sz>& v3) | |
template<class E1 , class T2 , class E3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz > , VectorConstReference< T2, Sz > , XprVector< E3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const Vector< T2, Sz > &v2, const XprVector< E3, Sz > &e3) |
eval(const XprVector<E1, Sz>& e1, const Vector<T2, Sz>& v2, const XprVector<E3, Sz>& e3) | |
template<class E1 , class E2 , class T3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz >, XprVector< E2, Sz > , VectorConstReference< T3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const XprVector< E2, Sz > &e2, const Vector< T3, Sz > &v3) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, const Vector<T3, Sz>& v3) | |
template<class E1 , class E2 , class E3 , std::size_t Sz> | |
XprVector< XprEval< XprVector < E1, Sz >, XprVector< E2, Sz > , XprVector< E3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, const XprVector< E2, Sz > &e2, const XprVector< E3, Sz > &e3) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, const XprVector<E3, Sz>& e3) | |
TVMET_IMPLEMENT_MACRO (int) TVMET_IMPLEMENT_MACRO(long long int) TVMET_IMPLEMENT_MACRO(float) TVMET_IMPLEMENT_MACRO(double) TVMET_IMPLEMENT_MACRO(long double) template< class E | |
eval(const XprVector<E, Sz>& e, std::complex<T> z2, std::complex<T> z3) | |
template<class E1 , class E3 , std::size_t Sz, class T > | |
XprVector< XprEval< XprVector < E1, Sz >, XprLiteral < std::complex< T > >, XprVector< E3, Sz > >, Sz > | eval (const XprVector< E1, Sz > &e1, std::complex< T > z2, const XprVector< E3, Sz > &e3) |
eval(const XprVector<E1, Sz>& e1, std::complex<T> z2, const XprVector<E3, Sz>& e3) | |
template<class E1 , class E2 , std::size_t Sz, class T > | |
XprVector< XprEval< XprVector < E1, Sz >, XprVector< E2, Sz > , XprLiteral< std::complex< T > > >, Sz > | eval (const XprVector< E1, Sz > &e1, const XprVector< E2, Sz > &e2, std::complex< T > z3) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, std::complex<T> z3) | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | product (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Compute the product of the vector elements. | |
template<class T1 , class T2 , std::size_t Sz> | |
PromoteTraits< T1, T2 >::value_type | dot (const Vector< T1, Sz > &lhs, const Vector< T2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
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 > | cross (const Vector< T1, 3 > &lhs, const Vector< T2, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the cross/outer product. | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | norm1 (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The ![]() | |
template<class T , std::size_t Sz> | |
NumericTraits< T >::sum_type | norm2 (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The euklidian norm (or ![]() | |
template<class T , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < T, T >, VectorConstReference < T, Sz >, XprLiteral< T > >, Sz > | normalize (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Normalize the given vector. | |
template<class E , std::size_t Sz> | |
Extremum< typename E::value_type, std::size_t, vector_tag > | maximum (const XprVector< E, Sz > &e) |
Find the maximum of a vector expression. | |
template<class T , std::size_t Sz> | |
Extremum< T, std::size_t, vector_tag > | maximum (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a vector. | |
template<class E , std::size_t Sz> | |
Extremum< typename E::value_type, std::size_t, vector_tag > | minimum (const XprVector< E, Sz > &e) |
Find the minimum of a vector expression. | |
template<class T , std::size_t Sz> | |
Extremum< T, std::size_t, vector_tag > | minimum (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a vector. | |
template<class E , std::size_t Sz> | |
E::value_type | max (const XprVector< E, Sz > &e) |
Find the maximum of a vector expression. | |
template<class T , std::size_t Sz> | |
T | max (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the maximum of a vector. | |
template<class E , std::size_t Sz> | |
E::value_type | min (const XprVector< E, Sz > &e) |
Find the minimum of a vector expression. | |
template<class T , std::size_t Sz> | |
T | min (const Vector< T, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Find the minimum of a vector. | |
template<class T , std::size_t Sz> | |
XprVector < VectorConstReference< T, Sz > , Sz > | cvector_ref (const T *mem) TVMET_CXX_ALWAYS_INLINE |
Creates an expression wrapper for a C like vector arrays. | |
template<class T , std::size_t Sz> | |
std::ostream & | operator<< (std::ostream &os, const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Overload operator for i/o. | |
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 > | 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:
| |
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 > | 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 > | 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 > | 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> | |
XprMatrix< XprMatrixTranspose < XprMatrix< E, Rows, Cols > >, Cols, Rows > | trans (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
Transpose an expression matrix. | |
template<class E , std::size_t Rows, std::size_t Cols> | |
XprVector< XprMatrixRow < XprMatrix< E, Rows, Cols > , Rows, Cols >, Cols > | 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 > | 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 E , std::size_t Sz> | |
XprVector< XprMatrixDiag < XprMatrix< E, Sz, Sz >, Sz > , Sz > | diag (const XprMatrix< E, Sz, Sz > &m) TVMET_CXX_ALWAYS_INLINE |
Returns the diagonal vector of the given square matrix. | |
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 > | operator* (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 Rows, std::size_t Cols, class E2 > | |
XprVector< XprMVProduct < XprMatrix< E1, Rows, Cols > , Rows, Cols, XprVector< E2, Cols > >, Rows > | operator* (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 Sz> | |
NumericTraits< typename E::value_type >::sum_type | product (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Compute the product of the vector elements. | |
template<class E1 , class E2 , std::size_t Sz> | |
PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type | dot (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
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 | dot (const Vector< T, Sz > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
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 | dot (const XprVector< E, Sz > &lhs, const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the dot/inner productCompute the dot product as:
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 > | cross (const XprVector< E1, 3 > &lhs, const XprVector< E2, 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 > | cross (const Vector< T, 3 > &lhs, const XprVector< E, 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 > | cross (const XprVector< E, 3 > &lhs, const Vector< T, 3 > &rhs) TVMET_CXX_ALWAYS_INLINE |
Compute the cross/outer product. | |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | norm1 (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The ![]() | |
template<class E , std::size_t Sz> | |
NumericTraits< typename E::value_type >::sum_type | norm2 (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
The euklidian norm (or ![]() | |
template<class E , std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, typename E::value_type > , XprVector< E, Sz > , XprLiteral< typename E::value_type > >, Sz > | normalize (const XprVector< E, Sz > &v) TVMET_CXX_ALWAYS_INLINE |
Normalize the given vector expression. |
Detailed Description
The namespace for the Tiny Vector Matrix using Expression Templates Libary.
forward
Function Documentation
AliasProxy<E> tvmet::alias | ( | E & | expr ) |
Simplify syntax for alias Matrices and Vectors, where aliasing left hand values appear in the expression.
- Example:
typedef tvmet::Matrix<double, 10, 10> matrix_type; matrix_type m; ... alias(m) += trans(m);
- See also:
- AliasProxy
- Some Notes alias
Definition at line 49 of file AliasProxy.h.
bool all_elements | ( | const XprMatrix< E, Rows, Cols > & | e ) |
check on statements for all elementsThis is for use with boolean operators like
- Example:
all_elements(matrix > 0) { // true branch } else { // false branch }
- See also:
- compare
Definition at line 47 of file MatrixEval.h.
bool all_elements | ( | const XprVector< E, Sz > & | e ) |
check on statements for all elementsThis is for use with boolean operators like
- Example:
all_elements(vector > 0) { // true branch } else { // false branch }
- See also:
- compare
Definition at line 52 of file VectorEval.h.
bool any_elements | ( | const XprMatrix< E, Rows, Cols > & | e ) |
check on statements for any elementsThis is for use with boolean operators like
- Example:
any_elements(matrix > 0) { // true branch } else { // false branch }
- See also:
- compare
Definition at line 69 of file MatrixEval.h.
bool any_elements | ( | const XprVector< E, Sz > & | e ) |
check on statements for any elementsThis is for use with boolean operators like
- Example:
any_elements(vector > 0) { // true branch } else { // false branch }
- See also:
- compare
Definition at line 74 of file VectorEval.h.
XprMatrix< MatrixConstReference< T, Rows, Cols >, Rows, Cols > cmatrix_ref | ( | const T * | mem ) |
Creates an expression wrapper for a C like matrices.
This is like creating a matrix of external data, as described at construct. With this function you wrap an expression around a C style matrix and you can operate directly with it as usual.
- Example:
static float lhs[3][3] = { {-1, 0, 1}, { 1, 0, 1}, {-1, 0, -1} }; static float rhs[3][3] = { { 0, 1, 1}, { 0, 1, -1}, { 0, -1, 1} }; ... typedef Matrix<float, 3, 3> matrix_type; matrix_type M( cmatrix_ref<float, 3, 3>(&lhs[0][0]) * cmatrix_ref<float, 3, 3>(&rhs[0][0]) );
- Since:
- release 1.6.0
Definition at line 1363 of file MatrixFunctions.h.
XprVector< XprMatrixCol< MatrixConstReference< T, Rows, Cols >, Rows, Cols >, Rows > col | ( | const Matrix< T, Rows, Cols > & | m, |
std::size_t | no | ||
) |
Returns a column vector of the given matrix.
Definition at line 1046 of file MatrixFunctions.h.
XprVector< XprMatrixCol< XprMatrix< E, Rows, Cols >, Rows, Cols >, Rows > col | ( | const XprMatrix< E, Rows, Cols > & | m, |
std::size_t | no | ||
) |
Returns a column vector of the given matrix.
Definition at line 721 of file xpr/MatrixFunctions.h.
Vector< typename PromoteTraits< T1, T2 >::value_type, 3 > cross | ( | const Vector< T1, 3 > & | lhs, |
const Vector< T2, 3 > & | rhs | ||
) |
Compute the cross/outer product.
- Note:
- working only for vectors of size = 3
Definition at line 590 of file VectorFunctions.h.
Vector< typename PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type, 3 > cross | ( | const XprVector< E1, 3 > & | lhs, |
const XprVector< E2, 3 > & | rhs | ||
) |
Compute the cross/outer product.
- Note:
- working only for vectors of size = 3
Definition at line 552 of file xpr/VectorFunctions.h.
cross | ( | const Vector< T, 3 > & | lhs, |
const XprVector< E, 3 > & | rhs | ||
) |
Compute the cross/outer product.
- Note:
- working only for vectors of size = 3
Vector< typename PromoteTraits< T, typename E::value_type >::value_type, 3 > cross | ( | const XprVector< E, 3 > & | lhs, |
const Vector< T, 3 > & | rhs | ||
) |
Compute the cross/outer product.
- Note:
- working only for vectors of size = 3
Definition at line 574 of file xpr/VectorFunctions.h.
XprVector< VectorConstReference< T, Sz >, Sz > cvector_ref | ( | const T * | mem ) |
Creates an expression wrapper for a C like vector arrays.
This is like creating a vector of external data, as described at construct. With this function you wrap an expression around a C style vector array and you can operate directly with it as usual.
- Example:
static float vertices[N][3] = { {-1, 0, 1}, { 1, 0, 1}, ... }; ... typedef Vector<float, 3> vector_type; ... vector_type V( cross(cvector_ref<float, 3>(&vertices[0][0]), cvector_ref<float, 3>(&vertices[1][0])) );
- Since:
- release 1.6.0
Definition at line 869 of file VectorFunctions.h.
XprVector< XprMatrixDiag< MatrixConstReference< T, Sz, Sz >, Sz >, Sz > diag | ( | const Matrix< T, Sz, Sz > & | m ) |
Returns the diagonal vector of the given square matrix.
Definition at line 1069 of file MatrixFunctions.h.
XprVector< XprMatrixDiag< XprMatrix< E, Sz, Sz >, Sz >, Sz > diag | ( | const XprMatrix< E, Sz, Sz > & | m ) |
Returns the diagonal vector of the given square matrix.
Definition at line 745 of file xpr/MatrixFunctions.h.
PromoteTraits< T1, T2 >::value_type dot | ( | const Vector< T1, Sz > & | lhs, |
const Vector< T2, Sz > & | rhs | ||
) |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.
Definition at line 575 of file VectorFunctions.h.
PromoteTraits< typename E1::value_type, typename E2::value_type >::value_type dot | ( | const XprVector< E1, Sz > & | lhs, |
const XprVector< E2, Sz > & | rhs | ||
) |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.
Definition at line 491 of file xpr/VectorFunctions.h.
PromoteTraits< T, typename E::value_type >::value_type dot | ( | const Vector< T, Sz > & | lhs, |
const XprVector< E, Sz > & | rhs | ||
) |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.
Definition at line 511 of file xpr/VectorFunctions.h.
PromoteTraits< T, typename E::value_type >::value_type dot | ( | const XprVector< E, Sz > & | lhs, |
const Vector< T, Sz > & | rhs | ||
) |
Compute the dot/inner productCompute the dot product as:
where lhs is a column vector and rhs is a row vector, both vectors have the same dimension.
Definition at line 531 of file xpr/VectorFunctions.h.
XprVector< XprEval< XprVector<E1, Sz>, XprVector<E2, Sz>, VectorConstReference<T3, Sz> >, Sz> tvmet::eval | ( | const XprVector< E1, Sz > & | e1, |
const XprVector< E2, Sz > & | e2, | ||
const Vector< T3, Sz > & | v3 | ||
) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, const Vector<T3, Sz>& v3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 160 of file VectorEval.h.
XprVector< XprEval< XprVector<E1, Sz>, XprVector<E2, Sz>, XprVector<E3, Sz> >, Sz> tvmet::eval | ( | const XprVector< E1, Sz > & | e1, |
const XprVector< E2, Sz > & | e2, | ||
const XprVector< E3, Sz > & | e3 | ||
) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, const XprVector<E3, Sz>& e3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 188 of file VectorEval.h.
XprVector< XprEval< XprVector<E1, Sz>, XprLiteral< std::complex<T> >, XprVector<E3, Sz> >, Sz> tvmet::eval | ( | const XprVector< E1, Sz > & | e1, |
std::complex< T > | z2, | ||
const XprVector< E3, Sz > & | e3 | ||
) |
eval(const XprVector<E1, Sz>& e1, std::complex<T> z2, const XprVector<E3, Sz>& e3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 336 of file VectorEval.h.
XprVector< XprEval< XprVector<E1, Sz>, XprVector<E2, Sz>, XprLiteral< std::complex<T> > >, Sz> tvmet::eval | ( | const XprVector< E1, Sz > & | e1, |
const XprVector< E2, Sz > & | e2, | ||
std::complex< T > | z3 | ||
) |
eval(const XprVector<E1, Sz>& e1, const XprVector<E2, Sz>& e2, std::complex<T> z3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 363 of file VectorEval.h.
XprVector< XprEval< XprVector<E1, Sz>, VectorConstReference<T2, Sz>, VectorConstReference<T3, Sz> >, Sz> tvmet::eval | ( | const XprVector< E1, Sz > & | e1, |
const Vector< T2, Sz > & | v2, | ||
const Vector< T3, Sz > & | v3 | ||
) |
eval(const XprVector<E1, Sz>& e1, const Vector<T2, Sz>& v2, const Vector<T3, Sz>& v3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 104 of file VectorEval.h.
XprVector< XprEval< XprVector<E1, Sz>, VectorConstReference<T2, Sz>, XprVector<E3, Sz> >, Sz> tvmet::eval | ( | const XprVector< E1, Sz > & | e1, |
const Vector< T2, Sz > & | v2, | ||
const XprVector< E3, Sz > & | e3 | ||
) |
eval(const XprVector<E1, Sz>& e1, const Vector<T2, Sz>& v2, const XprVector<E3, Sz>& e3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 132 of file VectorEval.h.
eval | ( | const XprMatrix< E1, Rows, Cols > & | e1, |
const Matrix< T2, Rows, Cols > & | m2, | ||
const Matrix< T3, Rows, Cols > & | m3 | ||
) |
Evals the matrix expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 100 of file MatrixEval.h.
eval | ( | const XprMatrix< E1, Rows, Cols > & | e1, |
const Matrix< T2, Rows, Cols > & | m2, | ||
const XprMatrix< E3, Rows, Cols > & | e3 | ||
) |
Evals the matrix expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 130 of file MatrixEval.h.
eval | ( | const XprMatrix< E1, Rows, Cols > & | e1, |
const XprMatrix< E2, Rows, Cols > & | e2, | ||
const Matrix< T3, Rows, Cols > & | m3 | ||
) |
Evals the matrix expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 160 of file MatrixEval.h.
eval | ( | const XprMatrix< E1, Rows, Cols > & | e1, |
const XprMatrix< E2, Rows, Cols > & | e2, | ||
const XprMatrix< E3, Rows, Cols > & | e3 | ||
) |
Evals the matrix expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 190 of file MatrixEval.h.
eval | ( | const XprMatrix< E1, Rows, Cols > & | e1, |
const std::complex< T > & | x2, | ||
const XprMatrix< E3, Rows, Cols > & | e3 | ||
) |
Evals the matrix expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 340 of file MatrixEval.h.
eval | ( | const XprMatrix< E1, Rows, Cols > & | e1, |
const XprMatrix< E2, Rows, Cols > & | e2, | ||
const std::complex< T > & | x3 | ||
) |
Evals the matrix expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Definition at line 368 of file MatrixEval.h.
XprMatrix< XprIdentity< typename M::value_type, M::Rows, M::Cols >, M::Rows, M::Cols > identity | ( | ) |
Fill a matrix to an identity matrix.
Fill a matrix to an identity matrix (convenience wrapper for matrix typedefs).
- Note:
- The matrix doesn't need to be square. Only the elements where the current number of rows are equal to columns will be set to 1, else to 0.
- Usage:
typedef Matrix<double,3,3> matrix_type; ... matrix_type E( identity<double, 3, 3>() );
Note, we have to specify the type, number of rows and columns since ADL can't work here.
- Since:
- release 1.6.0
- Note:
- The matrix doesn't need to be square. Only the elements where the current number of rows are equal to columns will be set to 1, else to 0.
- Usage:
typedef Matrix<double,3,3> matrix_type; ... matrix_type E( identity<matrix_type>() );
Note, we have to specify the matrix type, since ADL can't work here.
- Since:
- release 1.6.0
Definition at line 1289 of file MatrixFunctions.h.
E::value_type max | ( | const XprVector< E, Sz > & | e ) |
Find the maximum of a vector expression.
Definition at line 757 of file VectorFunctions.h.
T max | ( | const Vector< T, Sz > & | v ) |
Find the maximum of a vector.
Definition at line 778 of file VectorFunctions.h.
T max | ( | const Matrix< T, Rows, Cols > & | m ) |
Find the maximum of a matrix.
Definition at line 1190 of file MatrixFunctions.h.
E::value_type max | ( | const XprMatrix< E, Rows, Cols > & | e ) |
Find the maximum of a matrix expression.
Definition at line 1169 of file MatrixFunctions.h.
Extremum< typename E::value_type, std::size_t, vector_tag > maximum | ( | const XprVector< E, Sz > & | e ) |
Find the maximum of a vector expression.
Definition at line 683 of file VectorFunctions.h.
Extremum< T, std::size_t, vector_tag > maximum | ( | const Vector< T, Sz > & | v ) |
Find the maximum of a vector.
Definition at line 709 of file VectorFunctions.h.
Extremum< typename E::value_type, std::size_t, matrix_tag > maximum | ( | const XprMatrix< E, Rows, Cols > & | e ) |
Find the maximum of a matrix expression.
Definition at line 1091 of file MatrixFunctions.h.
Extremum< T, std::size_t, matrix_tag > maximum | ( | const Matrix< T, Rows, Cols > & | m ) |
Find the maximum of a matrix.
Definition at line 1119 of file MatrixFunctions.h.
E::value_type min | ( | const XprVector< E, Sz > & | e ) |
Find the minimum of a vector expression.
Definition at line 802 of file VectorFunctions.h.
T min | ( | const Vector< T, Sz > & | v ) |
Find the minimum of a vector.
Definition at line 823 of file VectorFunctions.h.
E::value_type min | ( | const XprMatrix< E, Rows, Cols > & | e ) |
Find the minimum of a matrix expression.
Definition at line 1216 of file MatrixFunctions.h.
T min | ( | const Matrix< T, Rows, Cols > & | m ) |
Find the minimum of a matrix.
Definition at line 1237 of file MatrixFunctions.h.
Extremum< typename E::value_type, std::size_t, vector_tag > minimum | ( | const XprVector< E, Sz > & | e ) |
Find the minimum of a vector expression.
Definition at line 720 of file VectorFunctions.h.
Extremum< T, std::size_t, vector_tag > minimum | ( | const Vector< T, Sz > & | v ) |
Find the minimum of a vector.
Definition at line 746 of file VectorFunctions.h.
Extremum< typename E::value_type, std::size_t, matrix_tag > minimum | ( | const XprMatrix< E, Rows, Cols > & | e ) |
Find the minimum of a matrix expression.
Definition at line 1130 of file MatrixFunctions.h.
Extremum< T, std::size_t, matrix_tag > minimum | ( | const Matrix< T, Rows, Cols > & | m ) |
Find the minimum of a matrix.
Definition at line 1158 of file MatrixFunctions.h.
XprMatrix< XprMMtProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Rows2, Cols1 >, Cols1 >, Rows1, Rows2 > MMt_prod | ( | const Matrix< T1, Rows1, Cols1 > & | lhs, |
const Matrix< T2, Rows2, Cols1 > & | rhs | ||
) |
Function for the matrix-trans(matrix)-product.
- Note:
- The Cols2 has to be equal to Cols1.
Definition at line 849 of file MatrixFunctions.h.
XprMatrix< XprMMtProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Rows2, Cols1 >, Cols1 >, Rows1, Rows2 > MMt_prod | ( | const XprMatrix< E1, Rows1, Cols1 > & | lhs, |
const XprMatrix< E2, Rows2, Cols1 > & | rhs | ||
) |
Function for the matrix-trans(matrix)-product.
- Note:
- The cols2 has to be equal to cols1.
Definition at line 601 of file xpr/MatrixFunctions.h.
XprMatrix< XprMtMProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Rows1, Cols2 >, Cols2 >, Cols1, Cols2 > MtM_prod | ( | const Matrix< T1, Rows1, Cols1 > & | lhs, |
const Matrix< T2, Rows1, Cols2 > & | rhs | ||
) |
Function for the trans(matrix)-matrix-product.
using formula
- 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.
Definition at line 823 of file MatrixFunctions.h.
XprMatrix< XprMtMProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Rows1, Cols2 >, Cols2 >, Cols1, Cols2 > MtM_prod | ( | const XprMatrix< E1, Rows1, Cols1 > & | lhs, |
const XprMatrix< E2, Rows1, Cols2 > & | rhs | ||
) |
Function for the trans(matrix)-matrix-product.
using formula
- 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.
Definition at line 576 of file xpr/MatrixFunctions.h.
XprVector< XprMtVProduct< MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Rows > >, Cols > Mtx_prod | ( | const Matrix< T1, Rows, Cols > & | lhs, |
const Vector< T2, Rows > & | rhs | ||
) |
Function for the trans(matrix)-vector-productPerform on given Matrix M and vector x:
.
Definition at line 954 of file MatrixFunctions.h.
NumericTraits< T >::sum_type norm1 | ( | const Vector< T, Sz > & | v ) |
The norm of a vector v.
The norm of any vector is just the square root of the dot product of a vector with itself, or
Definition at line 612 of file VectorFunctions.h.
NumericTraits< typename E::value_type >::sum_type norm1 | ( | const XprVector< E, Sz > & | v ) |
The norm of a vector expression.
The norm of any vector is just the square root of the dot product of a vector with itself, or
Definition at line 617 of file xpr/VectorFunctions.h.
NumericTraits< T >::sum_type norm2 | ( | const Vector< T, Sz > & | v ) |
The euklidian norm (or norm) of a vector v.
The norm of any vector is just the square root of the dot product of a vector with itself, or
- Note:
- The internal cast for Vector<int> avoids warnings on sqrt.
Definition at line 633 of file VectorFunctions.h.
NumericTraits< typename E::value_type >::sum_type norm2 | ( | const XprVector< E, Sz > & | v ) |
The euklidian norm (or norm) of a vector expression.
The norm of any vector is just the square root of the dot product of a vector with itself, or
- Note:
- The internal cast for Vector<int> avoids warnings on sqrt.
Definition at line 638 of file xpr/VectorFunctions.h.
XprVector< XprBinOp< Fcnl_div< T, T >, VectorConstReference< T, Sz >, XprLiteral< T > >, Sz > normalize | ( | const Vector< T, Sz > & | v ) |
Normalize the given vector.
- See also:
- norm2
using the equation:
Definition at line 659 of file VectorFunctions.h.
XprVector< XprBinOp< Fcnl_div< typename E::value_type, typename E::value_type >, XprVector< E, Sz >, XprLiteral< typename E::value_type > >, Sz > normalize | ( | const XprVector< E, Sz > & | v ) |
Normalize the given vector expression.
- See also:
- norm2
using the equation:
Definition at line 665 of file xpr/VectorFunctions.h.
XprVector< XprMVProduct< XprMatrix< E1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > operator* | ( | const XprMatrix< E1, Rows, Cols > & | lhs, |
const XprVector< E2, Cols > & | rhs | ||
) |
Evaluate the product of XprMatrix and XprVector.
- See also:
- prod(XprMatrix<E1, Rows, Cols> lhs, XprVector<E2, Cols> rhs)
Definition at line 657 of file xpr/MatrixOperators.h.
XprMatrix< XprMMProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > operator* | ( | const XprMatrix< E1, Rows1, Cols1 > & | lhs, |
const XprMatrix< E2, Cols1, Cols2 > & | rhs | ||
) |
Evaluate the product of two XprMatrix.
- See also:
- prod(XprMatrix<E1, Rows1, Cols1> lhs, XprMatrix<E2, Cols1, Cols2> rhs)
Definition at line 631 of file xpr/MatrixOperators.h.
std::ostream & operator<< | ( | std::ostream & | os, |
const Vector< T, Sz > & | rhs | ||
) |
Overload operator for i/o.
Definition at line 506 of file VectorOperators.h.
operator<< | ( | std::ostream & | os, |
const TvmetBase< E > & | e | ||
) |
overloaded ostream operator using static polymorphic.
Definition at line 79 of file TvmetBase.h.
XprMatrix< XprMMProduct< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > prod | ( | const XprMatrix< E1, Rows1, Cols1 > & | lhs, |
const Matrix< T2, Cols1, Cols2 > & | rhs | ||
) |
Evaluate the product of XprMatrix and Matrix.
Definition at line 737 of file MatrixFunctions.h.
XprMatrix< XprMMProduct< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Rows1, Cols2 > prod | ( | const Matrix< T1, Rows1, Cols1 > & | lhs, |
const XprMatrix< E2, Cols1, Cols2 > & | rhs | ||
) |
Evaluate the product of Matrix and XprMatrix.
Definition at line 762 of file MatrixFunctions.h.
XprVector< XprMVProduct< MatrixConstReference< T1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > prod | ( | const Matrix< T1, Rows, Cols > & | lhs, |
const XprVector< E2, Cols > & | rhs | ||
) |
Function for the matrix-vector-product.
Definition at line 902 of file MatrixFunctions.h.
XprVector< XprMVProduct< MatrixConstReference< T1, Rows, Cols >, Rows, Cols, VectorConstReference< T2, Cols > >, Rows > prod | ( | const Matrix< T1, Rows, Cols > & | lhs, |
const Vector< T2, Cols > & | rhs | ||
) |
Function for the matrix-vector-product.
Definition at line 878 of file MatrixFunctions.h.
XprVector< XprMVProduct< XprMatrix< E1, Rows, Cols >, Rows, Cols, XprVector< E2, Cols > >, Rows > prod | ( | const XprMatrix< E1, Rows, Cols > & | lhs, |
const XprVector< E2, Cols > & | rhs | ||
) |
Evaluate the product of XprMatrix and XprVector.
Definition at line 630 of file xpr/MatrixFunctions.h.
NumericTraits< T >::sum_type product | ( | const Vector< T, Sz > & | v ) |
Compute the product of the vector elements.
Simply computer the product of the given vector as:
Definition at line 555 of file VectorFunctions.h.
NumericTraits< typename E::value_type >::sum_type product | ( | const XprVector< E, Sz > & | v ) |
Compute the product of the vector elements.
Simply computer the product of the given vector expression as:
Definition at line 468 of file xpr/VectorFunctions.h.
XprVector< XprMatrixRow< MatrixConstReference< T, Rows, Cols >, Rows, Cols >, Cols > row | ( | const Matrix< T, Rows, Cols > & | m, |
std::size_t | no | ||
) |
Returns a row vector of the given matrix.
Definition at line 1023 of file MatrixFunctions.h.
XprVector< XprMatrixRow< XprMatrix< E, Rows, Cols >, Rows, Cols >, Cols > row | ( | const XprMatrix< E, Rows, Cols > & | m, |
std::size_t | no | ||
) |
Returns a row vector of the given matrix.
Definition at line 697 of file xpr/MatrixFunctions.h.
XprMatrix< XprMatrixTranspose< MatrixConstReference< T, Rows, Cols > >, Cols, Rows > trans | ( | const Matrix< T, Rows, Cols > & | rhs ) |
Transpose the matrix.
Definition at line 982 of file MatrixFunctions.h.
XprMatrix< XprMatrixTranspose< XprMatrix< E, Rows, Cols > >, Cols, Rows > trans | ( | const XprMatrix< E, Rows, Cols > & | rhs ) |
Transpose an expression matrix.
Definition at line 657 of file xpr/MatrixFunctions.h.
XprMatrix< XprMMProductTransposed< MatrixConstReference< T1, Rows1, Cols1 >, Rows1, Cols1, MatrixConstReference< T2, Cols1, Cols2 >, Cols2 >, Cols2, Rows1 > trans_prod | ( | const Matrix< T1, Rows1, Cols1 > & | lhs, |
const Matrix< T2, Cols1, Cols2 > & | rhs | ||
) |
Function for the trans(matrix-matrix-product)Perform on given Matrix M1 and M2:
.
Definition at line 791 of file MatrixFunctions.h.
XprMatrix< XprMMProductTransposed< XprMatrix< E1, Rows1, Cols1 >, Rows1, Cols1, XprMatrix< E2, Cols1, Cols2 >, Cols2 >, Cols2, Rows1 > trans_prod | ( | const XprMatrix< E1, Rows1, Cols1 > & | lhs, |
const XprMatrix< E2, Cols1, Cols2 > & | rhs | ||
) |
Function for the trans(matrix-matrix-product) Perform on given Matrix M1 and M2:
.
- Note:
- The numer of Rows2 has to be equal to Cols1.
Definition at line 545 of file xpr/MatrixFunctions.h.
tvmet::TVMET_IMPLEMENT_MACRO | ( | int | ) |
eval(const XprVector<E, Sz>& e, std::complex<T> z2, std::complex<T> z3)
Evals the vector expressions.
This eval is for the a?b:c syntax, since it's not allowed to overload these operators.
Generated on Tue Jul 12 2022 21:02:14 by
