Package: RcppTrust
Type: Package
Title: Thread-Safe C++ Trust Region Optimizers
Version: 0.2.0
Authors@R: c(
    person(given = c("Charles", "J."), family = "Geyer", role = c("aut", "cph"),
        email = "geyer@umn.edu", comment = c(ORCID = "0000-0003-1471-1703")),
    person(given = "Matthew", family = "Fidler", role = c("aut", "cre"),
        email = "matthew.fidler@gmail.com", comment = c(ORCID = "0000-0001-8538-6691")),
    person(given = c("Michael", "J.", "D."), family = "Powell", role = "aut",
        comment = "BOBYQA and NEWUOA algorithms and original Fortran 77 code"),
    person(given = "Douglas", family = "Bates", role = c("ctb", "cph"),
        comment = "minqa"),
    person(given = c("Katharine", "M."), family = "Mullen", role = c("ctb", "cph"),
        comment = "minqa"),
    person(given = c("John", "C."), family = "Nash", role = c("ctb", "cph"),
        comment = "minqa"),
    person(given = "Ravi", family = "Varadhan", role = c("ctb", "cph"),
        comment = "minqa"),
    person(given = "Johan", family = "Larsson", role = c("ctb", "cph"),
        comment = "basin trust-region / Steihaug implementation"))
Description: Thread-safe C++ trust region optimizers, each exposed
    both as an R function and as a C-callable entry point (with function
    pointers registered for other packages to call without linking
    against this package's shared library) so they can be used from
    parallel C++ code such as in 'nlmixr2est'. Includes a port of the
    two-derivative trust region algorithm in the 'trust' package by
    Charles J. Geyer; a port of the Steihaug truncated conjugate-gradient
    trust region method from the 'basin' Rust crate (Steihaug (1983)
    <doi:10.1137/0720042>); and ports of M. J. D. Powell's
    derivative-free BOBYQA (Powell (2009), Report DAMTP 2009/NA06) and
    NEWUOA (Powell (2006) <doi:10.1007/0-387-30065-1_16>) Fortran 77
    code <https://github.com/libprima/prima/tree/main/fortran/original>,
    as modified and distributed in the 'minqa' package, whose R
    interface is reproduced.
License: GPL-2
Copyright: See inst/COPYRIGHTS for the sources, copyright holders and
        licenses of code ported from 'trust', 'basin', 'minqa' and
        Powell's Fortran.
URL: https://github.com/nlmixr2/RcppTrust/,
        https://nlmixr2.github.io/RcppTrust/,
        http://www.stat.umn.edu/geyer/trust/
Encoding: UTF-8
Depends: R (>= 4.2.0)
Imports: Rcpp
LinkingTo: Rcpp, RcppArmadillo, BH
Suggests: testthat (>= 3.0.0), stats, knitr, rmarkdown, trust, minqa,
        microbenchmark
Config/testthat/edition: 3
SystemRequirements: C++17
VignetteBuilder: knitr
Config/roxygen2/version: 8.1.0
NeedsCompilation: yes
Packaged: 2026-10-23 16:00:13 UTC; matt-fidler
Author: Charles J. Geyer [aut, cph] (ORCID:
    <https://orcid.org/0000-0003-1471-1703>),
  Matthew Fidler [aut, cre] (ORCID:
    <https://orcid.org/0000-0001-8538-6691>),
  Michael J. D. Powell [aut] (BOBYQA and NEWUOA algorithms and original
    Fortran 77 code),
  Douglas Bates [ctb, cph] (minqa),
  Katharine M. Mullen [ctb, cph] (minqa),
  John C. Nash [ctb, cph] (minqa),
  Ravi Varadhan [ctb, cph] (minqa),
  Johan Larsson [ctb, cph] (basin trust-region / Steihaug implementation)
Maintainer: Matthew Fidler <matthew.fidler@gmail.com>
Repository: CRAN
Date/Publication: 2026-10-27 09:00:08 UTC
