ParametricOperatorTemplate#

class ParametricOperatorTemplate[source]#

Template for operators that depend on external parameters, \(\Ophat_{\ell}(\qhat,\u;\bfmu).\)

In this package, a parametric “operator” is a function \(\Ophat_{\ell}: \RR^r \times \RR^m \times \RR^p \to \RR^r\) that acts on a state vector \(\qhat\in\RR^r\), an (optional) input vector \(\u\in\RR^m\), and a parameter vector \(\bfmu\in\RR^p\).

Parametric models are defined as the sum of several operators, at least one of which is parametric. For example, a system of ODEs:

\[\ddt\qhat(t;\bfmu) = \sum_{\ell=1}^{n_\textrm{terms}}\Ophat_{\ell}(\qhat(t),\u(t);\bfmu).\]

Notes

This class can be used for custom nonparametric model terms that are not learnable with Operator Inference. For nonparametric model terms, see OperatorTemplate. For model terms that can be learned with Operator Inference, see OpInfOperator or ParametricOpInfOperator.

Properties:
parameter_dimension#

Dimension \(p\) of the parameter vector \(\bfmu\) that the operator matrix depends on.

state_dimension#

Dimension \(r\) of the state \(\qhat\) that the operator acts on.

Methods:

apply

Apply the operator to the given state and input at the specified parameter value, \(\Ophat_\ell(\qhat,\u;\bfmu)\).

copy

Return a copy of the operator.

evaluate

Evaluate the operator at the given parameter value, resulting in a nonparametric operator.

galerkin

Get the (Petrov-)Galerkin projection of this operator.

jacobian

Construct the state Jacobian of the operator, \(\ddqhat\Ophat_\ell(\qhat,\u;\bfmu)\).

load

Load an operator from an HDF5 file.

save

Save the operator to an HDF5 file.

verify

Verify dimension attributes and evaluate().