| .check_kkt_partitionwise | R Documentation |
Given current constrained coefficient estimates and a set of active inequality constraints (treated as equalities in the last Lagrangian projection), checks primal feasibility of inactive constraints and dual feasibility (non-negative multipliers) of active constraints.
.check_kkt_partitionwise(
result,
Ghalf,
GhalfInv,
Xy_or_uncon,
is_path3,
A_aug,
n_eq_orig,
qp_Amat,
qp_bvec,
active_ineq,
K,
p_expansions,
family,
parallel_matmult,
parallel_aga,
cl,
chunk_size,
num_chunks,
rem_chunks,
tol,
parallel_qr = FALSE
)
result |
List of |
Ghalf |
List of |
GhalfInv |
List of |
Xy_or_uncon |
Either the list of cross-products
|
is_path3 |
Logical; if TRUE, |
A_aug |
Augmented constraint matrix (original A plus active inequality columns). |
n_eq_orig |
Integer; number of original equality constraints (columns of A before augmentation). |
qp_Amat |
Full inequality constraint matrix. |
qp_bvec |
Full inequality constraint RHS. |
active_ineq |
Integer vector; indices into columns of
|
K, p_expansions |
Integer dimensions. |
family |
GLM family object. |
parallel_matmult, parallel_aga |
Logical flags. |
cl, chunk_size, num_chunks, rem_chunks |
Parallel parameters. |
tol |
Numeric tolerance for feasibility and multiplier checks. |
Multipliers for active inequality constraints are recovered from the
OLS fit used in the Lagrangian projection: the fitted coefficients
on \mathbf{X}^* = \mathbf{G}^{1/2}\mathbf{A}_{\mathrm{aug}}
give the Lagrangian multipliers (up to sign and scaling).
A list with components:
Logical; TRUE if all inactive inequality constraints are satisfied within tolerance.
Logical; TRUE if all active inequality multipliers are non-negative within tolerance.
Integer vector; indices of violated inactive
constraints (into qp_Amat columns).
Integer vector; indices of active constraints with negative multipliers that should be dropped.
Numeric vector of Lagrangian multipliers for the active inequality constraints.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.