get_operator_regularizer()

get_operator_regularizer()#

classmethod TikhonovSolver.get_operator_regularizer(operators: list, regularization_parameters: list, state_dimension: int, input_dimension: int = 0)[source]#

Construct a regularizer so that each operator is regularized separately.

The regularization term for this solver is

\[\|\bfGamma\Ohat\trp\|_F^2\]

where \(\Ohat\in\RR^{r\times d}\) is the unknown and \(\bfGamma\in\RR^{d \times d}\) is a given regularization matrix. This method constructs \(\bfGamma\) such that each operator represented in \(\Ohat\) is regularized separately. For example, if \(\Ohat = [~\chat~~\Ahat~~\Hhat~~\Bhat~]\), then \(\bfGamma\) may be designed so that

\[\|\bfGamma\Ohat\trp\|_F^2 = \gamma_1\|\chat\|_F^2 + \gamma_2\|\Ahat\|_F^2 + \gamma_3\|\Hhat\|_F^2 + \gamma_4\|\Bhat\|_F^2.\]
Parameters:
operatorslist of opinf.operators objects

Collection of operators comprising the operator matrix.

regularization_parameterslist of floats or ndarrays

Regularization hyperparameters for each operator, i.e., regularization_parameters[i] corresponds to operators[i].

state_dimensionint

Dimension of the (reduced) state.

input_dimensionint

Dimension of the input. If there is no input, this should be 0 (default).