![]() |
Chemical Data Processing Library C++ API - Version 1.2.3
|
Contains classes and functions related to mathematics. More...
Typedefs | |
| typedef ScalingMatrix< float > | FScalingMatrix |
| typedef ScalingMatrix< double > | DScalingMatrix |
| typedef ScalingMatrix< long > | LScalingMatrix |
| typedef ScalingMatrix< unsigned long > | ULScalingMatrix |
| typedef RotationMatrix< float > | FRotationMatrix |
| typedef RotationMatrix< double > | DRotationMatrix |
| typedef RotationMatrix< long > | LRotationMatrix |
| typedef RotationMatrix< unsigned long > | ULRotationMatrix |
| typedef TranslationMatrix< float > | FTranslationMatrix |
| typedef TranslationMatrix< double > | DTranslationMatrix |
| typedef TranslationMatrix< long > | LTranslationMatrix |
| typedef TranslationMatrix< unsigned long > | ULTranslationMatrix |
| typedef ZeroGrid< float > | FZeroGrid |
| typedef ZeroGrid< double > | DZeroGrid |
| typedef ScalarGrid< float > | FScalarGrid |
| typedef ScalarGrid< double > | DScalarGrid |
| typedef Grid< float > | FGrid |
An unbounded dense grid holding floating point values of type float. More... | |
| typedef Grid< double > | DGrid |
An unbounded dense grid holding floating point values of type double. More... | |
| typedef ZeroMatrix< float > | FZeroMatrix |
| typedef ZeroMatrix< double > | DZeroMatrix |
| typedef ZeroMatrix< long > | LZeroMatrix |
| typedef ZeroMatrix< unsigned long > | ULZeroMatrix |
| typedef ScalarMatrix< float > | FScalarMatrix |
| typedef ScalarMatrix< double > | DScalarMatrix |
| typedef ScalarMatrix< long > | LScalarMatrix |
| typedef ScalarMatrix< unsigned long > | ULScalarMatrix |
| typedef IdentityMatrix< float > | FIdentityMatrix |
| typedef IdentityMatrix< double > | DIdentityMatrix |
| typedef IdentityMatrix< long > | LIdentityMatrix |
| typedef IdentityMatrix< unsigned long > | ULIdentityMatrix |
| typedef Matrix< float > | FMatrix |
An unbounded dense matrix holding floating point values of type float.. More... | |
| typedef Matrix< double > | DMatrix |
An unbounded dense matrix holding floating point values of type double.. More... | |
| typedef Matrix< long > | LMatrix |
An unbounded dense matrix holding signed integers of type long. More... | |
| typedef Matrix< unsigned long > | ULMatrix |
An unbounded dense matrix holding unsigned integers of type unsigned long. More... | |
| typedef CMatrix< float, 2, 2 > | Matrix2F |
A bounded 2x2 matrix holding floating point values of type float. More... | |
| typedef CMatrix< float, 3, 3 > | Matrix3F |
A bounded 3x3 matrix holding floating point values of type float. More... | |
| typedef CMatrix< float, 4, 4 > | Matrix4F |
A bounded 4x4 matrix holding floating point values of type float. More... | |
| typedef CMatrix< double, 2, 2 > | Matrix2D |
A bounded 2x2 matrix holding floating point values of type double. More... | |
| typedef CMatrix< double, 3, 3 > | Matrix3D |
A bounded 3x3 matrix holding floating point values of type double. More... | |
| typedef CMatrix< double, 4, 4 > | Matrix4D |
A bounded 4x4 matrix holding floating point values of type double. More... | |
| typedef CMatrix< long, 2, 2 > | Matrix2L |
A bounded 2x2 matrix holding signed integers of type long. More... | |
| typedef CMatrix< long, 3, 3 > | Matrix3L |
A bounded 3x3 matrix holding signed integers of type long. More... | |
| typedef CMatrix< long, 4, 4 > | Matrix4L |
A bounded 4x4 matrix holding signed integers of type long. More... | |
| typedef CMatrix< unsigned long, 2, 2 > | Matrix2UL |
A bounded 2x2 matrix holding unsigned integers of type unsigned long. More... | |
| typedef CMatrix< unsigned long, 3, 3 > | Matrix3UL |
A bounded 3x3 matrix holding unsigned integers of type unsigned long. More... | |
| typedef CMatrix< unsigned long, 4, 4 > | Matrix4UL |
A bounded 4x4 matrix holding unsigned integers of type unsigned long. More... | |
| typedef SparseMatrix< float > | SparseFMatrix |
An unbounded sparse matrix holding floating point values of type float.. More... | |
| typedef SparseMatrix< double > | SparseDMatrix |
An unbounded sparse matrix holding floating point values of type double.. More... | |
| typedef SparseMatrix< long > | SparseLMatrix |
An unbounded sparse matrix holding signed integers of type long. More... | |
| typedef SparseMatrix< unsigned long > | SparseULMatrix |
An unbounded sparse matrix holding unsigned integers of type unsigned long. More... | |
| typedef Quaternion< float > | FQuaternion |
| typedef Quaternion< double > | DQuaternion |
| typedef Quaternion< long > | LQuaternion |
| typedef Quaternion< unsigned long > | ULQuaternion |
| typedef RealQuaternion< float > | FRealQuaternion |
| typedef RealQuaternion< double > | DRealQuaternion |
| typedef RealQuaternion< long > | LRealQuaternion |
| typedef RealQuaternion< unsigned long > | ULRealQuaternion |
| typedef RegularSpatialGrid< float > | FRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type float. More... | |
| typedef RegularSpatialGrid< double > | DRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type double. More... | |
| typedef ScalarVector< float > | FScalarVector |
| typedef ScalarVector< double > | DScalarVector |
| typedef ScalarVector< long > | LScalarVector |
| typedef ScalarVector< unsigned long > | ULScalarVector |
| typedef ZeroVector< float > | FZeroVector |
| typedef ZeroVector< double > | DZeroVector |
| typedef ZeroVector< long > | LZeroVector |
| typedef ZeroVector< unsigned long > | ULZeroVector |
| typedef UnitVector< float > | FUnitVector |
| typedef UnitVector< double > | DUnitVector |
| typedef UnitVector< long > | LUnitVector |
| typedef UnitVector< unsigned long > | ULUnitVector |
| typedef CVector< float, 2 > | Vector2F |
A bounded 2 element vector holding floating point values of type float. More... | |
| typedef CVector< float, 3 > | Vector3F |
A bounded 3 element vector holding floating point values of type float. More... | |
| typedef CVector< float, 4 > | Vector4F |
A bounded 4 element vector holding floating point values of type float. More... | |
| typedef CVector< double, 2 > | Vector2D |
A bounded 2 element vector holding floating point values of type double. More... | |
| typedef CVector< double, 3 > | Vector3D |
A bounded 3 element vector holding floating point values of type double. More... | |
| typedef CVector< double, 4 > | Vector4D |
A bounded 4 element vector holding floating point values of type double. More... | |
| typedef CVector< double, 7 > | Vector7D |
A bounded 7 element vector holding floating point values of type double. More... | |
| typedef CVector< long, 2 > | Vector2L |
A bounded 2 element vector holding signed integers of type long. More... | |
| typedef CVector< long, 3 > | Vector3L |
A bounded 3 element vector holding signed integers of type long. More... | |
| typedef CVector< long, 4 > | Vector4L |
A bounded 4 element vector holding signed integers of type long. More... | |
| typedef CVector< unsigned long, 2 > | Vector2UL |
A bounded 2 element vector holding unsigned integers of type unsigned long. More... | |
| typedef CVector< unsigned long, 3 > | Vector3UL |
A bounded 3 element vector holding unsigned integers of type unsigned long. More... | |
| typedef CVector< unsigned long, 4 > | Vector4UL |
A bounded 4 element vector holding unsigned integers of type unsigned long. More... | |
| typedef Vector< float > | FVector |
An unbounded dense vector holding floating point values of type float. More... | |
| typedef Vector< double > | DVector |
An unbounded dense vector holding floating point values of type double. More... | |
| typedef Vector< long > | LVector |
An unbounded dense vector holding signed integers of type long. More... | |
| typedef Vector< unsigned long > | ULVector |
An unbounded dense vector holding unsigned integers of type unsigned long. More... | |
| typedef SparseVector< float > | SparseFVector |
An unbounded sparse vector holding floating point values of type float. More... | |
| typedef SparseVector< double > | SparseDVector |
An unbounded sparse vector holding floating point values of type double. More... | |
| typedef SparseVector< long > | SparseLVector |
An unbounded sparse vector holding signed integers of type long. More... | |
| typedef SparseVector< unsigned long > | SparseULVector |
An unbounded sparse vector holding unsigned integers of type unsigned long. More... | |
| typedef VectorArray< Vector2F > | Vector2FArray |
| An array of Math::Vector2F objects. More... | |
| typedef VectorArray< Vector3F > | Vector3FArray |
| An array of Math::Vector3F objects. More... | |
| typedef VectorArray< Vector2D > | Vector2DArray |
| An array of Math::Vector2D objects. More... | |
| typedef VectorArray< Vector3D > | Vector3DArray |
| An array of Math::Vector3D objects. More... | |
| typedef VectorArray< Vector2L > | Vector2LArray |
| An array of Math::Vector2L objects. More... | |
| typedef VectorArray< Vector3L > | Vector3LArray |
| An array of Math::Vector3L objects. More... | |
| typedef VectorArray< Vector2UL > | Vector2ULArray |
| An array of Math::Vector2UL objects. More... | |
| typedef VectorArray< Vector3UL > | Vector3ULArray |
| An array of Math::Vector3UL objects. More... | |
Functions | |
| template<typename C > | |
| DirectAssignmentProxy< const C > | direct (const C &lvalue) |
| template<typename C > | |
| DirectAssignmentProxy< C > | direct (C &lvalue) |
| template<template< typename T1, typename T2 > class F, typename G , typename E > | |
| void | gridAssignGrid (G &g, const GridExpression< E > &e) |
| template<template< typename T1, typename T2 > class F, typename G , typename T > | |
| void | gridAssignScalar (G &g, const T &t) |
| template<typename G , typename E > | |
| void | gridSwap (G &g, GridExpression< E > &e) |
| template<typename E > | |
| GridUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const GridExpression< E > &e) |
| template<typename E > | |
| const E & | operator+ (const GridExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| GridBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| GridBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2GridBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const GridExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar1GridBinaryTraits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const GridExpression< E > &e) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2GridBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const GridExpression< E > &e, const T &t) |
| template<typename E1 , typename E2 > | |
| GridEquality< E1, E2 >::ResultType | operator== (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| GridEquality< E1, E2 >::ResultType | operator!= (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
| template<typename E1 , typename E2 , typename T > | |
| std::enable_if< std::is_arithmetic< T >::value, typename GridToleranceEquality< E1, E2, T >::ResultType >::type | equals (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2, const T &eps) |
| template<typename E > | |
| GridUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | conj (const GridExpression< E > &e) |
| template<typename E > | |
| GridUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | herm (const GridExpression< E > &e) |
| template<typename E > | |
| GridUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | real (const GridExpression< E > &e) |
| template<typename E > | |
| GridUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | imag (const GridExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| GridBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| GridBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const GridExpression< E1 > &e1, const GridExpression< E2 > &e2) |
| template<typename E > | |
| GridElementSum< E >::ResultType | sum (const GridExpression< E > &e) |
| template<typename C , typename T , typename E > | |
| std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const VectorExpression< E > &e) |
| template<typename C , typename T , typename E > | |
| std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const MatrixExpression< E > &e) |
| template<typename C , typename T , typename E > | |
| std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const QuaternionExpression< E > &e) |
| template<typename C , typename T , typename E > | |
| std::basic_ostream< C, T > & | operator<< (std::basic_ostream< C, T > &os, const GridExpression< E > &e) |
| template<typename M1 , typename V , typename M2 > | |
| bool | jacobiDiagonalize (MatrixExpression< M1 > &a, VectorExpression< V > &d, MatrixExpression< M2 > &v, std::size_t max_iter=50) |
| Computes all eigenvalues and eigenvectors of a real symmetric matrix an using Jacobi's algorithm [WJACO ]. More... | |
| template<typename E1 , typename E2 > | |
| bool | solveLower (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveUnitLower (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveLower (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveUnitLower (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveUpper (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveUnitUpper (const MatrixExpression< E1 > &e1, VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveUpper (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| bool | solveUnitUpper (const MatrixExpression< E1 > &e1, MatrixExpression< E2 > &e2) |
| template<typename E > | |
| E::SizeType | luDecompose (MatrixExpression< E > &e) |
| template<typename E , typename PV , typename T > | |
| E::SizeType | luDecompose (MatrixExpression< E > &e, PV &pv, T &num_row_swaps) |
| template<typename E , typename PV > | |
| void | swapRows (VectorExpression< E > &e, const PV &pv) |
| template<typename E , typename PV > | |
| void | swapRows (MatrixExpression< E > &e, const PV &pv) |
| template<typename E1 , typename E2 > | |
| bool | luSubstitute (const MatrixExpression< E1 > &lu, VectorExpression< E2 > &b) |
| template<typename E1 , typename E2 , typename PV > | |
| bool | luSubstitute (const MatrixExpression< E1 > &lu, const PV &pv, VectorExpression< E2 > &b) |
| template<typename E1 , typename E2 > | |
| bool | luSubstitute (const MatrixExpression< E1 > &lu, MatrixExpression< E2 > &b) |
| template<typename E1 , typename E2 , typename PV > | |
| bool | luSubstitute (const MatrixExpression< E1 > &lu, const PV &pv, MatrixExpression< E2 > &b) |
| template<typename E > | |
| E::ValueType | det (const MatrixExpression< E > &e) |
| template<typename C > | |
| C::ValueType | det (const MatrixContainer< C > &c) |
| template<typename E , typename C > | |
| bool | invert (const MatrixExpression< E > &e, MatrixContainer< C > &c) |
| template<typename C > | |
| bool | invert (MatrixContainer< C > &c) |
| template<typename Tri , typename E > | |
| TriangularAdapter< E, Tri > | triang (MatrixExpression< E > &e) |
| template<typename Tri , typename E > | |
| TriangularAdapter< const E, Tri > | triang (const MatrixExpression< E > &e) |
| template<template< typename T1, typename T2 > class F, typename M , typename E > | |
| void | matrixAssignMatrix (M &m, const MatrixExpression< E > &e) |
| template<template< typename T1, typename T2 > class F, typename M , typename T > | |
| void | matrixAssignScalar (M &m, const T &t) |
| template<typename M , typename E > | |
| void | matrixSwap (M &m, MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const MatrixExpression< E > &e) |
| template<typename E > | |
| const E & | operator+ (const MatrixExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| MatrixBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| MatrixBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2MatrixBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const MatrixExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar1MatrixBinaryTraits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const MatrixExpression< E > &e) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2MatrixBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const MatrixExpression< E > &e, const T &t) |
| template<typename E1 , typename E2 > | |
| MatrixEquality< E1, E2 >::ResultType | operator== (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| MatrixEquality< E1, E2 >::ResultType | operator!= (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 , typename T > | |
| std::enable_if< std::is_arithmetic< T >::value, typename MatrixToleranceEquality< E1, E2, T >::ResultType >::type | equals (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2, const T &eps) |
| template<typename E > | |
| MatrixUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | conj (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | herm (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | real (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | imag (const MatrixExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| VectorMatrixBinaryTraits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | outerProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| MatrixBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| MatrixBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| Matrix1VectorBinaryTraits< E1, E2, MatrixVectorProduct< E1, E2 > >::ResultType | operator* (const MatrixExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| Matrix1VectorBinaryTraits< E1, E2, MatrixVectorProduct< E1, E2 > >::ResultType | prod (const MatrixExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename C , typename E1 , typename E2 > | |
| C & | prod (const MatrixExpression< E1 > &e1, const VectorExpression< E2 > &e2, VectorContainer< C > &c) |
| template<typename E1 , typename E2 > | |
| Matrix2VectorBinaryTraits< E1, E2, VectorMatrixProduct< E1, E2 > >::ResultType | operator* (const VectorExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| Matrix2VectorBinaryTraits< E1, E2, VectorMatrixProduct< E1, E2 > >::ResultType | prod (const VectorExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename C , typename E1 , typename E2 > | |
| C & | prod (const VectorExpression< E1 > &e1, const MatrixExpression< E2 > &e2, VectorContainer< C > &c) |
| template<typename E1 , typename E2 > | |
| MatrixBinary2Traits< E1, E2, MatrixProduct< E1, E2 > >::ResultType | operator* (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| MatrixBinary2Traits< E1, E2, MatrixProduct< E1, E2 > >::ResultType | prod (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2) |
| template<typename C , typename E1 , typename E2 > | |
| C & | prod (const MatrixExpression< E1 > &e1, const MatrixExpression< E2 > &e2, MatrixContainer< C > &c) |
| template<typename E > | |
| MatrixTrace< E >::ResultType | trace (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixNorm1< E >::ResultType | norm1 (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixNormFrobenius< E >::ResultType | normFrob (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixNormInfinity< E >::ResultType | normInf (const MatrixExpression< E > &e) |
| template<typename E > | |
| VectorMatrixUnaryTraits< E, DiagonalMatrixFromVector< E > >::ResultType | diag (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorMatrixUnaryTraits< E, CrossProductMatrixFromVector< E > >::ResultType | cross (const VectorExpression< E > &e) |
| template<typename E > | |
| MatrixTranspose< E > | trans (MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixTranspose< const E > | trans (const MatrixExpression< E > &e) |
| template<typename E > | |
| MatrixElementSum< E >::ResultType | sum (const MatrixExpression< E > &e) |
| template<typename M > | |
| MatrixRow< M > | row (MatrixExpression< M > &e, typename MatrixRow< M >::SizeType i) |
| template<typename M > | |
| MatrixRow< const M > | row (const MatrixExpression< M > &e, typename MatrixRow< const M >::SizeType i) |
| template<typename M > | |
| MatrixColumn< M > | column (MatrixExpression< M > &e, typename MatrixColumn< M >::SizeType j) |
| template<typename M > | |
| MatrixColumn< const M > | column (const MatrixExpression< M > &e, typename MatrixColumn< const M >::SizeType j) |
| template<typename E > | |
| MatrixRange< E > | range (MatrixExpression< E > &e, const typename MatrixRange< E >::RangeType &r1, const typename MatrixRange< E >::RangeType &r2) |
| template<typename E > | |
| MatrixRange< const E > | range (const MatrixExpression< E > &e, const typename MatrixRange< const E >::RangeType &r1, const typename MatrixRange< const E >::RangeType &r2) |
| template<typename E > | |
| MatrixRange< E > | range (MatrixExpression< E > &e, typename MatrixRange< E >::RangeType::SizeType start1, typename MatrixRange< E >::RangeType::SizeType stop1, typename MatrixRange< E >::RangeType::SizeType start2, typename MatrixRange< E >::RangeType::SizeType stop2) |
| template<typename E > | |
| MatrixRange< const E > | range (const MatrixExpression< E > &e, typename MatrixRange< const E >::RangeType::SizeType start1, typename MatrixRange< const E >::RangeType::SizeType stop1, typename MatrixRange< const E >::RangeType::SizeType start2, typename MatrixRange< const E >::RangeType::SizeType stop2) |
| template<typename E > | |
| MatrixSlice< E > | slice (MatrixExpression< E > &e, const typename MatrixSlice< E >::SliceType &s1, const typename MatrixSlice< E >::SliceType &s2) |
| template<typename E > | |
| MatrixSlice< const E > | slice (const MatrixExpression< E > &e, const typename MatrixSlice< const E >::SliceType &s1, const typename MatrixSlice< const E >::SliceType &s2) |
| template<typename E > | |
| MatrixSlice< E > | slice (MatrixExpression< E > &e, typename MatrixSlice< E >::SliceType::SizeType start1, typename MatrixSlice< E >::SliceType::DifferenceType stride1, typename MatrixSlice< E >::SliceType::SizeType size1, typename MatrixSlice< E >::SliceType::SizeType start2, typename MatrixSlice< E >::SliceType::DifferenceType stride2, typename MatrixSlice< E >::SliceType::SizeType size2) |
| template<typename E > | |
| MatrixSlice< const E > | slice (const MatrixExpression< E > &e, typename MatrixSlice< const E >::SliceType::SizeType start1, typename MatrixSlice< const E >::SliceType::DifferenceType stride1, typename MatrixSlice< const E >::SliceType::SizeType size1, typename MatrixSlice< const E >::SliceType::SizeType start2, typename MatrixSlice< const E >::SliceType::DifferenceType stride2, typename MatrixSlice< const E >::SliceType::SizeType size2) |
| template<typename T > | |
| std::enable_if< IsScalar< T >::value, RealQuaternion< T > >::type | quat (const T &t) |
| template<typename T1 , typename T2 > | |
| Quaternion< typename CommonType< T1, T2 >::Type > | quat (const T1 &t1, const T2 &t2) |
| template<typename T1 , typename T2 , typename T3 > | |
| Quaternion< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type > | quat (const T1 &t1, const T2 &t2, const T3 &t3) |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| Quaternion< typename CommonType< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, T4 >::Type > | quat (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
| template<typename E > | |
| QuaternionVectorAdapter< E > | vec (QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionVectorAdapter< const E > | vec (const QuaternionExpression< E > &e) |
| template<template< typename T1, typename T2 > class F, typename Q , typename E > | |
| void | quaternionAssignQuaternion (Q &q, const QuaternionExpression< E > &e) |
| template<template< typename T1, typename T2 > class F, typename Q , typename T > | |
| void | quaternionAssignScalar (Q &q, const T &t) |
| template<typename Q , typename E > | |
| void | quaternionSwap (Q &q, QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionUnary1Traits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const QuaternionExpression< E > &e) |
| template<typename E > | |
| const E & | operator+ (const QuaternionExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| QuaternionBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary2Traits< E, T, Scalar2QuaternionAddition< E, T > >::ResultType >::type | operator+ (const QuaternionExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar1QuaternionBinary2Traits< T, E, Scalar1QuaternionAddition< T, E > >::ResultType >::type | operator+ (const T &t, const QuaternionExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| QuaternionBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary2Traits< E, T, Scalar2QuaternionSubtraction< E, T > >::ResultType >::type | operator- (const QuaternionExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar1QuaternionBinary2Traits< T, E, Scalar1QuaternionSubtraction< T, E > >::ResultType >::type | operator- (const T &t, const QuaternionExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| QuaternionBinary2Traits< E1, E2, QuaternionProduct< E1, E2 > >::ResultType | operator* (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary1Traits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const QuaternionExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar1QuaternionBinary1Traits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const QuaternionExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| Scalar3QuaternionTernaryTraits< E1, E2, typename QuaternionNorm2< E2 >::ResultType, QuaternionDivision< E1, E2, typename QuaternionNorm2< E2 >::ResultType > >::ResultType | operator/ (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2QuaternionBinary1Traits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const QuaternionExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar13QuaternionTernaryTraits< T, E, typename QuaternionNorm2< E >::ResultType, ScalarQuaternionDivision< T, E, typename QuaternionNorm2< E >::ResultType > >::ResultType >::type | operator/ (const T &t, const QuaternionExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| QuaternionEquality< E1, E2 >::ResultType | operator== (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| QuaternionEquality< E1, E2 >::ResultType | operator!= (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E1 , typename E2 , typename T > | |
| std::enable_if< std::is_arithmetic< T >::value, typename QuaternionToleranceEquality< E1, E2, T >::ResultType >::type | equals (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2, const T &eps) |
| template<typename E1 , typename E2 > | |
| QuaternionBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| QuaternionBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const QuaternionExpression< E1 > &e1, const QuaternionExpression< E2 > &e2) |
| template<typename E > | |
| E::ValueType | real (const QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionUnary2Traits< E, QuaternionUnreal< E > >::ResultType | unreal (const QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionUnary2Traits< E, QuaternionConjugate< E > >::ResultType | conj (const QuaternionExpression< E > &e) |
| template<typename E > | |
| Scalar2QuaternionBinary2Traits< E, typename QuaternionNorm2< E >::ResultType, QuaternionInverse< E, typename QuaternionNorm2< E >::ResultType > >::ResultType | inv (const QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionNorm< E >::ResultType | norm (const QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionNorm2< E >::ResultType | norm2 (const QuaternionExpression< E > &e) |
| template<typename E > | |
| QuaternionElementSum< E >::ResultType | sum (const QuaternionExpression< E > &e) |
| Range< std::size_t > | range (std::size_t start, std::size_t stop) |
| template<typename T , typename C , typename GD , typename XF , typename V > | |
| T | interpolateTrilinear (const RegularSpatialGrid< T, C, GD, XF > &grid, const V &pos, bool local_pos) |
| Slice< std::size_t, std::ptrdiff_t > | slice (std::size_t start, std::ptrdiff_t stride, std::size_t size) |
| template<typename T > | |
| T | factorial (unsigned int n) |
| Computes the factorial \( n! \) of the non-negative integer n. More... | |
| template<typename T > | |
| T | pythag (const T &a, const T &b) |
| Computes \( \sqrt{a^2 + b^2} \) without destructive underflow or overflow. More... | |
| template<typename T1 , typename T2 > | |
| T1 | sign (const T1 &a, const T2 &b) |
| Returns the magnitude of parameter a times the sign of parameter b. More... | |
| template<typename T > | |
| T | lnGamma (const T &z) |
| Computes \( \ln[\Gamma(z)] \) for \( z > 0 \). More... | |
| template<typename T > | |
| T | gammaQ (const T &a, const T &x) |
| Computes the incomplete gamma function \( Q(a, x) = 1 - P(a, x) \) (see [NRIC] for details). More... | |
| template<typename T > | |
| T | generalizedBell (const T &x, const T &a, const T &b, const T &c) |
| Computes the generalized bell function \( Bell(x) = \frac{1}{1 + |\frac{x-c}{a}|^{2b}} \) at x. More... | |
| template<typename M1 , typename V1 , typename M2 , typename V2 , typename V3 > | |
| void | svBackSubstitution (const M1 &u, const V1 &w, const M2 &v, const V2 &b, V3 &x) |
| Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD]. More... | |
| template<typename A , typename W , typename V > | |
| bool | svDecompose (MatrixExpression< A > &a, VectorExpression< W > &w, MatrixExpression< V > &v, std::size_t max_iter=0) |
| Computes the Singular Value Decomposition [WSVD] \( A = UWV^T \) of a \( M \times N \)-dimensional matrix a. More... | |
| template<typename U , typename W , typename V , typename B , typename X > | |
| void | svSubstitute (const MatrixExpression< U > &u, const VectorExpression< W > &w, const MatrixExpression< V > &v, const VectorExpression< B > &b, VectorExpression< X > &x) |
| Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD]. More... | |
| template<typename U , typename W , typename V , typename B , typename X > | |
| void | svSubstitute (const MatrixExpression< U > &u, const VectorExpression< W > &w, const MatrixExpression< V > &v, const MatrixExpression< B > &b, MatrixExpression< X > &x) |
| Solves \( A \cdot X = B \) for a matrix \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD]. More... | |
| template<typename T1 , typename T2 > | |
| CVector< typename CommonType< T1, T2 >::Type, 2 > | vec (const T1 &t1, const T2 &t2) |
| template<typename T1 , typename T2 , typename T3 > | |
| CVector< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, 3 > | vec (const T1 &t1, const T2 &t2, const T3 &t3) |
| template<typename T1 , typename T2 , typename T3 , typename T4 > | |
| CVector< typename CommonType< typename CommonType< typename CommonType< T1, T2 >::Type, T3 >::Type, T4 >::Type, 4 > | vec (const T1 &t1, const T2 &t2, const T3 &t3, const T4 &t4) |
| template<typename E > | |
| VectorQuaternionAdapter< E > | quat (VectorExpression< E > &e) |
| template<typename E > | |
| VectorQuaternionAdapter< const E > | quat (const VectorExpression< E > &e) |
| template<typename E > | |
| HomogenousCoordsAdapter< E > | homog (VectorExpression< E > &e) |
| template<typename E > | |
| HomogenousCoordsAdapter< const E > | homog (const VectorExpression< E > &e) |
| template<typename T , std::size_t Dim, typename T1 > | |
| void | transform (VectorArray< CVector< T, Dim > > &va, const CMatrix< T1, Dim, Dim > &xform) |
| Transforms each \( N \)-dimensional vector in the array with the \( N \)-dimensional square matrix xform. More... | |
| template<typename T , std::size_t Dim, typename T1 > | |
| void | transform (VectorArray< CVector< T, Dim > > &va, const CMatrix< T1, Dim+1, Dim+1 > &xform) |
| Transforms each \( N \)-dimensional vector in the array with the \( N+1 \)-dimensional square matrix xform. More... | |
| template<typename T , std::size_t Dim, typename T1 > | |
| bool | calcCentroid (const VectorArray< CVector< T, Dim > > &va, CVector< T1, Dim > &ctr) |
| Calculates the centroid of the array elements. More... | |
| template<typename T , std::size_t Dim> | |
| T | calcRMSD (const VectorArray< CVector< T, Dim > > &va1, const VectorArray< CVector< T, Dim > > &va2) |
| template<typename T , std::size_t Dim, typename T1 > | |
| T | calcRMSD (const VectorArray< CVector< T, Dim > > &va1, const VectorArray< CVector< T, Dim > > &va2, const CMatrix< T1, Dim+1, Dim+1 > &va1_xform) |
| template<template< typename T1, typename T2 > class F, typename V , typename E > | |
| void | vectorAssignVector (V &v, const VectorExpression< E > &e) |
| template<template< typename T1, typename T2 > class F, typename V , typename T > | |
| void | vectorAssignScalar (V &v, const T &t) |
| template<typename V , typename E > | |
| void | vectorSwap (V &v, VectorExpression< E > &e) |
| template<typename E > | |
| VectorUnaryTraits< E, ScalarNegation< typename E::ValueType > >::ResultType | operator- (const VectorExpression< E > &e) |
| template<typename E > | |
| const E & | operator+ (const VectorExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| VectorBinary1Traits< E1, E2, ScalarAddition< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator+ (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| VectorBinary1Traits< E1, E2, ScalarSubtraction< typename E1::ValueType, typename E2::ValueType > >::ResultType | operator- (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2VectorBinaryTraits< E, T, ScalarMultiplication< typename E::ValueType, T > >::ResultType >::type | operator* (const VectorExpression< E > &e, const T &t) |
| template<typename T , typename E > | |
| std::enable_if< IsScalar< T >::value, typename Scalar1VectorBinaryTraits< T, E, ScalarMultiplication< T, typename E::ValueType > >::ResultType >::type | operator* (const T &t, const VectorExpression< E > &e) |
| template<typename E , typename T > | |
| std::enable_if< IsScalar< T >::value, typename Scalar2VectorBinaryTraits< E, T, ScalarDivision< typename E::ValueType, T > >::ResultType >::type | operator/ (const VectorExpression< E > &e, const T &t) |
| template<typename E1 , typename E2 > | |
| VectorEquality< E1, E2 >::ResultType | operator== (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| VectorEquality< E1, E2 >::ResultType | operator!= (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 , typename T > | |
| std::enable_if< std::is_arithmetic< T >::value, typename VectorToleranceEquality< E1, E2, T >::ResultType >::type | equals (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2, const T &eps) |
| template<typename E > | |
| VectorUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | conj (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorUnaryTraits< E, ScalarConjugation< typename E::ValueType > >::ResultType | herm (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorUnaryTraits< E, ScalarReal< typename E::ValueType > >::ResultType | real (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorUnaryTraits< E, ScalarImaginary< typename E::ValueType > >::ResultType | imag (const VectorExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| VectorBinary1Traits< E1, E2, ScalarDivision< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemDiv (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| VectorBinary1Traits< E1, E2, ScalarMultiplication< typename E1::ValueType, typename E2::ValueType > >::ResultType | elemProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| VectorBinary2Traits< E1, E2, VectorCrossProduct< E1, E2 > >::ResultType | crossProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 > | |
| VectorInnerProduct< E1, E2 >::ResultType | innerProd (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E1 , typename E2 , typename T > | |
| VectorAngleCosine< E1, E2, T >::ResultType | angleCos (const VectorExpression< E1 > &e1, const VectorExpression< E2 > &e2, const T &sd, bool clamp=true) |
| template<typename E > | |
| VectorElementSum< E >::ResultType | sum (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorNorm1< E >::ResultType | norm1 (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorNorm2< E >::ResultType | norm2 (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorNormInfinity< E >::ResultType | normInf (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorNormInfinityIndex< E >::ResultType | normInfIndex (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorNorm2< E >::ResultType | length (const VectorExpression< E > &e) |
| template<typename E > | |
| const E & | trans (const VectorExpression< E > &e) |
| template<typename E > | |
| E & | trans (VectorExpression< E > &e) |
| template<typename E1 , typename E2 > | |
| QuaternionVectorBinaryTraits< E1, E2, QuaternionVectorRotation< E1, E2 > >::ResultType | rotate (const QuaternionExpression< E1 > &e1, const VectorExpression< E2 > &e2) |
| template<typename E > | |
| VectorIteratorTraits< E >::IteratorType | vectorBegin (VectorExpression< E > &e) |
| template<typename E > | |
| VectorIteratorTraits< E >::IteratorType | vectorEnd (VectorExpression< E > &e) |
| template<typename E > | |
| VectorIteratorTraits< const E >::IteratorType | vectorBegin (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorIteratorTraits< const E >::IteratorType | vectorEnd (const VectorExpression< E > &e) |
| template<typename E > | |
| VectorRange< E > | range (VectorExpression< E > &e, const typename VectorRange< E >::RangeType &r) |
| template<typename E > | |
| VectorRange< const E > | range (const VectorExpression< E > &e, const typename VectorRange< const E >::RangeType &r) |
| template<typename E > | |
| VectorRange< E > | range (VectorExpression< E > &e, typename VectorRange< E >::RangeType::SizeType start, typename VectorRange< E >::RangeType::SizeType stop) |
| template<typename E > | |
| VectorRange< const E > | range (const VectorExpression< E > &e, typename VectorRange< const E >::RangeType::SizeType start, typename VectorRange< const E >::RangeType::SizeType stop) |
| template<typename E > | |
| VectorSlice< E > | slice (VectorExpression< E > &e, const typename VectorSlice< E >::SliceType &s) |
| template<typename E > | |
| VectorSlice< const E > | slice (const VectorExpression< E > &e, const typename VectorSlice< const E >::SliceType &s) |
| template<typename E > | |
| VectorSlice< E > | slice (VectorExpression< E > &e, typename VectorSlice< E >::SliceType::SizeType start, typename VectorSlice< E >::SliceType::DifferenceType stride, typename VectorSlice< E >::SliceType::SizeType size) |
| template<typename E > | |
| VectorSlice< const E > | slice (const VectorExpression< E > &e, typename VectorSlice< const E >::SliceType::SizeType start, typename VectorSlice< const E >::SliceType::DifferenceType stride, typename VectorSlice< const E >::SliceType::SizeType size) |
Contains classes and functions related to mathematics.
| typedef ScalingMatrix<float> CDPL::Math::FScalingMatrix |
| typedef ScalingMatrix<double> CDPL::Math::DScalingMatrix |
| typedef ScalingMatrix<long> CDPL::Math::LScalingMatrix |
| typedef ScalingMatrix<unsigned long> CDPL::Math::ULScalingMatrix |
| typedef RotationMatrix<float> CDPL::Math::FRotationMatrix |
| typedef RotationMatrix<double> CDPL::Math::DRotationMatrix |
| typedef RotationMatrix<long> CDPL::Math::LRotationMatrix |
| typedef RotationMatrix<unsigned long> CDPL::Math::ULRotationMatrix |
| typedef TranslationMatrix<float> CDPL::Math::FTranslationMatrix |
| typedef TranslationMatrix<double> CDPL::Math::DTranslationMatrix |
| typedef TranslationMatrix<long> CDPL::Math::LTranslationMatrix |
| typedef TranslationMatrix<unsigned long> CDPL::Math::ULTranslationMatrix |
| typedef ZeroGrid<float> CDPL::Math::FZeroGrid |
| typedef ZeroGrid<double> CDPL::Math::DZeroGrid |
| typedef ScalarGrid<float> CDPL::Math::FScalarGrid |
| typedef ScalarGrid<double> CDPL::Math::DScalarGrid |
| typedef Grid<float> CDPL::Math::FGrid |
An unbounded dense grid holding floating point values of type float.
| typedef Grid<double> CDPL::Math::DGrid |
An unbounded dense grid holding floating point values of type double.
| typedef ZeroMatrix<float> CDPL::Math::FZeroMatrix |
| typedef ZeroMatrix<double> CDPL::Math::DZeroMatrix |
| typedef ZeroMatrix<long> CDPL::Math::LZeroMatrix |
| typedef ZeroMatrix<unsigned long> CDPL::Math::ULZeroMatrix |
| typedef ScalarMatrix<float> CDPL::Math::FScalarMatrix |
| typedef ScalarMatrix<double> CDPL::Math::DScalarMatrix |
| typedef ScalarMatrix<long> CDPL::Math::LScalarMatrix |
| typedef ScalarMatrix<unsigned long> CDPL::Math::ULScalarMatrix |
| typedef IdentityMatrix<float> CDPL::Math::FIdentityMatrix |
| typedef IdentityMatrix<double> CDPL::Math::DIdentityMatrix |
| typedef IdentityMatrix<long> CDPL::Math::LIdentityMatrix |
| typedef IdentityMatrix<unsigned long> CDPL::Math::ULIdentityMatrix |
| typedef Matrix<float> CDPL::Math::FMatrix |
An unbounded dense matrix holding floating point values of type float..
| typedef Matrix<double> CDPL::Math::DMatrix |
An unbounded dense matrix holding floating point values of type double..
| typedef Matrix<long> CDPL::Math::LMatrix |
An unbounded dense matrix holding signed integers of type long.
| typedef Matrix<unsigned long> CDPL::Math::ULMatrix |
An unbounded dense matrix holding unsigned integers of type unsigned long.
| typedef CMatrix<float, 2, 2> CDPL::Math::Matrix2F |
A bounded 2x2 matrix holding floating point values of type float.
| typedef CMatrix<float, 3, 3> CDPL::Math::Matrix3F |
A bounded 3x3 matrix holding floating point values of type float.
| typedef CMatrix<float, 4, 4> CDPL::Math::Matrix4F |
A bounded 4x4 matrix holding floating point values of type float.
| typedef CMatrix<double, 2, 2> CDPL::Math::Matrix2D |
A bounded 2x2 matrix holding floating point values of type double.
| typedef CMatrix<double, 3, 3> CDPL::Math::Matrix3D |
A bounded 3x3 matrix holding floating point values of type double.
| typedef CMatrix<double, 4, 4> CDPL::Math::Matrix4D |
A bounded 4x4 matrix holding floating point values of type double.
| typedef CMatrix<long, 2, 2> CDPL::Math::Matrix2L |
A bounded 2x2 matrix holding signed integers of type long.
| typedef CMatrix<long, 3, 3> CDPL::Math::Matrix3L |
A bounded 3x3 matrix holding signed integers of type long.
| typedef CMatrix<long, 4, 4> CDPL::Math::Matrix4L |
A bounded 4x4 matrix holding signed integers of type long.
| typedef CMatrix<unsigned long, 2, 2> CDPL::Math::Matrix2UL |
A bounded 2x2 matrix holding unsigned integers of type unsigned long.
| typedef CMatrix<unsigned long, 3, 3> CDPL::Math::Matrix3UL |
A bounded 3x3 matrix holding unsigned integers of type unsigned long.
| typedef CMatrix<unsigned long, 4, 4> CDPL::Math::Matrix4UL |
A bounded 4x4 matrix holding unsigned integers of type unsigned long.
| typedef SparseMatrix<float> CDPL::Math::SparseFMatrix |
An unbounded sparse matrix holding floating point values of type float..
| typedef SparseMatrix<double> CDPL::Math::SparseDMatrix |
An unbounded sparse matrix holding floating point values of type double..
| typedef SparseMatrix<long> CDPL::Math::SparseLMatrix |
An unbounded sparse matrix holding signed integers of type long.
| typedef SparseMatrix<unsigned long> CDPL::Math::SparseULMatrix |
An unbounded sparse matrix holding unsigned integers of type unsigned long.
| typedef Quaternion<float> CDPL::Math::FQuaternion |
| typedef Quaternion<double> CDPL::Math::DQuaternion |
| typedef Quaternion<long> CDPL::Math::LQuaternion |
| typedef Quaternion<unsigned long> CDPL::Math::ULQuaternion |
| typedef RealQuaternion<float> CDPL::Math::FRealQuaternion |
| typedef RealQuaternion<double> CDPL::Math::DRealQuaternion |
| typedef RealQuaternion<long> CDPL::Math::LRealQuaternion |
| typedef RealQuaternion<unsigned long> CDPL::Math::ULRealQuaternion |
| typedef RegularSpatialGrid<float> CDPL::Math::FRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type float.
| typedef RegularSpatialGrid<double> CDPL::Math::DRegularSpatialGrid |
An unbounded dense regular grid in 3D space holding floating point values of type double.
| typedef ScalarVector<float> CDPL::Math::FScalarVector |
| typedef ScalarVector<double> CDPL::Math::DScalarVector |
| typedef ScalarVector<long> CDPL::Math::LScalarVector |
| typedef ScalarVector<unsigned long> CDPL::Math::ULScalarVector |
| typedef ZeroVector<float> CDPL::Math::FZeroVector |
| typedef ZeroVector<double> CDPL::Math::DZeroVector |
| typedef ZeroVector<long> CDPL::Math::LZeroVector |
| typedef ZeroVector<unsigned long> CDPL::Math::ULZeroVector |
| typedef UnitVector<float> CDPL::Math::FUnitVector |
| typedef UnitVector<double> CDPL::Math::DUnitVector |
| typedef UnitVector<long> CDPL::Math::LUnitVector |
| typedef UnitVector<unsigned long> CDPL::Math::ULUnitVector |
| typedef CVector<float, 2> CDPL::Math::Vector2F |
A bounded 2 element vector holding floating point values of type float.
| typedef CVector<float, 3> CDPL::Math::Vector3F |
A bounded 3 element vector holding floating point values of type float.
| typedef CVector<float, 4> CDPL::Math::Vector4F |
A bounded 4 element vector holding floating point values of type float.
| typedef CVector<double, 2> CDPL::Math::Vector2D |
A bounded 2 element vector holding floating point values of type double.
| typedef CVector<double, 3> CDPL::Math::Vector3D |
A bounded 3 element vector holding floating point values of type double.
| typedef CVector<double, 4> CDPL::Math::Vector4D |
A bounded 4 element vector holding floating point values of type double.
| typedef CVector<double, 7> CDPL::Math::Vector7D |
A bounded 7 element vector holding floating point values of type double.
| typedef CVector<long, 2> CDPL::Math::Vector2L |
A bounded 2 element vector holding signed integers of type long.
| typedef CVector<long, 3> CDPL::Math::Vector3L |
A bounded 3 element vector holding signed integers of type long.
| typedef CVector<long, 4> CDPL::Math::Vector4L |
A bounded 4 element vector holding signed integers of type long.
| typedef CVector<unsigned long, 2> CDPL::Math::Vector2UL |
A bounded 2 element vector holding unsigned integers of type unsigned long.
| typedef CVector<unsigned long, 3> CDPL::Math::Vector3UL |
A bounded 3 element vector holding unsigned integers of type unsigned long.
| typedef CVector<unsigned long, 4> CDPL::Math::Vector4UL |
A bounded 4 element vector holding unsigned integers of type unsigned long.
| typedef Vector<float> CDPL::Math::FVector |
An unbounded dense vector holding floating point values of type float.
| typedef Vector<double> CDPL::Math::DVector |
An unbounded dense vector holding floating point values of type double.
| typedef Vector<long> CDPL::Math::LVector |
An unbounded dense vector holding signed integers of type long.
| typedef Vector<unsigned long> CDPL::Math::ULVector |
An unbounded dense vector holding unsigned integers of type unsigned long.
| typedef SparseVector<float> CDPL::Math::SparseFVector |
An unbounded sparse vector holding floating point values of type float.
| typedef SparseVector<double> CDPL::Math::SparseDVector |
An unbounded sparse vector holding floating point values of type double.
| typedef SparseVector<long> CDPL::Math::SparseLVector |
An unbounded sparse vector holding signed integers of type long.
| typedef SparseVector<unsigned long> CDPL::Math::SparseULVector |
An unbounded sparse vector holding unsigned integers of type unsigned long.
| typedef VectorArray<Vector2F> CDPL::Math::Vector2FArray |
An array of Math::Vector2F objects.
| typedef VectorArray<Vector3F> CDPL::Math::Vector3FArray |
An array of Math::Vector3F objects.
| typedef VectorArray<Vector2D> CDPL::Math::Vector2DArray |
An array of Math::Vector2D objects.
| typedef VectorArray<Vector3D> CDPL::Math::Vector3DArray |
An array of Math::Vector3D objects.
| typedef VectorArray<Vector2L> CDPL::Math::Vector2LArray |
An array of Math::Vector2L objects.
| typedef VectorArray<Vector3L> CDPL::Math::Vector3LArray |
An array of Math::Vector3L objects.
An array of Math::Vector2UL objects.
An array of Math::Vector3UL objects.
| DirectAssignmentProxy<const C> CDPL::Math::direct | ( | const C & | lvalue | ) |
| DirectAssignmentProxy<C> CDPL::Math::direct | ( | C & | lvalue | ) |
| void CDPL::Math::gridAssignGrid | ( | G & | g, |
| const GridExpression< E > & | e | ||
| ) |
| void CDPL::Math::gridAssignScalar | ( | G & | g, |
| const T & | t | ||
| ) |
| void CDPL::Math::gridSwap | ( | G & | g, |
| GridExpression< E > & | e | ||
| ) |
| GridUnaryTraits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const GridExpression< E > & | e | ) |
| const E& CDPL::Math::operator+ | ( | const GridExpression< E > & | e | ) |
| GridBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2 | ||
| ) |
| GridBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2GridBinaryTraits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const GridExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar1GridBinaryTraits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
| const GridExpression< E > & | e | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2GridBinaryTraits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const GridExpression< E > & | e, |
| const T & | t | ||
| ) |
| GridEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2 | ||
| ) |
| GridEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<std::is_arithmetic<T>::value, typename GridToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2, | ||
| const T & | eps | ||
| ) |
| GridUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::conj | ( | const GridExpression< E > & | e | ) |
| GridUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::herm | ( | const GridExpression< E > & | e | ) |
| GridUnaryTraits<E, ScalarReal<typename E::ValueType> >::ResultType CDPL::Math::real | ( | const GridExpression< E > & | e | ) |
| GridUnaryTraits<E, ScalarImaginary<typename E::ValueType> >::ResultType CDPL::Math::imag | ( | const GridExpression< E > & | e | ) |
| GridBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2 | ||
| ) |
| GridBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const GridExpression< E1 > & | e1, |
| const GridExpression< E2 > & | e2 | ||
| ) |
| GridElementSum<E>::ResultType CDPL::Math::sum | ( | const GridExpression< E > & | e | ) |
| std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
| const VectorExpression< E > & | e | ||
| ) |
| std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
| const MatrixExpression< E > & | e | ||
| ) |
| std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
| const QuaternionExpression< E > & | e | ||
| ) |
| std::basic_ostream<C, T>& CDPL::Math::operator<< | ( | std::basic_ostream< C, T > & | os, |
| const GridExpression< E > & | e | ||
| ) |
| bool CDPL::Math::jacobiDiagonalize | ( | MatrixExpression< M1 > & | a, |
| VectorExpression< V > & | d, | ||
| MatrixExpression< M2 > & | v, | ||
| std::size_t | max_iter = 50 |
||
| ) |
Computes all eigenvalues and eigenvectors of a real symmetric matrix an using Jacobi's algorithm [WJACO ].
On output, elements of a above the diagonal are destroyed. The vector d returns the eigenvalues of a. The columns of matrix v contain, on output, the normalized eigenvectors of a. For implementation details see [NRIC].
| a | The real symmetric matrix for which to compute eigenvalues and eigenvectors. |
| d | The output vector which will contain the eigenvalues of a. |
| v | The matrix whose columns will contain the normalized eigenvectors of a. |
| max_iter | The maximum number of iterations to perform. |
true if a is a non-empty symmetric matrix and convergence has been reached in max_iter iterations, and false otherwise. a().getSize1() == a().getSize2() && a().getSize1() != 0, and furthermore d().getSize() >= a().getSize1(). | Base::SizeError | if preconditions are violated. |
| bool CDPL::Math::solveLower | ( | const MatrixExpression< E1 > & | e1, |
| VectorExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveUnitLower | ( | const MatrixExpression< E1 > & | e1, |
| VectorExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveLower | ( | const MatrixExpression< E1 > & | e1, |
| MatrixExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveUnitLower | ( | const MatrixExpression< E1 > & | e1, |
| MatrixExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveUpper | ( | const MatrixExpression< E1 > & | e1, |
| VectorExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveUnitUpper | ( | const MatrixExpression< E1 > & | e1, |
| VectorExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveUpper | ( | const MatrixExpression< E1 > & | e1, |
| MatrixExpression< E2 > & | e2 | ||
| ) |
| bool CDPL::Math::solveUnitUpper | ( | const MatrixExpression< E1 > & | e1, |
| MatrixExpression< E2 > & | e2 | ||
| ) |
| E::SizeType CDPL::Math::luDecompose | ( | MatrixExpression< E > & | e | ) |
| E::SizeType CDPL::Math::luDecompose | ( | MatrixExpression< E > & | e, |
| PV & | pv, | ||
| T & | num_row_swaps | ||
| ) |
| void CDPL::Math::swapRows | ( | VectorExpression< E > & | e, |
| const PV & | pv | ||
| ) |
| void CDPL::Math::swapRows | ( | MatrixExpression< E > & | e, |
| const PV & | pv | ||
| ) |
| bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
| VectorExpression< E2 > & | b | ||
| ) |
| bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
| const PV & | pv, | ||
| VectorExpression< E2 > & | b | ||
| ) |
| bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
| MatrixExpression< E2 > & | b | ||
| ) |
| bool CDPL::Math::luSubstitute | ( | const MatrixExpression< E1 > & | lu, |
| const PV & | pv, | ||
| MatrixExpression< E2 > & | b | ||
| ) |
| E::ValueType CDPL::Math::det | ( | const MatrixExpression< E > & | e | ) |
| C::ValueType CDPL::Math::det | ( | const MatrixContainer< C > & | c | ) |
| bool CDPL::Math::invert | ( | const MatrixExpression< E > & | e, |
| MatrixContainer< C > & | c | ||
| ) |
| bool CDPL::Math::invert | ( | MatrixContainer< C > & | c | ) |
| TriangularAdapter<E, Tri> CDPL::Math::triang | ( | MatrixExpression< E > & | e | ) |
| TriangularAdapter<const E, Tri> CDPL::Math::triang | ( | const MatrixExpression< E > & | e | ) |
| void CDPL::Math::matrixAssignMatrix | ( | M & | m, |
| const MatrixExpression< E > & | e | ||
| ) |
| void CDPL::Math::matrixAssignScalar | ( | M & | m, |
| const T & | t | ||
| ) |
| void CDPL::Math::matrixSwap | ( | M & | m, |
| MatrixExpression< E > & | e | ||
| ) |
| MatrixUnaryTraits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const MatrixExpression< E > & | e | ) |
| const E& CDPL::Math::operator+ | ( | const MatrixExpression< E > & | e | ) |
| MatrixBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| MatrixBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2MatrixBinaryTraits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const MatrixExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar1MatrixBinaryTraits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
| const MatrixExpression< E > & | e | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2MatrixBinaryTraits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const MatrixExpression< E > & | e, |
| const T & | t | ||
| ) |
| MatrixEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| MatrixEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<std::is_arithmetic<T>::value, typename MatrixToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2, | ||
| const T & | eps | ||
| ) |
| MatrixUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::conj | ( | const MatrixExpression< E > & | e | ) |
| MatrixUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::herm | ( | const MatrixExpression< E > & | e | ) |
| MatrixUnaryTraits<E, ScalarReal<typename E::ValueType> >::ResultType CDPL::Math::real | ( | const MatrixExpression< E > & | e | ) |
| MatrixUnaryTraits<E, ScalarImaginary<typename E::ValueType> >::ResultType CDPL::Math::imag | ( | const MatrixExpression< E > & | e | ) |
| VectorMatrixBinaryTraits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::outerProd | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| MatrixBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| MatrixBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| Matrix1VectorBinaryTraits<E1, E2, MatrixVectorProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const MatrixExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| Matrix1VectorBinaryTraits<E1, E2, MatrixVectorProduct<E1, E2> >::ResultType CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| C& CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2, | ||
| VectorContainer< C > & | c | ||
| ) |
| Matrix2VectorBinaryTraits<E1, E2, VectorMatrixProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const VectorExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| Matrix2VectorBinaryTraits<E1, E2, VectorMatrixProduct<E1, E2> >::ResultType CDPL::Math::prod | ( | const VectorExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| C& CDPL::Math::prod | ( | const VectorExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2, | ||
| VectorContainer< C > & | c | ||
| ) |
| MatrixBinary2Traits<E1, E2, MatrixProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| MatrixBinary2Traits<E1, E2, MatrixProduct<E1, E2> >::ResultType CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2 | ||
| ) |
| C& CDPL::Math::prod | ( | const MatrixExpression< E1 > & | e1, |
| const MatrixExpression< E2 > & | e2, | ||
| MatrixContainer< C > & | c | ||
| ) |
| MatrixTrace<E>::ResultType CDPL::Math::trace | ( | const MatrixExpression< E > & | e | ) |
| MatrixNorm1<E>::ResultType CDPL::Math::norm1 | ( | const MatrixExpression< E > & | e | ) |
| MatrixNormFrobenius<E>::ResultType CDPL::Math::normFrob | ( | const MatrixExpression< E > & | e | ) |
| MatrixNormInfinity<E>::ResultType CDPL::Math::normInf | ( | const MatrixExpression< E > & | e | ) |
| VectorMatrixUnaryTraits<E, DiagonalMatrixFromVector<E> >::ResultType CDPL::Math::diag | ( | const VectorExpression< E > & | e | ) |
| VectorMatrixUnaryTraits<E, CrossProductMatrixFromVector<E> >::ResultType CDPL::Math::cross | ( | const VectorExpression< E > & | e | ) |
| MatrixTranspose<E> CDPL::Math::trans | ( | MatrixExpression< E > & | e | ) |
| MatrixTranspose<const E> CDPL::Math::trans | ( | const MatrixExpression< E > & | e | ) |
| MatrixElementSum<E>::ResultType CDPL::Math::sum | ( | const MatrixExpression< E > & | e | ) |
| MatrixRow<M> CDPL::Math::row | ( | MatrixExpression< M > & | e, |
| typename MatrixRow< M >::SizeType | i | ||
| ) |
| MatrixRow<const M> CDPL::Math::row | ( | const MatrixExpression< M > & | e, |
| typename MatrixRow< const M >::SizeType | i | ||
| ) |
| MatrixColumn<M> CDPL::Math::column | ( | MatrixExpression< M > & | e, |
| typename MatrixColumn< M >::SizeType | j | ||
| ) |
| MatrixColumn<const M> CDPL::Math::column | ( | const MatrixExpression< M > & | e, |
| typename MatrixColumn< const M >::SizeType | j | ||
| ) |
| MatrixRange<E> CDPL::Math::range | ( | MatrixExpression< E > & | e, |
| const typename MatrixRange< E >::RangeType & | r1, | ||
| const typename MatrixRange< E >::RangeType & | r2 | ||
| ) |
| MatrixRange<const E> CDPL::Math::range | ( | const MatrixExpression< E > & | e, |
| const typename MatrixRange< const E >::RangeType & | r1, | ||
| const typename MatrixRange< const E >::RangeType & | r2 | ||
| ) |
| MatrixRange<E> CDPL::Math::range | ( | MatrixExpression< E > & | e, |
| typename MatrixRange< E >::RangeType::SizeType | start1, | ||
| typename MatrixRange< E >::RangeType::SizeType | stop1, | ||
| typename MatrixRange< E >::RangeType::SizeType | start2, | ||
| typename MatrixRange< E >::RangeType::SizeType | stop2 | ||
| ) |
| MatrixRange<const E> CDPL::Math::range | ( | const MatrixExpression< E > & | e, |
| typename MatrixRange< const E >::RangeType::SizeType | start1, | ||
| typename MatrixRange< const E >::RangeType::SizeType | stop1, | ||
| typename MatrixRange< const E >::RangeType::SizeType | start2, | ||
| typename MatrixRange< const E >::RangeType::SizeType | stop2 | ||
| ) |
| MatrixSlice<E> CDPL::Math::slice | ( | MatrixExpression< E > & | e, |
| const typename MatrixSlice< E >::SliceType & | s1, | ||
| const typename MatrixSlice< E >::SliceType & | s2 | ||
| ) |
| MatrixSlice<const E> CDPL::Math::slice | ( | const MatrixExpression< E > & | e, |
| const typename MatrixSlice< const E >::SliceType & | s1, | ||
| const typename MatrixSlice< const E >::SliceType & | s2 | ||
| ) |
| MatrixSlice<E> CDPL::Math::slice | ( | MatrixExpression< E > & | e, |
| typename MatrixSlice< E >::SliceType::SizeType | start1, | ||
| typename MatrixSlice< E >::SliceType::DifferenceType | stride1, | ||
| typename MatrixSlice< E >::SliceType::SizeType | size1, | ||
| typename MatrixSlice< E >::SliceType::SizeType | start2, | ||
| typename MatrixSlice< E >::SliceType::DifferenceType | stride2, | ||
| typename MatrixSlice< E >::SliceType::SizeType | size2 | ||
| ) |
| MatrixSlice<const E> CDPL::Math::slice | ( | const MatrixExpression< E > & | e, |
| typename MatrixSlice< const E >::SliceType::SizeType | start1, | ||
| typename MatrixSlice< const E >::SliceType::DifferenceType | stride1, | ||
| typename MatrixSlice< const E >::SliceType::SizeType | size1, | ||
| typename MatrixSlice< const E >::SliceType::SizeType | start2, | ||
| typename MatrixSlice< const E >::SliceType::DifferenceType | stride2, | ||
| typename MatrixSlice< const E >::SliceType::SizeType | size2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, RealQuaternion<T> >::type CDPL::Math::quat | ( | const T & | t | ) |
| Quaternion<typename CommonType<T1, T2>::Type> CDPL::Math::quat | ( | const T1 & | t1, |
| const T2 & | t2 | ||
| ) |
| Quaternion<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type> CDPL::Math::quat | ( | const T1 & | t1, |
| const T2 & | t2, | ||
| const T3 & | t3 | ||
| ) |
| Quaternion<typename CommonType<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type, T4>::Type> CDPL::Math::quat | ( | const T1 & | t1, |
| const T2 & | t2, | ||
| const T3 & | t3, | ||
| const T4 & | t4 | ||
| ) |
| QuaternionVectorAdapter<E> CDPL::Math::vec | ( | QuaternionExpression< E > & | e | ) |
| QuaternionVectorAdapter<const E> CDPL::Math::vec | ( | const QuaternionExpression< E > & | e | ) |
| void CDPL::Math::quaternionAssignQuaternion | ( | Q & | q, |
| const QuaternionExpression< E > & | e | ||
| ) |
| void CDPL::Math::quaternionAssignScalar | ( | Q & | q, |
| const T & | t | ||
| ) |
| void CDPL::Math::quaternionSwap | ( | Q & | q, |
| QuaternionExpression< E > & | e | ||
| ) |
| QuaternionUnary1Traits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const QuaternionExpression< E > & | e | ) |
| const E& CDPL::Math::operator+ | ( | const QuaternionExpression< E > & | e | ) |
| QuaternionBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary2Traits<E, T, Scalar2QuaternionAddition<E, T> >::ResultType>::type CDPL::Math::operator+ | ( | const QuaternionExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar1QuaternionBinary2Traits<T, E, Scalar1QuaternionAddition<T, E> >::ResultType>::type CDPL::Math::operator+ | ( | const T & | t, |
| const QuaternionExpression< E > & | e | ||
| ) |
| QuaternionBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary2Traits<E, T, Scalar2QuaternionSubtraction<E, T> >::ResultType>::type CDPL::Math::operator- | ( | const QuaternionExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar1QuaternionBinary2Traits<T, E, Scalar1QuaternionSubtraction<T, E> >::ResultType>::type CDPL::Math::operator- | ( | const T & | t, |
| const QuaternionExpression< E > & | e | ||
| ) |
| QuaternionBinary2Traits<E1, E2, QuaternionProduct<E1, E2> >::ResultType CDPL::Math::operator* | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary1Traits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const QuaternionExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar1QuaternionBinary1Traits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
| const QuaternionExpression< E > & | e | ||
| ) |
| Scalar3QuaternionTernaryTraits<E1, E2, typename QuaternionNorm2<E2>::ResultType, QuaternionDivision<E1, E2, typename QuaternionNorm2<E2>::ResultType> >::ResultType CDPL::Math::operator/ | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2QuaternionBinary1Traits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const QuaternionExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar13QuaternionTernaryTraits<T, E, typename QuaternionNorm2<E>::ResultType, ScalarQuaternionDivision<T, E, typename QuaternionNorm2<E>::ResultType> >::ResultType>::type CDPL::Math::operator/ | ( | const T & | t, |
| const QuaternionExpression< E > & | e | ||
| ) |
| QuaternionEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| QuaternionEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<std::is_arithmetic<T>::value, typename QuaternionToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2, | ||
| const T & | eps | ||
| ) |
| QuaternionBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| QuaternionBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const QuaternionExpression< E1 > & | e1, |
| const QuaternionExpression< E2 > & | e2 | ||
| ) |
| E::ValueType CDPL::Math::real | ( | const QuaternionExpression< E > & | e | ) |
| QuaternionUnary2Traits<E, QuaternionUnreal<E> >::ResultType CDPL::Math::unreal | ( | const QuaternionExpression< E > & | e | ) |
| QuaternionUnary2Traits<E, QuaternionConjugate<E> >::ResultType CDPL::Math::conj | ( | const QuaternionExpression< E > & | e | ) |
| Scalar2QuaternionBinary2Traits<E, typename QuaternionNorm2<E>::ResultType, QuaternionInverse<E, typename QuaternionNorm2<E>::ResultType> >::ResultType CDPL::Math::inv | ( | const QuaternionExpression< E > & | e | ) |
| QuaternionNorm<E>::ResultType CDPL::Math::norm | ( | const QuaternionExpression< E > & | e | ) |
| QuaternionNorm2<E>::ResultType CDPL::Math::norm2 | ( | const QuaternionExpression< E > & | e | ) |
| QuaternionElementSum<E>::ResultType CDPL::Math::sum | ( | const QuaternionExpression< E > & | e | ) |
|
inline |
| T CDPL::Math::interpolateTrilinear | ( | const RegularSpatialGrid< T, C, GD, XF > & | grid, |
| const V & | pos, | ||
| bool | local_pos | ||
| ) |
|
inline |
| T CDPL::Math::factorial | ( | unsigned int | n | ) |
Computes the factorial \( n! \) of the non-negative integer n.
| n | The non-negative integer for which to compute the factorial. |
| T CDPL::Math::pythag | ( | const T & | a, |
| const T & | b | ||
| ) |
Computes \( \sqrt{a^2 + b^2} \) without destructive underflow or overflow.
| a | The variable a. |
| b | The variable b. |
| T1 CDPL::Math::sign | ( | const T1 & | a, |
| const T2 & | b | ||
| ) |
Returns the magnitude of parameter a times the sign of parameter b.
| a | The parameter a. |
| b | The parameter b. |
| T CDPL::Math::lnGamma | ( | const T & | z | ) |
Computes \( \ln[\Gamma(z)] \) for \( z > 0 \).
| z | The argument to the gamma function. |
| T CDPL::Math::gammaQ | ( | const T & | a, |
| const T & | x | ||
| ) |
Computes the incomplete gamma function \( Q(a, x) = 1 - P(a, x) \) (see [NRIC] for details).
| a | The function argument a. |
| x | The function argument x. |
| T CDPL::Math::generalizedBell | ( | const T & | x, |
| const T & | a, | ||
| const T & | b, | ||
| const T & | c | ||
| ) |
Computes the generalized bell function \( Bell(x) = \frac{1}{1 + |\frac{x-c}{a}|^{2b}} \) at x.
| x | The generalized bell function argument |
| a | Controls the width of the curve at \(f(x) = 0.5 \). |
| b | Controls the slope of the curve at \( x = c - a \) and \( x = c + a \). |
| c | Locates the center of the curve. |
| void CDPL::Math::svBackSubstitution | ( | const M1 & | u, |
| const V1 & | w, | ||
| const M2 & | v, | ||
| const V2 & | b, | ||
| V3 & | x | ||
| ) |
Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD].
The \( M \times N \)-dimensional matrix \( A \) is specified by its singular value decomposition \( A = UWV^T \), where \( U \) is given by the \( M \times N \)-dimensional matrix u, \( W \) by the \( N \)-dimensional vector w, and \( V \) is given by the \( N \times N \)-dimensional matrix v. The right-hand side vector \( B \) is given by the \( M \)-dimensional vector b, and x is the \( N \)-dimensional output solution vector \( X \). No input quantities are destroyed, so the routine may be called sequentially with different arguments b. For implementation details see [NRIC].
| u | The \( M \times N \)-dimensional matrix \( U \). |
| w | The \( N \)-dimensional vector \( W \) holding the singular values of \( A \). |
| v | The \( N \times N \)-dimensional matrix \( V \). |
| b | The \( M \)-dimensional right-hand side vector \( B \). |
| x | The \( N \)-dimensional output solution vector \( X \). |
w.size() == u.size2(), v.size1() == u.size2() && v.size2() == c.size2(), and b.size() == u.size1(). | bool CDPL::Math::svDecompose | ( | MatrixExpression< A > & | a, |
| VectorExpression< W > & | w, | ||
| MatrixExpression< V > & | v, | ||
| std::size_t | max_iter = 0 |
||
| ) |
Computes the Singular Value Decomposition [WSVD] \( A = UWV^T \) of a \( M \times N \)-dimensional matrix a.
The matrix \( U \) replaces a on output. The diagonal matrix of singular values \( W \) is output as the \( N \)-dimensional vector w. The matrix \( V \) (not the transpose \( V^T \)) is output as the \( N \times N \)-dimensional matrix v. For implementation details see [NRIC].
| a | The decomposed \( M \times N \)-matrix \( A \) which will be replaced by \( U \) on output. |
| w | The \( N \)-dimensional output vector \( W \) holding the singular values. |
| v | The \( N \times N \)-dimensional output matrix \( V \). |
| max_iter | The maximum number of iterations to perform, or 0 if no limit. |
true if convergence has been reached in max_iter iterations, and false otherwise. w().getSize() >= a().getSize2(), v().getSize1() >= a().getSize2() and v().getSize2() >= a().getSize2(). | Base::SizeError | if preconditions are violated. |
| void CDPL::Math::svSubstitute | ( | const MatrixExpression< U > & | u, |
| const VectorExpression< W > & | w, | ||
| const MatrixExpression< V > & | v, | ||
| const VectorExpression< B > & | b, | ||
| VectorExpression< X > & | x | ||
| ) |
Solves \( A \cdot X = B \) for a vector \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD].
The \( M \times N \)-dimensional matrix \( A \) is specified by its singular value decomposition \( A = UWV^T \), where \( U \) is given by the \( M \times N \)-dimensional matrix u, \( W \) by the \( N \)-dimensional vector w, and \( V \) is provided by the \( N \times N \)-dimensional matrix v. The right-hand side vector \( B \) is given by the \( M \)-dimensional vector b, and x is the \( N \)-dimensional output solution vector \( X \). No input quantities are destroyed, so the routine may be called sequentially with different arguments b. For implementation details see [NRIC].
| u | The \( M \times N \)-dimensional matrix \( U \). |
| w | The \( N \)-dimensional vector \( W \) holding the singular values of \( A \). |
| v | The \( N \times N \)-dimensional matrix \( V \). |
| b | The \( M \)-dimensional right-hand side vector \( B \). |
| x | The \( N \)-dimensional output solution vector \( X \). |
w.getSize() == u.getSize2(), v.getSize1() == u.getSize2() && v.getSize2() == u.getSize2(), x.getSize() == u.getSize2()) and b.getSize() == u.getSize1(). | void CDPL::Math::svSubstitute | ( | const MatrixExpression< U > & | u, |
| const VectorExpression< W > & | w, | ||
| const MatrixExpression< V > & | v, | ||
| const MatrixExpression< B > & | b, | ||
| MatrixExpression< X > & | x | ||
| ) |
Solves \( A \cdot X = B \) for a matrix \( X \) where \( A \) is given by its Singular Value Decomposition [WSVD].
The \( M \times N \)-dimensional matrix \( A \) is specified by its singular value decomposition \( A = UWV^T \), where \( U \) is given by the \( M \times N \)-dimensional matrix u, \( W \) by the \( N \)-dimensional vector w, and \( V \) is provided by the \( N \times N \)-dimensional matrix v. The \( M \times P \)-dimensional right-hand side matrix \( B \) is given by b, and x is the \( N \times P \)-dimensional output solution matrix \( X \). No input quantities are destroyed, so the routine may be called sequentially with different arguments b. For implementation details see [NRIC].
| u | The \( M \times N \)-dimensional matrix \( U \). |
| w | The \( N \)-dimensional vector \( W \) holding the singular values of \( A \). |
| v | The \( N \times N \)-dimensional matrix \( V \). |
| b | The \( M \times P \)-dimensional right-hand side matrix \( B \). |
| x | The \( N \times P \)-dimensional output solution matrix \( X \). |
w().getSize() == u().getSize2(), v().getSize1() == u().getSize2() && v().getSize2() == u().getSize2(), x().getSize1() == u().getSize2() and b().getSize1() == u().getSize1() && b().getSize2() == x().getSize2(). | Base::SizeError | if preconditions are violated. |
| CVector<typename CommonType<T1, T2>::Type, 2> CDPL::Math::vec | ( | const T1 & | t1, |
| const T2 & | t2 | ||
| ) |
| CVector<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type, 3> CDPL::Math::vec | ( | const T1 & | t1, |
| const T2 & | t2, | ||
| const T3 & | t3 | ||
| ) |
| CVector<typename CommonType<typename CommonType<typename CommonType<T1, T2>::Type, T3>::Type, T4>::Type, 4> CDPL::Math::vec | ( | const T1 & | t1, |
| const T2 & | t2, | ||
| const T3 & | t3, | ||
| const T4 & | t4 | ||
| ) |
| VectorQuaternionAdapter<E> CDPL::Math::quat | ( | VectorExpression< E > & | e | ) |
| VectorQuaternionAdapter<const E> CDPL::Math::quat | ( | const VectorExpression< E > & | e | ) |
| HomogenousCoordsAdapter<E> CDPL::Math::homog | ( | VectorExpression< E > & | e | ) |
| HomogenousCoordsAdapter<const E> CDPL::Math::homog | ( | const VectorExpression< E > & | e | ) |
| void CDPL::Math::transform | ( | VectorArray< CVector< T, Dim > > & | va, |
| const CMatrix< T1, Dim, Dim > & | xform | ||
| ) |
Transforms each \( N \)-dimensional vector in the array with the \( N \)-dimensional square matrix xform.
| va | The vectors to transform. |
| xform | The transformation matrix. |
| void CDPL::Math::transform | ( | VectorArray< CVector< T, Dim > > & | va, |
| const CMatrix< T1, Dim+1, Dim+1 > & | xform | ||
| ) |
Transforms each \( N \)-dimensional vector in the array with the \( N+1 \)-dimensional square matrix xform.
| va | The vectors to transform. |
| xform | The transformation matrix. |
1.0. | bool CDPL::Math::calcCentroid | ( | const VectorArray< CVector< T, Dim > > & | va, |
| CVector< T1, Dim > & | ctr | ||
| ) |
Calculates the centroid of the array elements.
| va | The vectors for which to calculate the centroid. |
| ctr | Stores the calculated centroid. |
true if the array is not empty, and false otherwise. | T CDPL::Math::calcRMSD | ( | const VectorArray< CVector< T, Dim > > & | va1, |
| const VectorArray< CVector< T, Dim > > & | va2 | ||
| ) |
| T CDPL::Math::calcRMSD | ( | const VectorArray< CVector< T, Dim > > & | va1, |
| const VectorArray< CVector< T, Dim > > & | va2, | ||
| const CMatrix< T1, Dim+1, Dim+1 > & | va1_xform | ||
| ) |
| void CDPL::Math::vectorAssignVector | ( | V & | v, |
| const VectorExpression< E > & | e | ||
| ) |
| void CDPL::Math::vectorAssignScalar | ( | V & | v, |
| const T & | t | ||
| ) |
| void CDPL::Math::vectorSwap | ( | V & | v, |
| VectorExpression< E > & | e | ||
| ) |
| VectorUnaryTraits<E, ScalarNegation<typename E::ValueType> >::ResultType CDPL::Math::operator- | ( | const VectorExpression< E > & | e | ) |
| const E& CDPL::Math::operator+ | ( | const VectorExpression< E > & | e | ) |
| VectorBinary1Traits<E1, E2, ScalarAddition<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator+ | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorBinary1Traits<E1, E2, ScalarSubtraction<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::operator- | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2VectorBinaryTraits<E, T, ScalarMultiplication<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator* | ( | const VectorExpression< E > & | e, |
| const T & | t | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar1VectorBinaryTraits<T, E, ScalarMultiplication<T, typename E::ValueType> >::ResultType>::type CDPL::Math::operator* | ( | const T & | t, |
| const VectorExpression< E > & | e | ||
| ) |
| std::enable_if<IsScalar<T>::value, typename Scalar2VectorBinaryTraits<E, T, ScalarDivision<typename E::ValueType, T> >::ResultType>::type CDPL::Math::operator/ | ( | const VectorExpression< E > & | e, |
| const T & | t | ||
| ) |
| VectorEquality<E1, E2>::ResultType CDPL::Math::operator== | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorEquality<E1, E2>::ResultType CDPL::Math::operator!= | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| std::enable_if<std::is_arithmetic<T>::value, typename VectorToleranceEquality<E1, E2, T>::ResultType>::type CDPL::Math::equals | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2, | ||
| const T & | eps | ||
| ) |
| VectorUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::conj | ( | const VectorExpression< E > & | e | ) |
| VectorUnaryTraits<E, ScalarConjugation<typename E::ValueType> >::ResultType CDPL::Math::herm | ( | const VectorExpression< E > & | e | ) |
| VectorUnaryTraits<E, ScalarReal<typename E::ValueType> >::ResultType CDPL::Math::real | ( | const VectorExpression< E > & | e | ) |
| VectorUnaryTraits<E, ScalarImaginary<typename E::ValueType> >::ResultType CDPL::Math::imag | ( | const VectorExpression< E > & | e | ) |
| VectorBinary1Traits<E1, E2, ScalarDivision<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemDiv | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorBinary1Traits<E1, E2, ScalarMultiplication<typename E1::ValueType, typename E2::ValueType> >::ResultType CDPL::Math::elemProd | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorBinary2Traits<E1, E2, VectorCrossProduct<E1, E2> >::ResultType CDPL::Math::crossProd | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorInnerProduct<E1, E2>::ResultType CDPL::Math::innerProd | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorAngleCosine<E1, E2, T>::ResultType CDPL::Math::angleCos | ( | const VectorExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2, | ||
| const T & | sd, | ||
| bool | clamp = true |
||
| ) |
| VectorElementSum<E>::ResultType CDPL::Math::sum | ( | const VectorExpression< E > & | e | ) |
| VectorNorm1<E>::ResultType CDPL::Math::norm1 | ( | const VectorExpression< E > & | e | ) |
| VectorNorm2<E>::ResultType CDPL::Math::norm2 | ( | const VectorExpression< E > & | e | ) |
| VectorNormInfinity<E>::ResultType CDPL::Math::normInf | ( | const VectorExpression< E > & | e | ) |
| VectorNormInfinityIndex<E>::ResultType CDPL::Math::normInfIndex | ( | const VectorExpression< E > & | e | ) |
| VectorNorm2<E>::ResultType CDPL::Math::length | ( | const VectorExpression< E > & | e | ) |
| const E& CDPL::Math::trans | ( | const VectorExpression< E > & | e | ) |
| E& CDPL::Math::trans | ( | VectorExpression< E > & | e | ) |
| QuaternionVectorBinaryTraits<E1, E2, QuaternionVectorRotation<E1, E2> >::ResultType CDPL::Math::rotate | ( | const QuaternionExpression< E1 > & | e1, |
| const VectorExpression< E2 > & | e2 | ||
| ) |
| VectorIteratorTraits<E>::IteratorType CDPL::Math::vectorBegin | ( | VectorExpression< E > & | e | ) |
| VectorIteratorTraits<E>::IteratorType CDPL::Math::vectorEnd | ( | VectorExpression< E > & | e | ) |
| VectorIteratorTraits<const E>::IteratorType CDPL::Math::vectorBegin | ( | const VectorExpression< E > & | e | ) |
| VectorIteratorTraits<const E>::IteratorType CDPL::Math::vectorEnd | ( | const VectorExpression< E > & | e | ) |
| VectorRange<E> CDPL::Math::range | ( | VectorExpression< E > & | e, |
| const typename VectorRange< E >::RangeType & | r | ||
| ) |
| VectorRange<const E> CDPL::Math::range | ( | const VectorExpression< E > & | e, |
| const typename VectorRange< const E >::RangeType & | r | ||
| ) |
| VectorRange<E> CDPL::Math::range | ( | VectorExpression< E > & | e, |
| typename VectorRange< E >::RangeType::SizeType | start, | ||
| typename VectorRange< E >::RangeType::SizeType | stop | ||
| ) |
| VectorRange<const E> CDPL::Math::range | ( | const VectorExpression< E > & | e, |
| typename VectorRange< const E >::RangeType::SizeType | start, | ||
| typename VectorRange< const E >::RangeType::SizeType | stop | ||
| ) |
| VectorSlice<E> CDPL::Math::slice | ( | VectorExpression< E > & | e, |
| const typename VectorSlice< E >::SliceType & | s | ||
| ) |
| VectorSlice<const E> CDPL::Math::slice | ( | const VectorExpression< E > & | e, |
| const typename VectorSlice< const E >::SliceType & | s | ||
| ) |
| VectorSlice<E> CDPL::Math::slice | ( | VectorExpression< E > & | e, |
| typename VectorSlice< E >::SliceType::SizeType | start, | ||
| typename VectorSlice< E >::SliceType::DifferenceType | stride, | ||
| typename VectorSlice< E >::SliceType::SizeType | size | ||
| ) |
| VectorSlice<const E> CDPL::Math::slice | ( | const VectorExpression< E > & | e, |
| typename VectorSlice< const E >::SliceType::SizeType | start, | ||
| typename VectorSlice< const E >::SliceType::DifferenceType | stride, | ||
| typename VectorSlice< const E >::SliceType::SizeType | size | ||
| ) |