PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
pbat::math::linalg::mini Namespace Reference

Mini linear algebra related functionality. More...

Classes

class  Absolute
 
class  CastView
 
class  ConstDiagonal
 
class  ConstEigenMatrixWrapper
 
class  ConstSubMatrix
 
class  ConstTransposeSubMatrix
 
class  ConstTransposeView
 
class  CrossProduct
 
class  Diagonal
 
class  EigenMatrixWrapper
 
class  FlatView
 
class  HorizontalStack
 
class  Identity
 
class  MatrixMatrixPredicate
 
class  MatrixScalarPredicate
 
class  Maximum
 
class  Minimum
 
class  Ones
 
class  Product
 
class  Reciprocal
 
class  Scale
 
class  SMatrix
 
class  SMatrixView
 
class  Square
 
class  SubMatrix
 
class  Subtraction
 
class  SubtractionScalar
 
class  Sum
 
class  SumScalar
 
class  TiledView
 
class  TransposeSubMatrix
 
class  TransposeView
 
class  VerticalStack
 
class  Zeros
 

Concepts

concept  CMatrix
 
concept  CReadableMatrix
 
concept  CWriteableMatrix
 
concept  CReadableVectorizedMatrix
 
concept  CWriteableVectorizedMatrix
 
concept  CEigenConvertible
 

Typedefs

template<class TScalar, int M>
using SVector = SMatrix<TScalar, M, 1>
 
template<class TScalar, int M>
using SVectorView = SMatrixView<TScalar, M, 1>
 

Functions

 DefineMatrixMatrixAssign (Assign,=)
 
 DefineMatrixMatrixAssign (AddAssign,+=)
 
 DefineMatrixMatrixAssign (SubtractAssign, -=)
 
 DefineMatrixScalarAssign (AssignScalar,=)
 
 DefineMatrixScalarAssign (AddAssignScalar,+=)
 
 DefineMatrixScalarAssign (SubtractAssignScalar, -=)
 
 DefineMatrixScalarAssign (MultiplyAssign, *=)
 
 DefineMatrixScalarAssign (DivideAssign,/=)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto operator+ (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto operator+= (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto operator- (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto operator-= (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto Min (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto Max (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class NewType, class TMatrix>
PBAT_HOST_DEVICE auto Cast (TMatrix &&A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Determinant (TMatrix &&A)
 
template<class TMatrix>
Eigen::Map< Eigen::Matrix< typename std::remove_cvref_t< TMatrix >::ScalarType, std::remove_cvref_t< TMatrix >::kRows, std::remove_cvref_t< TMatrix >::kCols,(std::remove_cvref_t< TMatrix >::bRowMajor) ? Eigen::RowMajor :Eigen::ColMajor > > ToEigen (TMatrix &A)
 
template<class TMatrix>
Eigen::Map< Eigen::Matrix< typename std::remove_cvref_t< TMatrix >::ScalarType, std::remove_cvref_t< TMatrix >::kRows, std::remove_cvref_t< TMatrix >::kCols,(std::remove_cvref_t< TMatrix >::bRowMajor) ? Eigen::RowMajor :Eigen::ColMajor > const > ToEigen (TMatrix const &A)
 
template<class TDerived>
auto FromEigen (TDerived &A)
 
template<class TDerived>
auto FromEigen (TDerived const &A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Flatten (TMatrix &&A)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto Cross (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TMatrix>
PBAT_HOST_DEVICE SMatrix< typename std::remove_cvref_t< TMatrix >::ScalarType, std::remove_cvref_t< TMatrix >::kRows, std::remove_cvref_t< TMatrix >::kCols > Inverse (TMatrix &&A)
 
template<class TScalar, int M>
PBAT_HOST_DEVICE auto Unit (auto i)
 
template<auto M, auto N, class TScalar>
PBAT_HOST_DEVICE auto FromFlatBuffer (TScalar *buf, std::int64_t bi)
 
template<class TScalar, CMatrix TIndexMatrix>
PBAT_HOST_DEVICE auto FromFlatBuffer (TScalar *buf, TIndexMatrix const &inds)
 
template<CMatrix TMatrix>
PBAT_HOST_DEVICE void ToFlatBuffer (TMatrix const &A, typename TMatrix::ScalarType *buf, std::int64_t bi)
 
template<CMatrix TMatrix, CMatrix TIndexMatrix>
PBAT_HOST_DEVICE void ToFlatBuffer (TMatrix const &A, TIndexMatrix const &inds, typename TMatrix::ScalarType *buf)
 
template<auto M, auto N, class TScalar>
PBAT_HOST_DEVICE auto FromBuffers (std::array< TScalar *, M > buf, std::int64_t bi)
 
template<auto K, class TScalar, CMatrix TIndexMatrix>
PBAT_HOST_DEVICE auto FromBuffers (std::array< TScalar *, K > buf, TIndexMatrix const &inds)
 
template<CMatrix TMatrix, auto M>
PBAT_HOST_DEVICE void ToBuffers (TMatrix const &A, std::array< typename TMatrix::ScalarType *, M > buf, std::int64_t bi)
 
template<CMatrix TMatrix, CMatrix TIndexMatrix, auto K>
PBAT_HOST_DEVICE void ToBuffers (TMatrix const &A, TIndexMatrix const &inds, std::array< typename TMatrix::ScalarType *, K > buf)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto SquaredNorm (TMatrix &&A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Norm (TMatrix &&A)
 
template<CMatrix TLhsMatrix, CMatrix TRhsMatrix>
PBAT_HOST_DEVICE auto operator* (TLhsMatrix const &A, TRhsMatrix const &B)
 
template<CMatrix TMatrix>
PBAT_HOST_DEVICE auto Diag (TMatrix const &A)
 
template<CMatrix TMatrix>
PBAT_HOST_DEVICE auto Diag (TMatrix &A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Trace (TMatrix &&A)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto Dot (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<auto RepeatRows, auto RepeatCols, class TMatrix>
PBAT_HOST_DEVICE auto Repeat (TMatrix &&A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator* (typename std::remove_cvref_t< TMatrix >::ScalarType k, TMatrix &&A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator* (TMatrix &&A, typename std::remove_cvref_t< TMatrix >::ScalarType k)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator*= (TMatrix &&A, typename std::remove_cvref_t< TMatrix >::ScalarType k)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator/ (TMatrix &&A, typename std::remove_cvref_t< TMatrix >::ScalarType k)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator/= (TMatrix &&A, typename std::remove_cvref_t< TMatrix >::ScalarType k)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator- (TMatrix &&A)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto HStack (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TLhsMatrix, class TRhsMatrix>
PBAT_HOST_DEVICE auto VStack (TLhsMatrix &&A, TRhsMatrix &&B)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Squared (TMatrix &&A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Abs (TMatrix &&A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto Normalized (TMatrix &&A)
 
template<CReadableVectorizedMatrix TMatrix>
PBAT_HOST_DEVICE auto Min (TMatrix const &A)
 
template<CReadableVectorizedMatrix TMatrix>
PBAT_HOST_DEVICE auto Max (TMatrix const &A)
 
template<class TMatrix>
PBAT_HOST_DEVICE auto operator/ (typename std::remove_cvref_t< TMatrix >::ScalarType k, TMatrix &&A)
 

Detailed Description

Mini linear algebra related functionality.