|
akreon-convex
Typed convex modeling, conic canonicalization, and primal-dual optimization in C++26.
|
Equality-coupling wrapper for Schur-complement based solve. More...
#include <equality_coupling.hpp>
Public Member Functions | |
| constexpr | SchurEqualityCoupling (const EqMat &A_in, const SchurFactor &S_inv_in) |
| CTOR. | |
| constexpr auto | solve_step (const auto &M_inv, const Var &pz_rhs, const Var &rd, const NuVar &req) const |
| solve for pz step | |
Public Attributes | |
| EqMat | A {} |
| member vars | |
| SchurFactor | S_inv |
| Schur factor S = (A M^{-1} A^T)^{-1}. | |
Equality-coupling wrapper for Schur-complement based solve.
2x2 saddle system [ M A^T ] [ pz; pnu] = [ hat{r}_d; req ] [ A 0 ]
M block M = F^T H F
Schur complement S = A M^{-1} A^T
Definition at line 49 of file equality_coupling.hpp.
|
inlineexplicitconstexpr |
|
inlineconstexpr |
solve for pz step
pnu = S^{-1}(A M^{-1} hat{r}_d - req) pz = M^{-1}(hat{r}_d - A^T pnu) where hat{r}_d = pz_rhs + rd
| M^{-1} | (LDL(M)) |
| pz_rhs | (rhs to be solved) |
| rd | (dual residual) |
| req | (equality residual) |
Definition at line 74 of file equality_coupling.hpp.
References convex::SchurEqualityCoupling< EqMat, SchurFactor, Var, NuVar >::A, convex::dom_size_v, and convex::SchurEqualityCoupling< EqMat, SchurFactor, Var, NuVar >::S_inv.
| EqMat convex::SchurEqualityCoupling< EqMat, SchurFactor, Var, NuVar >::A {} |
member vars
Equality mat
Definition at line 94 of file equality_coupling.hpp.
Referenced by convex::SchurEqualityCoupling< EqMat, SchurFactor, Var, NuVar >::solve_step().
| SchurFactor convex::SchurEqualityCoupling< EqMat, SchurFactor, Var, NuVar >::S_inv |
Schur factor S = (A M^{-1} A^T)^{-1}.
Definition at line 95 of file equality_coupling.hpp.
Referenced by convex::SchurEqualityCoupling< EqMat, SchurFactor, Var, NuVar >::solve_step().