ReducedHessian¶
-
class
kona.linalg.matrices.hessian.
ReducedHessian
(vector_factories, optns=None)[source]¶ Bases:
kona.linalg.matrices.hessian.basic.BaseHessian
Reduced-space approximation of the Hessian-vector product using a 2nd order adjoint formulation.
Note
Insert inexact-Hessian paper reference here
Variables: - product_fact (float) – Solution tolerance for 2nd order adjoints.
- lamb (float) –
???
- scale (float) –
???
- quasi_newton (QuasiNewtonApproximation -like) – QN Hessian object to be used as preconditioner.
-
linearize
(at_design, at_state, at_adjoint, scale=1.0)[source]¶ An abstracted “linearization” method for the matrix.
This method does not actually factor any real matrices. It also does not perform expensive linear or non-linear solves. It is used to update internal vector references and perform basic calculations using only cheap matrix-vector products.
Parameters: - at_design (DesignVector) – Design point at which the product is evaluated.
- at_state (StateVector) – State point at which the product is evaluated.
- at_dual (DualVector) – Lagrange multipliers at which the product is evaluated.
- at_adjoint (StateVector) – 1st order adjoint variables at which the product is evaluated.
-
product
(in_vec, out_vec)[source]¶ Matrix-vector product for the reduced KKT system.
Parameters: - in_vec (ReducedKKTVector) – Vector to be multiplied with the KKT matrix.
- out_vec (ReducedKKTVector) – Result of the operation.
-
solve
(rhs, solution, rel_tol=None)[source]¶ Solve the linear system defined by this matrix using the embedded krylov solver.
Parameters: - rhs (DesignVector) – Right hand side vector for the system.
- solution (PrimalVector) – Solution of the system.
- rel_tol (float, optional) – Relative tolerance for the krylov solver.