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::SparsityPattern< TIndex, Options > Class Template Reference

Sparsity pattern precomputer to accelerate sparse matrix assembly. More...

#include <SparsityPattern.h>

Public Types

using IndexType = TIndex
 Index type for the matrix indices.
 
using InnerPatternType
 Type of the inner pattern.
 

Public Member Functions

template<common::CContiguousIndexRange TRowIndexRange, common::CContiguousIndexRange TColIndexRange>
 SparsityPattern (IndexType nRows, IndexType nCols, TRowIndexRange &&rowIndices, TColIndexRange &&colIndices)
 
template<common::CContiguousIndexRange TRowIndexRange, common::CContiguousIndexRange TColIndexRange>
void Compute (IndexType nRows, IndexType nCols, TRowIndexRange &&rowIndices, TColIndexRange &&colIndices)
 
template<common::CArithmeticRange TNonZeroRange>
auto ToMatrix (TNonZeroRange &&nonZeros) const -> Eigen::SparseMatrix< std::ranges::range_value_t< TNonZeroRange >, Options, TIndex >
 
template<common::CArithmeticRange TNonZeroRange, class TDerived>
void To (TNonZeroRange &&nonZeros, Eigen::SparseCompressedBase< TDerived > &Ain) const
 
template<common::CArithmeticRange TNonZeroRange, class TDerived>
void AddTo (TNonZeroRange &&nonZeros, Eigen::SparseCompressedBase< TDerived > &Ain) const
 
PBAT_API bool IsEmpty () const
 
template<common::CFloatingPoint TScalar>
auto Pattern () const -> Eigen::SparseMatrix< TScalar, Options, TIndex >
 

Detailed Description

template<typename TIndex = Index, Eigen::StorageOptions Options = Eigen::ColMajor>
class pbat::math::linalg::SparsityPattern< TIndex, Options >

Sparsity pattern precomputer to accelerate sparse matrix assembly.

Template Parameters
TScalarScalar type for the matrix values
TIndexIndex type for the matrix indices
StorageOptionsStorage options for the Eigen sparse matrix

Member Typedef Documentation

◆ InnerPatternType

template<typename TIndex = Index, Eigen::StorageOptions Options = Eigen::ColMajor>
using pbat::math::linalg::SparsityPattern< TIndex, Options >::InnerPatternType
Initial value:
Eigen::SparseMatrix<std::uint8_t, Options, TIndex>

Type of the inner pattern.


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