dot-rxAdjointGradPop: Adjoint gradient of a POPULATION objective (sum over...

.rxAdjointGradPopR Documentation

Adjoint gradient of a POPULATION objective (sum over subjects)

Description

Computes ⁠dOFV/dtheta = sum_subjects dG_i/dtheta⁠ with one backward sweep per subject. The symbolic model is built once (.rxAdjointGradBuild()) and reused per subject. Assumes a shared dosing regimen across subjects.

Usage

.rxAdjointGradPop(
  object,
  params,
  events,
  calcSens,
  pred,
  data,
  errModel = NULL,
  denseBy = 0.01,
  useC = TRUE,
  atol = 1e-10,
  rtol = 1e-10
)

Arguments

object

model definition accepted by rxode2() (text, rxode2 object, or function/ui).

params

named numeric vector of parameter values.

events

event table / data used to define dosing.

calcSens

character vector of parameter names to differentiate with respect to.

pred

character prediction expression f (function of states and parameters), e.g. "center/v".

data

data.frame of observations with columns id, time, and dv; one block of rows per subject. Any additional columns are treated as per-subject covariates (first value per subject) merged into params.

errModel

NULL for least squares, or a list with character entries add and/or prop naming the additive / proportional residual-error parameters, selecting the FOCEi -2LL objective v = add^2 + (prop*f)^2.

denseBy

grid spacing for the forward checkpoint trajectory; smaller values reduce the covariate-interpolation error.

useC

use the C++ sweep (.rxAdjointGradEvalC()); otherwise the R reference (.rxAdjointGradEval()).

atol, rtol

solver tolerances used for both the forward checkpoint and the backward sweeps.

Value

named numeric vector dOFV/dtheta over calcSens.

Author(s)

Matthew L. Fidler


rxode2 documentation built on July 28, 2026, 5:08 p.m.