Package: RTMB 2.0

RTMB: 'R' Bindings for 'TMB'

Native 'R' interface to 'TMB' (Template Model Builder) so models can be written entirely in 'R' rather than 'C++'. Automatic differentiation, to any order, is available for a rich subset of 'R' features, including linear algebra for dense and sparse matrices, complex arithmetic, Fast Fourier Transform, probability distributions and special functions. See Kristensen et al. (2026) <doi:10.1002/ece3.74572>.

Authors:Kasper Kristensen [aut, cre]

RTMB_2.0.tar.gz
RTMB_2.0.zip(r-4.7-x86_64)RTMB_2.0.zip(r-4.7-arm64)RTMB_2.0.zip(r-4.6-x86_64)RTMB_2.0.zip(r-4.6-arm64)RTMB_2.0.zip(r-4.5-x86_64)
RTMB_2.0.tgz(r-4.6-x86_64)RTMB_2.0.tgz(r-4.6-arm64)RTMB_2.0.tgz(r-4.5-x86_64)RTMB_2.0.tgz(r-4.5-arm64)
RTMB_2.0.tar.gz(r-4.7-arm64)RTMB_2.0.tar.gz(r-4.7-x86_64)RTMB_2.0.tar.gz(r-4.6-arm64)RTMB_2.0.tar.gz(r-4.6-x86_64)
RTMB_2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
RTMB/json (API)

