dot-woodbury_halfsqrt_components: Compute Woodbury Half-Square-Root Components

.woodbury_halfsqrt_componentsR Documentation

Compute Woodbury Half-Square-Root Components

Description

Converts the low-rank Woodbury decomposition into square-root objects used directly by the solver. Starting from \mathbf{N} = \mathbf{G}_{\mathrm{on}}^{1/2}\mathbf{E}, it builds a basis for the supplement matrix \mathbf{Q} and stores \mathbf{F}^{1/2} and \mathbf{F}^{-1/2} in the internal forms \mathbf{I} - \mathbf{Q}\mathbf{C}\mathbf{Q}^{\top} and \mathbf{I} + \mathbf{Q}\mathbf{C}_{\mathrm{inv}}\mathbf{Q}^{\top}.

Usage

.woodbury_halfsqrt_components(Ghalf_corrected, E, J, r, K, p_expansions)

Arguments

Ghalf_corrected

List of corrected \mathbf{G}_{\mathrm{on},k}^{1/2}.

E

Off-diagonal low-rank factor (P \times r), denoted \mathbf{E} in the supplement.

J

Length-r sign vector corresponding to the diagonal of \mathbf{J}.

r

Integer effective rank.

K, p_expansions

Integer dimensions.

Details

This helper is standalone: its output is the complete square-root state consumed by .lagrangian_project_woodbury().

Value

A list with components:

valid

Logical; FALSE if \mathbf{F} is not positive definite (signals fallback to dense).

Q

P \times r basis corresponding to the supplement factor \mathbf{Q} in the QR decomposition of \mathbf{N} = \mathbf{G}_{\mathrm{on}}^{1/2}\mathbf{E}. This spans the same subspace as that QR factor.

C

r \times r diagonal matrix encoding the rank-r update in the internal form \mathbf{F}^{1/2} = \mathbf{I}_P - \mathbf{Q}\mathbf{C} \mathbf{Q}^{\top}.

C_inv

r \times r diagonal matrix encoding the inverse update in the internal form \mathbf{F}^{-1/2} = \mathbf{I}_P + \mathbf{Q}\mathbf{C}_{\mathrm{inv}}\mathbf{Q}^{\top}.

GhalfQ

List of K+1 matrices, each p \times r: \mathbf{G}_{\mathrm{on},k}^{1/2} \mathbf{Q}[rows_k,].


lgspline documentation built on Aug. 5, 2026, 1:10 a.m.