A multiindex is simply a length \(D\) vector of nonnegative integers \(\mathbf{p}=[p_1,p_2,\dots,p_D]\). Multiindices are commonly employed for defining multivariate polynomial expansions and other function parameterizations. In these cases, sets of multiindices define the form of the expansion.

Example: Multivariate Polynomial

A multivariate polynomial \(\Phi_{\mathbf{p}}(\mathbf{x}) : \mathbb{R}^D\rightarrow R\) can be defined as the product of \(D\) univariate polynomials. Using monomials for example,

\[\Phi_{\mathbf{p}}(\mathbf{x}) = \prod_{i=1}^D x_i^{p_i}\]

A multivariate polynomial expansion can then be written succinctly as

\[f(\mathbf{x}) = \sum_{\mathbf{p}\in\mathcal{S}} c_{\mathbf{p}} \Phi_{\mathbf{p}}(\mathbf{x})\]

where \(\mathcal{S}\) is a set of multiindices and \(c_{\mathbf{p}}\) are scalar coefficients.

Example: Wavelets

Multivariate polynomials are constructed from a tensor product of one-dimensional functions and each one-dimensional function depends on a single integer: the degree of the one-dimensional polynomial. This is a common way to define multivariate functions from indexed families of one-dimensional basis functions. In a general setting, however, the one-dimensional family does not need to be index by a single integer. Families of one-dimensional functions indexed with multiple integers can also be “tensorized” into multivariate functions. Wavelets are a prime example of this.

A one dimensional wavelet basis contains functions of the form

\[\psi_{j,k}(x) = 2^{j/2}\psi(2^jx -k)\]

where \(j\) and \(k\) are integers and \(\psi :\mathbb{R}\rightarrow \mathbb{R}\) is an orthogonal wavelet. Unlike polynomials, two integers are required to index the one-dimensional family. Nevertheless, a multivariate wavelet basis can be defined through the tensor product of components in this family:

\[\Psi_{\mathbf{p}}(\mathbf{x}) = \prod_{i=1}^{D/2} \psi_{p_{2i},p_{2i+1}}(x_i)\]

where \(\Psi_{\mathbf{p}} : \mathbb{R}^{D/2}\rightarrow \mathbb{R}\) is a multivariate wavelet basis function in \(D/2\) dimensions and \(\mathbf{p}\) is a multiindex with \(D\) components.

C++ Objects#