# Install 'RTMB' in R:
install.packages('RTMB', repos = c('https://kaskr.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/kaskr/rtmb/issues

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

openblascpp

14.33 score 84 stars 70 packages 900 scripts 47k downloads 131 exports 6 dependencies

Last updated from:8068666d3c. Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK447
linux-devel-x86_64OK414
source / vignettesOK688
linux-release-arm64OK749
linux-release-x86_64OK555
macos-release-arm64OK552
macos-release-x86_64OK624
macos-oldrel-arm64OK380
macos-oldrel-x86_64OK677
windows-devel-arm64OK517
windows-devel-x86_64OK746
windows-release-arm64OK524
windows-release-x86_64OK921
windows-oldrel-x86_64OK426
wasm-releaseOK415

Exports:[.advector[.osa[.simref[[.advector[<-.advector[<-.simref%~%$.TapeADadcomplexADjointADoverloadADREPORTadvectoraperm.advectorapplyas.array.simrefas.vector.advectoratan2besselIbesselJbesselKbesselYc.advectorcbind.advectorcheckConsistencycolSumsComplex.advectorcov2corDataEvaldautoregdbetadbinomdbinom_robustdcauchydchisqdcompoisdcompois2dexpdfdflatdgammadgmrfdiagdiff.advectordiff.simrefdim.simrefdim<-.simrefdlgammadlnormdlogisdmultinomdmvnormdnbinomdnbinom_robustdnbinom2dnormdpoisdseparabledSHASHodsndtdtweediedweibulleigenexpAvfftfindIntervalgetAllGetTapeifelseintegrateinterpol1Dfuninterpol2Dfunis.array.simrefis.matrix.simrefis.na.simrefis.numeric.advectorlbetalength.simreflogspace_addlogspace_subMakeADFunMakeTapeMath.advectorMath.simrefmatrixOBSoneStepPredictOps.advectorOps.simreforderpbetapbinompchisqpexppgammaplogispnbinompnormppoisprint.advectorprint.Tapeprod.advectorpweibullqbetaqchisqqexpqgammaqlogisqnormqweibullrbind.advectorrep.advectorREPORTrowSumssapplysdreportsimrefsolvesortsplinefunsum.advectorSummary.advectorSummary.simrefsvdt.simrefTapeConfigunirootunstructuredVectorize

Dependencies:latticeMASSMatrixRcppRcppEigenTMB

RTMB tips
requirements for RTMB functions | if transitioning from TMB | more general points | Which standard operations are available in RTMB?

Last update: 2026-09-24
Started: 2025-11-24

Details behind the AD Tape
The AD Tape | MakeADFun vs MakeTape | Creating our first tape | Evaluating derivatives | The operator graph | Reusing tapes | Atomic functions | Tape simplification | Sparse Jacobians | Tape configuration | Atomic matrix multiply | Vectorized operations | Nested tapes | Laplace approximation | Newton solver | Saddle point approximation | Complex numbers and AD

Last update: 2026-03-13
Started: 2023-05-18

Introduction to RTMB
Introduction | Random regression | Loading the package | Getting the data | Defining a model | Implementing the model in RTMB | Fitting the model | Calculating model output | Simulating from the model object | Checking correctness of the implementation using simulation | Goodness-of-fit using quantile residuals | Debugging | Probabilistic syntax | Using an explicit data argument | Model predictions | Prediction task 1 | Prediction task 2

Last update: 2025-07-29
Started: 2023-05-18

Readme and manuals

Help Manual

Help pageTopics
RTMB: R bindings for TMBRTMB-package RTMB
Distributional assignment operator%~%
Convert R object to ADAD
AD apply functionsADapply apply,advector-method sapply,ANY-method Vectorize,ANY-method
AD complex numbers%*%,adcomplex,ANY-method *.adcomplex +.adcomplex -.adcomplex /.adcomplex ADcomplex adcomplex Arg.adcomplex as.matrix.adcomplex as.vector.adcomplex colSums,adcomplex-method Conj.adcomplex diag,adcomplex,ANY,ANY-method dim.adcomplex dim<-.adcomplex exp.adcomplex fft,adcomplex-method fft,advector-method Im.adcomplex is.matrix.adcomplex length.adcomplex log.adcomplex Mod.adcomplex Ops,adcomplex,advector-method Ops,advector,adcomplex-method Re.adcomplex rep.adcomplex rowSums,adcomplex-method show,adcomplex-method solve,adcomplex,ANY-method sqrt.adcomplex t.adcomplex [.adcomplex [<-.adcomplex
AD aware numeric constructorsADconstruct diag,advector,ANY,ANY-method matrix,advector-method matrix,num.-method
AD adaptive numerical integration.ADintegrate integrate,ANY-method
AD adjoint code from RADjoint
AD matrix methods (sparse and dense)%*%,ad,ad-method %*%,ad,anysparse-method %*%,adsparse,adsparse-method %*%,anysparse,ad-method ADmatrix as.matrix.adsparse band,adsparse-method cbind.advector chol.advector colSums,adsparse-method colSums,advector-method cov2cor,advector-method crossprod,ad,ad.-method determinant.advector diag,adsparse,missing,missing-method dim,adsparse-method eigen,adcomplex-method eigen,advector-method expm,adsparse-method expm,advector-method Math,adsparse-method rbind.advector rowSums,adsparse-method rowSums,advector-method solve,ad,ad.-method solve,anysparse,ad.-method solve,num,num.-method svd,advector-method t.adsparse tcrossprod,ad,ad.-method tril,adsparse-method triu,adsparse-method [.adsparse [<-.adsparse
Enable extra RTMB convenience methodsADoverload
AD sparse matrix classADsparse adsparse
AD one-dimensional root finding.ADuniroot uniroot,ANY-method
The AD vector and its methodsADvector advector aperm.advector as.complex.advector as.double.advector as.vector.advector c.advector Complex.advector diff.advector findInterval,advector,advector-method ifelse,num,ad,ad-method ifelse,num,num,num-method is.finite.advector is.infinite.advector is.na.advector is.nan.advector is.numeric.advector length<-.advector Math.advector max.advector mean.advector min.advector Ops.advector order,missing,missing,missing-method print.advector prod.advector rep.advector sort,advector-method sum.advector Summary.advector [,advector,advector,ANY,ANY-method [.advector [<-.advector [[.advector
Distributions and special functions for which AD is implementedatan2,advector,advector-method atan2,advector,num-method atan2,num,advector-method besselI,ad,ad-method besselI,num,num-method besselJ,ad,ad-method besselJ,num,num-method besselK,ad,ad-method besselK,num,num-method besselY,ad,ad-method besselY,num,num-method dbeta,ad,ad,ad,missing,logical.-method dbeta,num,num,num,missing,logical.-method dbeta,osa,ANY,ANY,ANY,ANY-method dbeta,simref,ANY,ANY,ANY,ANY-method dbinom,ad,ad,ad,logical.-method dbinom,num,num,num,logical.-method dbinom,osa,ANY,ANY,ANY-method dbinom,simref,ANY,ANY,ANY-method dbinom_robust dcauchy,ad,ad.,ad.,logical.-method dcauchy,num,num.,num.,logical.-method dcauchy,osa,ANY,ANY,ANY-method dcauchy,simref,ANY,ANY,ANY-method dchisq,ANY,ANY,missing-method dchisq,num,num,num.-method dcompois dcompois2 dexp,ad,ad.,logical.-method dexp,num,num.,logical.-method dexp,osa,ANY,ANY-method dexp,simref,ANY,ANY-method df,ad,ad,ad,missing,logical.-method df,num,num,num,missing,logical.-method df,osa,ANY,ANY,ANY,ANY-method df,simref,ANY,ANY,ANY,ANY-method dflat dgamma,ad,ad,ad,missing,logical.-method dgamma,ad,ad,missing,ad.,logical.-method dgamma,num,num,missing,num.,logical.-method dgamma,osa,ANY,ANY,ANY,ANY-method dgamma,simref,ANY,ANY,ANY,ANY-method Distributions dlgamma dlnorm,ANY,ANY,ANY,ANY-method dlnorm,num,num.,num.,logical.-method dlnorm,osa,ANY,ANY,ANY-method dlogis,ad,ad.,ad.,logical.-method dlogis,num,num.,num.,logical.-method dlogis,osa,ANY,ANY,ANY-method dlogis,simref,ANY,ANY,ANY-method dmultinom,ad,ad.,ad,logical.-method dmultinom,ANY,ANY,ANY,ANY-method dmultinom,num,num.,num,logical.-method dmultinom,osa,ANY,ANY,ANY-method dmultinom,simref,ANY,ANY,ANY-method dnbinom,ad,ad,ad,missing,logical.-method dnbinom,num,num,num,missing,logical.-method dnbinom,osa,ANY,ANY,ANY,ANY-method dnbinom,simref,ANY,ANY,ANY,ANY-method dnbinom2 dnbinom_robust dnorm,ad,ad.,ad.,logical.-method dnorm,num,num.,num.,logical.-method dnorm,osa,ANY,ANY,ANY-method dnorm,simref,ANY,ANY,ANY-method dpois,ad,ad,logical.-method dpois,num,num,logical.-method dpois,osa,ANY,ANY-method dpois,simref,ANY,ANY-method dSHASHo dsn dt,ad,ad,missing,logical.-method dt,num,num,missing,logical.-method dt,osa,ANY,ANY,ANY-method dt,simref,ANY,ANY,ANY-method dtweedie dweibull,ad,ad,ad.,logical.-method dweibull,num,num,num.,logical.-method dweibull,osa,ANY,ANY,ANY-method dweibull,simref,ANY,ANY,ANY-method lbeta,ad,ad-method lbeta,num,num-method logspace_add logspace_sub pbeta,ad,ad,ad,missing,missing,missing-method pbeta,num,num,num,missing,missing,missing-method pbinom,ad,ad,ad,missing,missing-method pbinom,num,num,num,missing,missing-method pchisq,ANY,ANY,missing,missing,missing-method pchisq,num,num,num.,missing,missing-method pexp,ad,ad.,missing,missing-method pexp,num,num.,missing,missing-method pgamma,ad,ad,ad,missing,missing,missing-method pgamma,ad,ad,missing,ad.,missing,missing-method pgamma,num,num,missing,num.,missing,missing-method plogis,advector,missing,missing,missing,missing-method pnbinom,ad,ad,ad,missing,missing,missing-method pnorm,ad,ad.,ad.-method pnorm,num,num.,num.-method ppois,ad,ad,missing,missing-method ppois,num,num,missing,missing-method pweibull,ad,ad,ad.,missing,missing-method pweibull,num,num,num.,missing,missing-method qbeta,ad,ad,ad,missing,missing,missing-method qbeta,num,num,num,missing,missing,missing-method qchisq,ANY,ANY,missing,missing,missing-method qchisq,num,num,num.,missing,missing-method qexp,ad,ad.,missing,missing-method qexp,num,num.,missing,missing-method qgamma,ad,ad,ad,missing,missing,missing-method qgamma,ad,ad,missing,ad.,missing,missing-method qgamma,num,num,missing,num.,missing,missing-method qlogis,advector,missing,missing,missing,missing-method qnorm,ad,ad.,ad.,missing,missing-method qnorm,num,num.,num.,missing,missing-method qweibull,ad,ad,ad.,missing,missing-method qweibull,num,num,num.,missing,missing-method
Matrix exponential of sparse matrix multiplied by a vector.expAv
Interpolationinterpol1Dfun interpol2Dfun Interpolation splinefun,ad,ad,ANY,missing-method splinefun,ad,missing,ANY,missing-method
Multivariate Gaussian densitiesdautoreg dgmrf dmvnorm dseparable MVgauss unstructured
Recursive quantile residualsdim.osa is.array.osa is.matrix.osa length.osa oneStepPredict OSA-residuals [.osa
Simulationas.array.simref diff.simref dim.simref dim<-.simref is.array.simref is.matrix.simref is.na.simref length.simref Math.simref Ops.simref simref Simulation Summary.simref t.simref [.simref [<-.simref
The AD tape$.Tape DataEval GetTape MakeTape print.Tape Tape TapeConfig
Interface to TMBADREPORT checkConsistency getAll MakeADFun OBS REPORT sdreport TMB-interface