% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/get_B.R
\name{.get_B_glm_nocorr}
\alias{.get_B_glm_nocorr}
\title{Path 3: Non-Gaussian GLM, No Correlation}
\usage{
.get_B_glm_nocorr(
  X,
  y,
  X_gram,
  Xy,
  Lambda,
  Ghalf,
  GhalfInv,
  A,
  K,
  p_expansions,
  R_constraints,
  constraint_value_vectors,
  family,
  return_G_getB,
  iterate,
  tol,
  quadprog,
  qp_Amat,
  qp_bvec,
  qp_meq,
  qp_score_function,
  unconstrained_fit_fxn,
  keep_weighted_Lambda,
  unique_penalty_per_partition,
  L_partition_list,
  parallel_eigen,
  parallel_aga,
  parallel_matmult,
  parallel_unconstrained,
  cl,
  chunk_size,
  num_chunks,
  rem_chunks,
  order_list,
  observation_weights,
  glm_weight_function,
  schur_correction_function,
  need_dispersion_for_estimation,
  dispersion_function,
  VhalfInv,
  homogenous_weights,
  ...
)
}
\arguments{
\item{X, y}{Lists of partition-specific design matrices and responses.}

\item{X_gram}{List of Gram matrices.}

\item{Xy}{List of cross-products.}

\item{Lambda}{Shared penalty matrix.}

\item{Ghalf, GhalfInv}{Lists of matrix square roots by partition.}

\item{A}{Constraint matrix.}

\item{K, p_expansions, R_constraints}{Integer dimensions.}

\item{constraint_value_vectors}{Constraint RHS list encoding
\eqn{\mathbf{A}^{\top}\boldsymbol{\beta} = \mathbf{c}}.}

\item{family}{GLM family object.}

\item{return_G_getB}{Logical; return covariance components.}

\item{iterate}{Logical; iterate for non-canonical links.}

\item{tol}{Convergence tolerance.}

\item{quadprog}{Logical; apply QP refinement.}

\item{qp_Amat, qp_bvec, qp_meq}{QP constraint specification.}

\item{qp_score_function}{Score function for QP step.}

\item{unconstrained_fit_fxn}{Function for partition-wise unconstrained
estimation.}

\item{keep_weighted_Lambda, unique_penalty_per_partition}{Logical flags.}

\item{L_partition_list}{Partition-specific penalty matrices.}

\item{parallel_eigen, parallel_aga, parallel_matmult, }{parallel_unconstrained Logical flags.}

\item{cl, chunk_size, num_chunks, rem_chunks}{Parallel parameters.}

\item{order_list, observation_weights}{Standard partition arguments.}

\item{glm_weight_function, schur_correction_function, }{need_dispersion_for_estimation,dispersion_function GLM customization.}

\item{VhalfInv}{Inverse square root correlation (unused here).}

\item{homogenous_weights}{Logical.}

\item{...}{Passed to fitting, weight, and score functions.}
}
\value{
Same structure as \code{get_B}.
}
\description{
For GLMs with non-identity links or non-Gaussian families (without
correlation structures), unconstrained partition-wise estimates are
first obtained via Newton-Raphson (or OLS for Gaussian identity), then
the constrained estimate is computed by a single Lagrangian projection.
For non-canonical links, \eqn{\mathbf{G}} depends on the current
fitted values through the GLM working weights \eqn{\mathbf{W}}; the
projection is therefore iterated, updating \eqn{\mathbf{G}} at the
current constrained estimate until convergence.
}
\keyword{internal}
