Chemical Data Processing Library C++ API - Version 1.2.0
Classes | Namespaces | Typedefs | Functions
Matrix.hpp File Reference

Definition of matrix data types. More...

#include <cstddef>
#include <cstdint>
#include <algorithm>
#include <vector>
#include <limits>
#include <unordered_map>
#include <type_traits>
#include <utility>
#include <initializer_list>
#include <memory>
#include "CDPL/Math/Check.hpp"
#include "CDPL/Math/MatrixExpression.hpp"
#include "CDPL/Math/MatrixAssignment.hpp"
#include "CDPL/Math/DirectAssignmentProxy.hpp"
#include "CDPL/Math/Functional.hpp"
#include "CDPL/Math/TypeTraits.hpp"
#include "CDPL/Math/SparseContainerElement.hpp"
#include "CDPL/Math/LUDecomposition.hpp"
#include "CDPL/Base/Exceptions.hpp"

Go to the source code of this file.

Classes

class  CDPL::Math::MatrixReference< M >
 
class  CDPL::Math::InitListMatrix< T >
 
class  CDPL::Math::Matrix< T, A >
 
class  CDPL::Math::SparseMatrix< T, A >
 
class  CDPL::Math::BoundedMatrix< T, M, N >
 
class  CDPL::Math::CMatrix< T, M, N >
 
class  CDPL::Math::ZeroMatrix< T >
 
class  CDPL::Math::ScalarMatrix< T >
 
class  CDPL::Math::IdentityMatrix< T >
 
struct  CDPL::Math::VectorTemporaryTraits< MatrixReference< M > >
 
struct  CDPL::Math::VectorTemporaryTraits< const MatrixReference< M > >
 
struct  CDPL::Math::MatrixTemporaryTraits< MatrixReference< M > >
 
struct  CDPL::Math::MatrixTemporaryTraits< const MatrixReference< M > >
 

Namespaces

 CDPL
 The namespace of the Chemical Data Processing Library.
 
 CDPL::Math
 Contains classes and functions related to mathematics.
 

Typedefs

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.. More...
 
typedef Matrix< double > CDPL::Math::DMatrix
 An unbounded dense matrix holding floating point values of type double.. More...
 
typedef Matrix< long > CDPL::Math::LMatrix
 An unbounded dense matrix holding signed integers of type long. More...
 
typedef Matrix< unsigned long > CDPL::Math::ULMatrix
 An unbounded dense matrix holding unsigned integers of type unsigned long. More...
 
typedef CMatrix< float, 2, 2 > CDPL::Math::Matrix2F
 A bounded 2x2 matrix holding floating point values of type float. More...
 
typedef CMatrix< float, 3, 3 > CDPL::Math::Matrix3F
 A bounded 3x3 matrix holding floating point values of type float. More...
 
typedef CMatrix< float, 4, 4 > CDPL::Math::Matrix4F
 A bounded 4x4 matrix holding floating point values of type float. More...
 
typedef CMatrix< double, 2, 2 > CDPL::Math::Matrix2D
 A bounded 2x2 matrix holding floating point values of type double. More...
 
typedef CMatrix< double, 3, 3 > CDPL::Math::Matrix3D
 A bounded 3x3 matrix holding floating point values of type double. More...
 
typedef CMatrix< double, 4, 4 > CDPL::Math::Matrix4D
 A bounded 4x4 matrix holding floating point values of type double. More...
 
typedef CMatrix< long, 2, 2 > CDPL::Math::Matrix2L
 A bounded 2x2 matrix holding signed integers of type long. More...
 
typedef CMatrix< long, 3, 3 > CDPL::Math::Matrix3L
 A bounded 3x3 matrix holding signed integers of type long. More...
 
typedef CMatrix< long, 4, 4 > CDPL::Math::Matrix4L
 A bounded 4x4 matrix holding signed integers of type long. More...
 
typedef CMatrix< unsigned long, 2, 2 > CDPL::Math::Matrix2UL
 A bounded 2x2 matrix holding unsigned integers of type unsigned long. More...
 
typedef CMatrix< unsigned long, 3, 3 > CDPL::Math::Matrix3UL
 A bounded 3x3 matrix holding unsigned integers of type unsigned long. More...
 
typedef CMatrix< unsigned long, 4, 4 > CDPL::Math::Matrix4UL
 A bounded 4x4 matrix holding unsigned integers of type unsigned long. More...
 
typedef SparseMatrix< float > CDPL::Math::SparseFMatrix
 An unbounded sparse matrix holding floating point values of type float.. More...
 
typedef SparseMatrix< double > CDPL::Math::SparseDMatrix
 An unbounded sparse matrix holding floating point values of type double.. More...
 
typedef SparseMatrix< long > CDPL::Math::SparseLMatrix
 An unbounded sparse matrix holding signed integers of type long. More...
 
typedef SparseMatrix< unsigned long > CDPL::Math::SparseULMatrix
 An unbounded sparse matrix holding unsigned integers of type unsigned long. More...
 

Functions

template<typename E >
E::ValueType CDPL::Math::det (const MatrixExpression< E > &e)
 
template<typename C >
C::ValueType CDPL::Math::det (const MatrixContainer< C > &c)
 
template<typename E , typename C >
bool CDPL::Math::invert (const MatrixExpression< E > &e, MatrixContainer< C > &c)
 
template<typename C >
bool CDPL::Math::invert (MatrixContainer< C > &c)
 

Detailed Description

Definition of matrix data types.