Learn R Programming

lgspline (version 0.2.0)

compute_dG_u_dlambda_xy: Compute Derivative of \(\textbf{U}\textbf{G}\textbf{X}^{T}\textbf{y}\) with Respect to Lambda

Description

Compute Derivative of \(\textbf{U}\textbf{G}\textbf{X}^{T}\textbf{y}\) with Respect to Lambda

Usage

compute_dG_u_dlambda_xy(
  AGAInv_AGXy,
  AGAInv,
  G,
  A,
  dG_dlambda,
  nc,
  nca,
  K,
  Xy,
  Ghalf,
  dGhalf,
  GhalfXy_temp,
  parallel,
  cl,
  chunk_size,
  num_chunks,
  rem_chunks
)

Value

Vector of derivatives

Arguments

AGAInv_AGXy

Product of \((\textbf{A}^{T}\textbf{G}\textbf{A})^{-1}\) and \(\textbf{A}^{T}\textbf{G}\textbf{X}^{T}\textbf{y}\)

AGAInv

Inverse of \(\textbf{A}^{T}\textbf{G}\textbf{A}\)

G

List of \(\textbf{G}\) matrices

A

Constraint matrix \(\textbf{A}\)

dG_dlambda

List of \(d\textbf{G}/d\lambda\) matrices

nc

Number of columns

nca

Number of constraint columns

K

Number of partitions minus 1 (\(K\))

Xy

List of \(\textbf{X}^{T}\textbf{y}\) products

Ghalf

List of \(\textbf{G}^{1/2}\) matrices

dGhalf

List of \(d\textbf{G}^{1/2}/d\lambda\) matrices

GhalfXy_temp

Temporary storage for \(\textbf{G}^{1/2}\textbf{X}^{T}\textbf{y}\)

parallel

Use parallel processing

cl

Cluster object

chunk_size

Size of parallel chunks

num_chunks

Number of chunks

rem_chunks

Remaining chunks

Details

Computes \(d(\textbf{U}\textbf{G}\textbf{X}^{T}\textbf{y})/d\lambda\). Uses efficient implementation avoiding large matrix construction. For large problems (\(K \ge 10\), \(nc > 4\)), uses chunked parallel processing. For smaller problems, uses simpler least squares approach based on \(\textbf{G}^{1/2}\).