matrix_operator#

This module contains the matrix transformation operator class.

The MatrixOperator class represents the polynomial basis transformation operator as a full matrix without exploiting any special structure. As a result, this matrix typically large and may require significant memory and computational resources.


class minterpy.schemes.matrix_operator.MatrixOperator(transformation, transformation_data)[source]#

Bases: OperatorABC

Concrete implementation of a Operator constructed as a matrix.

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.

Parameters:

transformation (TransformationABC)

__matmul__(other)[source]#

Applies the transformation operator on the input.

This is a placeholder of the ABC, which is overwritten by the concrete implementation.

_get_array_repr()[source]#

Returns the matrix representation of the transformation.

Return type:

ndarray

__init__(transformation, transformation_data)#
Parameters:

transformation (TransformationABC)

__weakref__#

list of weak references to the object (if defined)

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.