dot-woodbury_decompose_V: Woodbury Decomposition of Correlation Structure

.woodbury_decompose_VR Documentation

Woodbury Decomposition of Correlation Structure

Description

Builds the Woodbury factors for the correlated solver. The function decomposes \mathbf{G}^{-1} = \mathbf{G}_{\mathrm{on}}^{-1} + \mathbf{G}_{\mathrm{off}}^{-1} by absorbing the block-diagonal part of \mathbf{X}^{\top}\mathbf{V}^{-1}\mathbf{X} + \boldsymbol{\Lambda} into \mathbf{G}_{\mathrm{on}}^{-1}, then factoring the cross-partition part as \mathbf{G}_{\mathrm{off}}^{-1} = \mathbf{E}\mathbf{J}\mathbf{E}^{\top}.

Usage

.woodbury_decompose_V(
  VhalfInv_perm,
  X,
  K,
  p_expansions,
  Lambda,
  Lambda_block,
  unique_penalty_per_partition,
  L_partition_list,
  order_list,
  parallel_eigen,
  cl,
  chunk_size,
  num_chunks,
  rem_chunks,
  rank_threshold_fraction = 2/3,
  family
)

Arguments

VhalfInv_perm

\mathbf{V}^{-1/2} permuted to partition ordering.

X

List of partition-specific design matrices.

K, p_expansions

Integer dimensions.

Lambda, Lambda_block

Shared and full block-diagonal penalty matrices.

unique_penalty_per_partition

Logical.

L_partition_list

Partition-specific penalty matrices.

order_list

Partition-to-data index mapping.

parallel_eigen

Logical; parallel eigendecomposition.

cl, chunk_size, num_chunks, rem_chunks

Parallel parameters.

rank_threshold_fraction

Numeric; Woodbury is used only when r < P \times this fraction (default 2/3).

family

GLM family object.

Details

The output is exactly the information needed by .woodbury_halfsqrt_components() and .lagrangian_project_woodbury(): corrected block-diagonal \mathbf{G}_{\mathrm{on}}, the low-rank factor \mathbf{E}, the sign matrix diagonal \mathbf{J}, and the small inverse (\mathbf{J}^{-1} + \mathbf{E}^{\top}\mathbf{G}_{\mathrm{on}}\mathbf{E})^{-1}.

When the cross-partition rank is zero or too large to be worthwhile, the helper returns use_woodbury = FALSE so the caller can use the dense correlated path instead.

Value

A list with components:

use_woodbury

Logical; FALSE triggers dense Path 1 fallback.

Ghalf_corrected

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

GhalfInv_corrected

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

G_corrected

List of corrected \mathbf{G}_{\mathrm{on},k}.

E

Off-diagonal low-rank factor (P \times r) from the supplement factorization \mathbf{G}_{\mathrm{off}}^{-1} = \mathbf{E}\mathbf{J}\mathbf{E}^{\top}.

J

Length-r vector giving the diagonal of \mathbf{J}.

r

Integer effective rank.

inner_inv

Precomputed r \times r Woodbury inner inverse. In supplement notation this is (\mathbf{J}^{-1} + \mathbf{E}^{\top}\mathbf{G}_{\mathrm{on}} \mathbf{E})^{-1}.

GL

List of K+1 matrices storing \mathbf{G}_{\mathrm{on},k}\mathbf{E}[rows_k,] in supplement notation, each p \times r.


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