SFI.bases.monomials module

SFI.bases.monomials.monomials_degree(degree, *, dim, include_x=True, include_v=False, rank='scalar')[source]

All monomials of exact total degree in x and/or v.

Parameters:
  • degree (int) – Exact total polynomial degree.

  • dim (int) – Spatial dimension.

  • include_x (bool) – Which variables to include.

  • include_v (bool) – Which variables to include.

  • rank (str) – Output rank. 'scalar' (default) returns a scalar Basis with F features. 'vector' lifts to rank-1 via Cartesian product with unit_vector_basis(dim) (F × dim features). 'matrix' / 'symmetric_matrix' lifts to rank-2 via symmetric_matrix_basis(dim) (F × dim(dim+1)/2 features). 'identity_matrix' lifts via identity_matrix_basis(dim) (F × 1 features, isotropic).

SFI.bases.monomials.monomials_up_to(order, *, dim, include_constant=True, include_x=True, include_v=False, rank='scalar')[source]

Concatenate degree-wise monomial bases for degrees 0..order (ascending).

[Basis functions] Multivariate polynomial basis

\[\begin{split}f_\\alpha(x) = \\prod_{k=1}^{d} x_k^{\\alpha_k}, \\qquad |\\alpha| \\le \\texttt{order}\end{split}\]

Full polynomial dictionary up to a given total degree, optionally including velocity monomials and lifted to vector or matrix rank.

Parameters:
  • order (int) – Maximum total polynomial degree.

  • dim (int) – Spatial dimension.

  • include_constant (bool) – If False, skip degree-0 (constant) term.

  • include_x (bool) – Which variables to include.

  • include_v (bool) – Which variables to include.

  • rank (str) –

    Output tensor rank. See monomials_degree() for allowed values: 'scalar', 'vector', 'matrix' / 'symmetric_matrix', 'identity_matrix'.

    For force inference, use rank='vector' (the most common choice).