% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/HelperFunctions.R
\name{compute_G_eigen}
\alias{compute_G_eigen}
\title{Compute Eigenvalues and Related Matrices for G}
\usage{
compute_G_eigen(
  X_gram,
  Lambda,
  K,
  parallel,
  cl,
  chunk_size,
  num_chunks,
  rem_chunks,
  family,
  unique_penalty_per_partition,
  L_partition_list,
  keep_G = TRUE,
  schur_corrections
)

compute_G_eigen(
  X_gram,
  Lambda,
  K,
  parallel,
  cl,
  chunk_size,
  num_chunks,
  rem_chunks,
  family,
  unique_penalty_per_partition,
  L_partition_list,
  keep_G = TRUE,
  schur_corrections
)
}
\arguments{
\item{X_gram}{List of Gram matrices \eqn{X_k^T W_k X_k} by partition.}

\item{Lambda}{Penalty matrix \eqn{\Lambda} (shared across partitions).}

\item{K}{Integer; number of interior knots (partitions = \eqn{K+1}).}

\item{parallel}{Logical; use parallel processing across partitions.}

\item{cl}{Cluster object from \code{parallel::makeCluster}.}

\item{chunk_size, num_chunks, rem_chunks}{Partition distribution parameters.}

\item{family}{GLM family object.}

\item{unique_penalty_per_partition}{Logical; if \code{TRUE}, add
partition-specific penalties from \code{L_partition_list}.}

\item{L_partition_list}{List of partition-specific penalty matrices.}

\item{keep_G}{Logical; if \code{TRUE}, return the full \eqn{G} matrix.}

\item{schur_corrections}{List of Schur complement correction matrices.}
}
\value{
A list with components \code{G} (or \code{NULL} blocks when
  \code{keep_G = FALSE}), \code{Ghalf}, and optionally \code{GhalfInv}.

A list with components \code{G} (or \code{NULL} blocks when
  \code{keep_G = FALSE}), \code{Ghalf}, and optionally \code{GhalfInv}.
}
\description{
Computes partition-wise inverse-information matrices and their matrix square
roots from the penalized information matrix via eigendecomposition.

Computes partition-wise inverse-information matrices and their matrix square roots
from the penalized information matrix via eigendecomposition.
}
\keyword{internal}
