# MultiIndex-related routines

MParT.MultiIndexType
MultiIndex(A::AbstractVector{<:Int})

MultiIndex defines the order of one term of a function expansion for each dimensions.

Example

julia> degrees = [3,2,1]; # Represents polynomial basis function similar to x^3y^2z^1

julia> midx = MultiIndex(degrees);

julia> midx[3]
0x00000001
source
MParT.MultiIndexSetType
MultiIndexSet(A::AbstractVecOrMat{<:Integer})

Create a set of MultiIndices from the rows of A.

These indices represent a basis for a multivariate expansion or, further, monotone expansion. Each element of the set is a MultiIndex representing one basis function via the degrees in each dimension.

Example

julia> # Functions like: c_1xy^2z^3 + c_2xyz + c_3

julia> A = [1 2 3;1 1 1; 0 0 0];

julia> mset = MultiIndexSet(A);
source
MParT.FixedMultiIndexSetType
FixedMultiIndexSet(dim::Int, p::Int)

Creates a FixedMultiIndexSet with dimension dim and total order p.

A FixedMultiIndexSet is just a compressed, efficient way of representing a MultiIndexSet, but without as many bells and whistles.

source
MParT.FixFunction
Fix(mset::MultiIndexSet, compress::Bool = true)

Take mset and turn it into a FixedMultiIndexSet that can be compressed.

source
MParT.SizeFunction
Size(mset::MultiIndexSet)

Number of MultiIndex objects in a MultiIndexSet mset.

source