Package: RTMB 1.9

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. 'RTMB' provides easy access to model fitting and validation following the principles of Kristensen, K., Nielsen, A., Berg, C. W., Skaug, H., & Bell, B. M. (2016) <doi:10.18637/jss.v070.i05> and Thygesen, U.H., Albertsen, C.M., Berg, C.W. et al. (2017) <doi:10.1007/s10651-017-0372-4>.

Authors:Kasper Kristensen [aut, cre]

RTMB_1.9.tar.gz
RTMB_1.9.zip(r-4.7)RTMB_1.9.zip(r-4.6)RTMB_1.9.zip(r-4.5)
RTMB_1.9.tgz(r-4.6-x86_64)RTMB_1.9.tgz(r-4.6-arm64)RTMB_1.9.tgz(r-4.5-x86_64)RTMB_1.9.tgz(r-4.5-arm64)
RTMB_1.9.tar.gz(r-4.7-arm64)RTMB_1.9.tar.gz(r-4.7-x86_64)RTMB_1.9.tar.gz(r-4.6-arm64)RTMB_1.9.tar.gz(r-4.6-x86_64)
RTMB_1.9.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

12.18 score 81 stars 20 packages 718 scripts 1.5k downloads 131 exports 6 dependencies

Last updated from:234200d87a. Checks:13 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK458
linux-devel-x86_64OK509
source / vignettesOK800
linux-release-arm64OK439
linux-release-x86_64OK451
macos-release-arm64OK369
macos-release-x86_64OK561
macos-oldrel-arm64OK286
macos-oldrel-x86_64OK599
windows-develOK535
windows-releaseOK604
windows-oldrelOK621
wasm-releaseOK336

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

Last update: 2026-03-20
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