% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/adjoint.R
\name{.rxAdjointSolveBuild}
\alias{.rxAdjointSolveBuild}
\title{Build the symbolic part of a full-trajectory adjoint solve (compile once)}
\usage{
.rxAdjointSolveBuild(object, calcSens, events, adjStates = NULL)
}
\arguments{
\item{object}{model definition accepted by \code{\link[=rxode2]{rxode2()}} (text,
\code{rxode2} object, or function/ui).}

\item{calcSens}{character vector of parameter names to differentiate with
respect to.}

\item{events}{event table / data used to define dosing.}

\item{adjStates}{character vector of output states of interest.  Defaults to
all ODE states (full forward-sensitivity parity).}
}
\value{
an opaque list consumed by \code{\link[=.rxAdjointSolveEvalC]{.rxAdjointSolveEvalC()}}.
}
\description{
Performs all symbolic work (Jacobian, dose-dual expressions, model
compilation) once and returns a reusable object for \code{\link[=.rxAdjointSolveEvalC]{.rxAdjointSolveEvalC()}},
the C++-backed counterpart of \code{\link[=.rxAdjointSolve]{.rxAdjointSolve()}}.
}
\author{
Matthew L. Fidler
}
\keyword{internal}
