MultiIndexNeighborhood#

class MultiIndexNeighborhood#

Abstract base class for MultiIndexSet graph connectivity definitions.

Subclassed by mpart::DefaultNeighborhood

Public Functions

virtual ~MultiIndexNeighborhood() = default#
virtual std::vector<MultiIndex> ForwardNeighbors(MultiIndex const &multi) = 0#
virtual std::vector<MultiIndex> BackwardNeighbors(MultiIndex const &multi) = 0#
virtual bool IsForward(MultiIndex const &base, MultiIndex const &next) = 0#
virtual bool IsBackward(MultiIndex const &base, MultiIndex const &next) = 0#
class DefaultNeighborhood : public mpart::MultiIndexNeighborhood#

Defines the standard graph connectivity for a MultiIndexSet. A multiindex \(\mathbf{\alpha}\) is a forward neighbor of \(\mathbf{\beta}\) if \(\|\mathbf{\alpha}-\mathbf{\beta}|_1==1\) and \(\mathbf{\alpha}_i \geq \mathbf{\alpha}_i\) for all \(i\).

A multiindex \(\mathbf{\alpha}\) is a backward neighbor of \(\mathbf{\beta}\) if \(\|\mathbf{\alpha}-\mathbf{\beta}|_1==1\) and \(\mathbf{\alpha}_i \leq \mathbf{\alpha}_i\) for all \(i\).

Public Functions

virtual ~DefaultNeighborhood() = default#
virtual std::vector<MultiIndex> ForwardNeighbors(MultiIndex const &multi) override#
virtual std::vector<MultiIndex> BackwardNeighbors(MultiIndex const &multi) override#
virtual bool IsForward(MultiIndex const &base, MultiIndex const &next) override#
virtual bool IsBackward(MultiIndex const &base, MultiIndex const &prev) override#