InterpInputOperator#
- class InterpInputOperator(training_parameters=None, entries=None, InterpolatorClass: type = None, fromblock=False)[source]#
Parametric input operator \(\Ophat_{\ell}(\qhat,\u;\bfmu) = \Bhat(\bfmu)\u\) where \(\Bhat(\bfmu) \in \RR^{r \times m}\) and the parametric dependence is handled with elementwise interpolation.
\[\Bhat(\bfmu) = \textrm{interpolate}( (\bfmu_0,\Bhat^{(0)}),\ldots,(\bfmu_{s-1},\Bhat^{(s-1)}); \bfmu)\]Here,
\(\bfmu_0,\ldots,\bfmu_{s-1}\in\RR^p\) are the (fixed) training parameter values, and
\(\Bhat^{(i)} = \Bhat(\bfmu_i) \in \RR^{r \times m}\) are the operator entries evaluated at the training parameter values.
See
opinf.operators.InputOperator
.- Parameters:
- training_parameterslist of s scalars or (p,) 1D ndarrays
Parameter values for which the operator entries are known or will be inferred from data. If not provided in the constructor, use
set_training_parameters()
later.- entrieslist of s ndarrays, or None
Operator entries corresponding to the
training_parameters
. If not provided in the constructor, useset_entries()
later.- 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
. IfNone
(default), usescipy.interpolate.CubicSpline
for one-dimensional parameters andscipy.interpolate.LinearNDInterpolator
otherwise. If not provided in the constructor, useset_interpolator()
later.- fromblockbool
If
True
, interpretentries
as a horizontal concatenation of arrays; ifFalse
(default), interpretentries
as a list of arrays.
Properties:- entries#
Operator matrices corresponding to the training parameters values, i.e.,
entries[i]
is the operator matrix corresponding to the parameter valuetraining_parameters[i]
.
- input_dimension#
Dimension of the input \(\u\) that the operator acts on.
- interpolator#
Interpolator object for evaluating the operator at specified parameter values.
- parameter_dimension#
Dimension \(p\) of the parameter vector \(\bfmu\) that the operator matrix depends on.
- shape#
Shape of the operator matrix when evaluated at a parameter value.
- state_dimension#
Dimension \(r\) of the state \(\qhat\) that the operator acts on.
- training_parameters#
Parameter values where the operator matrix is known or will be inferred from data.
Methods:Apply the operator to the given state and input at the specified parameter value, \(\Ophat_\ell(\qhat,\u;\bfmu)\).
Return a copy of the operator.
Return the data matrix block corresponding to the operator.
Evaluate the operator at the given parameter value.
Project this operator to a low-dimensional linear space.
Construct the state Jacobian of the operator, \(\ddqhat\Ophat_\ell(\qhat,\u;\bfmu)\).
Load a parametric operator from an HDF5 file.
Number of columns in the concatenated operator matrix.
Save the operator to an HDF5 file.
Set the operator matrices at the training parameter values.
Construct the interpolator for the operator matrix.
Set the training parameter values.
Verify dimension attributes and
evaluate()
.