FixedMultiIndexSet#

template<typename MemorySpace = Kokkos::HostSpace>
class FixedMultiIndexSet#

Public Functions

FixedMultiIndexSet(unsigned int _dim, Kokkos::View<unsigned int*, MemorySpace> _orders)#

Construct a fixed multiindex set in dense form.

All components of the multiindex are stored. This requires more memory for high dimensional problems, but might be easier to work with for some families of basis functions.

FixedMultiIndexSet(unsigned int _dim, Kokkos::View<unsigned int*, MemorySpace> _nzStarts, Kokkos::View<unsigned int*, MemorySpace> _nzDims, Kokkos::View<unsigned int*, MemorySpace> _nzOrders)#

Construct a fixed multiindex set in compressed form.

Only nonzero orders are stored in this representation. For multivariate polynomials, the compressed representation can yield faster polynomial evaluations.

FixedMultiIndexSet(unsigned int _dim, unsigned int _maxOrder)#
Kokkos::View<const unsigned int*, MemorySpace> MaxDegrees() const#
std::vector<unsigned int> IndexToMulti(unsigned int index) const#
int MultiToIndex(std::vector<unsigned int> const &multi) const#
void Print() const#
inline unsigned int Length() const#
inline unsigned int Size() const#
template<typename OtherMemorySpace>
FixedMultiIndexSet<OtherMemorySpace> ToDevice()#

Copy this FixedMultiIndexSet to device memory.

Returns:

A fixed multiindexset with arrays that live in device memory.

Public Members

Kokkos::View<unsigned int*, MemorySpace> nzStarts#
Kokkos::View<unsigned int*, MemorySpace> nzDims#
Kokkos::View<unsigned int*, MemorySpace> nzOrders#
Kokkos::View<unsigned int*, MemorySpace> maxDegrees#