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::gpu::impl::math::LinearSolver Class Reference

Public Member Functions

 LinearSolver (cuda::device_t device=common::Device(common::EDeviceSelectionPreference::HighestComputeCapability))
 
 LinearSolver (LinearSolver const &)=delete
 
 LinearSolver (LinearSolver &&)=delete
 
LinearSolveroperator= (LinearSolver const &)=delete
 
LinearSolveroperator= (LinearSolver &&)=delete
 
cusolverDnHandle_t Handle () const
 
template<CMatrix TMatrixA, class TScalar = TMatrixA::ValueType>
int GeqrfWorkspace (TMatrixA const &A) const
 
template<CMatrix TMatrixQR, CVector TVectorTau, class TScalar = TMatrixQR::ValueType>
void Geqrf (TMatrixQR &QR, TVectorTau &tau, common::Buffer< TScalar > &workspace, std::shared_ptr< cuda::stream_t > stream=nullptr) const
 
template<CMatrix TMatrixQ, CMatrix TMatrixB, class TScalar = TMatrixQ::ValueType>
int OrmqrWorkspace (TMatrixQ const &Q, TMatrixB const &B, bool bMultiplyFromLeft=true) const
 
template<CMatrix TMatrixQ, CVector TVectorB, class TScalar = TMatrixQ::ValueType>
int OrmqrWorkspace (TMatrixQ const &Q, TVectorB const &B, bool bMultiplyFromLeft=true) const
 
template<CMatrix TMatrixQ, CVector TVectorTau, CMatrix TMatrixB, class TScalar = TMatrixQ::ValueType>
void Ormqr (TMatrixQ const &Q, TVectorTau const &tau, TMatrixB &B, common::Buffer< TScalar > &workspace, bool bMultiplyFromLeft=true, std::shared_ptr< cuda::stream_t > stream=nullptr) const
 
template<CMatrix TMatrixQ, CVector TVectorTau, CVector TVectorB, class TScalar = TMatrixQ::ValueType>
void Ormqr (TMatrixQ const &Q, TVectorTau const &tau, TVectorB &B, common::Buffer< TScalar > &workspace, bool bMultiplyFromLeft=true, std::shared_ptr< cuda::stream_t > stream=nullptr) const
 

Protected Member Functions

void TrySetStream (std::shared_ptr< cuda::stream_t > stream) const
 

The documentation for this class was generated from the following files: