% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/blockfit_solve.R
\name{.bf_inner_weighted}
\alias{.bf_inner_weighted}
\title{GLM Backfitting Inner Loop}
\usage{
.bf_inner_weighted(
  X_spline,
  X_flat,
  z_list,
  W_list,
  K,
  Lambda_spline,
  Lambda_flat,
  L_part_spline,
  unique_penalty_per_partition,
  A_spline,
  constraint_values_spline,
  nc_spline,
  nc_flat,
  beta_spline_init,
  beta_flat_init,
  tol,
  max_backfit_iter,
  parallel_eigen,
  cl,
  chunk_size,
  num_chunks,
  rem_chunks,
  split = NULL,
  constraint_values = list(),
  p_expansions = NULL
)
}
\arguments{
\item{X_spline, X_flat}{Lists of per-partition submatrices.}

\item{z_list}{List of \eqn{K+1} working-response vectors.}

\item{W_list}{List of \eqn{K+1} weight vectors.}

\item{K}{Integer.}

\item{Lambda_spline, Lambda_flat}{Penalty submatrices.}

\item{L_part_spline}{Partition-specific spline penalty list.}

\item{unique_penalty_per_partition}{Logical.}

\item{A_spline}{Spline-only constraint matrix.}

\item{constraint_values_spline}{Constraint RHS list.}

\item{nc_spline, nc_flat}{Integers.}

\item{beta_spline_init, beta_flat_init}{Initial coefficient values.}

\item{tol}{Convergence tolerance.}

\item{max_backfit_iter}{Maximum iterations.}

\item{parallel_eigen, cl, chunk_size, num_chunks, rem_chunks}{Parallel arguments forwarded to \code{compute_G_eigen}.}

\item{split}{Output of \code{.bf_split_components}, needed for
mixed-constraint enforcement on the flat step.}

\item{constraint_values}{Full constraint RHS list.}

\item{p_expansions}{Integer; columns per partition.}
}
\value{
A named list with \code{beta_spline} and
  \code{beta_flat}.
}
\description{
Given damped Newton-Raphson weights and response partitioned into lists,
runs the inner backfitting loop that alternates between a weighted
spline step and a weighted flat step until convergence.  Shared by
both Case c (GEE warm start) and Case d (GLM without GEE).
}
\keyword{internal}
