BarycentricFactorisedOperator#

class minterpy.schemes.barycentric.operators.BarycentricFactorisedOperator(transformation, transformation_data)[source]#

Bases: BarycentricOperator

Concrete implementation of the BarycentricOperator given by the edge case given by realizing the factorised copied of the basic 1D atomic sub-problem.

Properties

array_repr_full

Array representation of the global transformation matrix.

array_repr_sparse

Array representation of the sub-transformation matrix transforming only the active monomials.

array_representation

Reconstructs the global transformation matrix.

Methods

merging_fct(leaf_factors, leaf_positions, ...)

Reconstructing the global transformation matrix from the precomputed transformation in factorised format.

transformation_fct(coeffs_out_placeholder, ...)

Transformation based on factorised format that minimises storage.

Parameters:

transformation (TransformationABC)

transformation_fct(coeffs_out_placeholder, first_leaf_solution, leaf_factors, leaf_positions, leaf_sizes)#

Transformation based on factorised format that minimises storage.

The factorised copies of the basic 1D atomic sub-problem are assigned to each combination of leaf problems. By keeping the decomposition, the transformation acts on the respective parts (slices) of the coefficients.

Parameters:
  • leaf_factors (ndarray) – square array of lower triangular form containing a factor for each combination of leaf nodes.

  • first_leaf_solution (ndarray) – the solution of the 1D sub-problem (leaf) of maximal size

  • coeffs_in (ndarray) – the Lagrange coefficients to be transformed

  • coeffs_out_placeholder (ndarray) – a placeholder for the output coefficients NOTE: must be initialised to all 0 and have the equal size as the input coefficients

  • leaf_positions (ndarray)

  • leaf_sizes (ndarray)

Return type:

None

merging_fct(leaf_factors, leaf_positions, leaf_sizes)#

Reconstructing the global transformation matrix from the precomputed transformation in factorised format.

Parameters:
Returns:

Return type:

ndarray

__init__(transformation, transformation_data)#
Parameters:

transformation (TransformationABC)

__matmul__(other)#

Applies the transformation operator on the input.

Parameters:

other (OperatorABC | ndarray)

Return type:

MatrixOperator | ndarray

__weakref__#

list of weak references to the object (if defined)

_get_array_repr()#

Reconstructs the global transformation matrix.

property array_repr_full: ndarray#

Array representation of the global transformation matrix.

Returns:

the matrix representation of the transformation.

Notes

The output transforms the whole basis (not only the active monomials)!

property array_repr_sparse: ndarray#

Array representation of the sub-transformation matrix transforming only the active monomials.

Returns:

the transformation matrix for the active monomials.

Notes

This is an experimental feature which is part of ongoing work.

property array_representation: ndarray#

Reconstructs the global transformation matrix.