gemseo.mlearning.linear_model_fitting.null_space module#

Null space algorithm.

class NullSpace(settings=None)[source]#

Bases: BaseLinearModelFitter[_NullSpaceFittingFunction, NullSpace_Settings]

The null space method.

Given the linear model fitting problem presented in this page, this algorithm uses the null space method to solve a penalized least squares problem of the form:

\[min_w \|\tilde{Y} - \tilde{X}w\|_2 \quad s.t. \quad Y=Xw\]

where \(\tilde{X}\) and \(\tilde{Y}\) contained additional data such that \(\text{rank}\left(\begin{matrix}X\\\tilde{X}\end{matrix}\right)\) equals the number of features \(d\).

This method was applied by Ghisu et al (2021) to fit a polynomial chaos expansion from input, output and Jacobian data.

Tiziano Ghisu, Diego I. Lopez, Pranay Seshadri and Shahrokh Shahpar, Gradient-enhanced Least-square Polynomial Chaos Expansions for Uncertainty Quantification and Robust Optimization, AIAA 2021-3073. AIAA AVIATION 2021 FORUM. August 2021.

Initialize self. See help(type(self)) for accurate signature.

Parameters:

settings (SettingsType | None) -- The settings of the linear model fitting algorithm. If None, use a default instance of Settings.

Settings#

alias of NullSpace_Settings