InterpDiscreteModel#

class InterpDiscreteModel(operators, solver=None, InterpolatorClass=None)[source]#

Parametric discrete dynamical system model \(\qhat(\bfmu)_{j+1} = \fhat(\qhat(\bfmu)_{j}, \u_{j}; \bfmu)\) where the parametric dependence is handled by elementwise interpolation.

Here,

  • \(\qhat_j\in\RR^{r}\) is the \(j\)-th iteration of the model state,

  • \(\u_j\in\RR^{m}\) is the (optional) corresponding input, and

  • \(\bfmu\in\RR^{p}\in\RR^{p}\) is the parameter vector.

The structure of \(\fhat\) is specified through the operators attribute.

Parameters:
operatorslist of opinf.operators objects

Operators comprising the terms of the model. For this class, these must be interpolated parametric operators.

InterpolatorClasstype or None

Class for the elementwise interpolation. Must obey the syntax

>>> interpolator = InterpolatorClass(data_points, data_values)
>>> interpolator_evaluation = interpolator(new_data_point)

This can be, e.g., a class from scipy.interpolate. If None (default), use scipy.interpolate.CubicSpline for one-dimensional parameters and scipy.interpolate.LinearNDInterpolator otherwise.

Properties:
A_#

opinf.operators.LinearOperator (or None).

B_#

opinf.operators.InputOperator (or None).

G_#

opinf.operators.CubicOperator (or None).

H_#

opinf.operators.QuadraticOperator (or None).

N_#

opinf.operators.StateInputOperator (or None).

c_#

opinf.operators.ConstantOperator (or None).

input_dimension#

Dimension \(m\) of the input (zero if there are no inputs).

operators#

Operators comprising the terms of the model.

parameter_dimension#

Dimension \(p\) of a parameter vector \(\bfmu\).

solver#

Solver for the least-squares regression, see opinf.lstsq.

state_dimension#

Dimension \(r\) of the state.

Methods:

copy

Make a copy of the model.

evaluate

Construct a nonparametric model by fixing the parameter value.

fit

Learn the model operators from data.

galerkin

Construct a reduced-order model by taking the (Petrov-)Galerkin projection of each model operator.

jacobian

Sum the state Jacobian of each model operator.

load

Load a serialized model from an HDF5 file, created previously from the save() method.

predict

Step forward the discrete dynamical system niters steps.

refit

Evaluate the least-squares solver and process the results.

rhs

Evaluate the right-hand side of the model by applying each operator and summing the results.

save

Serialize the model, saving it in HDF5 format.

set_interpolator

Set the interpolator for the operator entries.