Learn R Programming

boostmath

Providing simple access to Boost’s Math functions in R, no compilation required.

Installation

You can install the development version of boostmath from GitHub with:

# install.packages("remotes")
remotes::install_github("andrjohns/boostmath")

Or you can install pre-built binaries from R-Universe:

install.packages("boostmath", repos = c("https://andrjohns.r-universe.dev",
                                        "https://cran.r-project.org"))

Usage

Functions can be used directly after loading the package:

library(boostmath)

hypergeometric_pFq(c(1, 2.5), c(0.5, 2), 1)
#> [1] 6.675991
ibeta_inv(2.1, 5.2, 0.7)
#> [1] 0.361431
owens_t(2.1, 4.2)
#> [1] 0.00893221

Any Boost Math functions that share the same name as R functions are sufffixed with _boost to avoid conflicts:

beta_boost(3, 2)
#> [1] 0.08333333
lgamma_boost(5)
#> [1] 3.178054

Quadrature and Differentiation

Boost’s integration routines are also available for use with R functions:

trapezoidal(function(x) { 1/(5 - 4*cos(x)) }, a = 0, b = 2*pi)
#> [1] 2.094395

gauss_legendre(function(x) { x * x * atan(x) }, a = 0, b = 1, points = 20)
#> [1] 0.2106573

gauss_kronrod(function(x) { exp(-x * x / 2) }, a = 0, b = Inf, points = 15)
#> [1] 1.253314

As well as numerical differentiation by finite-differencing or the complex-step method:

finite_difference_derivative(exp, 1.7)
#> [1] 5.473947

complex_step_derivative(exp, 1.7)
#> [1] 5.473947

Distribution Functions

The PDF, CDF, log-PDF, log-CDF, and quantile functions for statistical distributions are also exposed:

beta_pdf(0.1, 1.2, 2.1)
#> [1] 1.569287

beta_lpdf(0.1, 1.2, 2.1)
#> [1] 0.4506213

beta_cdf(0.1, 1.2, 2.1)
#> [1] 0.1380638

beta_lcdf(0.1, 1.2, 2.1)
#> [1] -1.98004

beta_quantile(0.5, 1.2, 2.1)
#> [1] 0.3335097

Copy Link

Version

Install

install.packages('boostmath')

Version

1.0.2

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Andrew Johnson

Last Published

July 31st, 2025

Functions in boostmath (1.0.2)

exponential_distribution

Exponential Distribution Functions
exponential_integrals

Exponential Integrals
factorials_and_binomial_coefficients

Factorials and Binomial Coefficients
gegenbauer_polynomials

Gegenbauer Polynomials and Related Functions
gamma_functions

Gamma Functions
hypergeometric_distribution

Hypergeometric Distribution Functions
hermite_polynomials

Hermite Polynomials and Related Functions
hyperexponential_distribution

Hyperexponential Distribution Functions
error_functions

Error Functions and Inverses
holtsmark_distribution

Holtsmark Distribution Functions
hankel_functions

Hankel Functions
geometric_distribution

Geometric Distribution Functions
gamma_distribution

Gamma Distribution Functions
hypergeometric_functions

Hypergeometric Functions
inverse_gamma_distribution

Inverse Gamma Distribution Functions
jacobi_theta_functions

Jacobi Theta Functions
inverse_gaussian_distribution

Inverse Gaussian Distribution Functions
inverse_hyperbolic_functions

Inverse Hyperbolic Functions
lambert_w_function

Lambert W Function and Its Derivatives
inverse_chi_squared_distribution

Inverse Chi-Squared Distribution Functions
kolmogorov_smirnov_distribution

Kolmogorov-Smirnov Distribution Functions
laguerre_polynomials

Laguerre Polynomials and Related Functions
jacobi_elliptic_functions

Jacobi Elliptic Functions
jacobi_polynomials

Jacobi Polynomials and Related Functions
non_central_chi_squared_distribution

Noncentral Chi-Squared Distribution Functions
legendre_polynomials

Legendre Polynomials and Related Functions
logistic_distribution

Logistic Distribution Functions
lognormal_distribution

Log Normal Distribution Functions
non_central_t_distribution

Noncentral T Distribution Functions
laplace_distribution

Laplace Distribution Functions
landau_distribution

Landau Distribution Functions
mapairy_distribution

Map-Airy Distribution Functions
rayleigh_distribution

Rayleigh Distribution Functions
polynomial_root_finding

Polynomial Root-Finding
numerical_differentiation

Numerical Differentiation
pareto_distribution

Pareto Distribution Functions
poisson_distribution

Poisson Distribution Functions
owens_t

Owens T Function
numerical_integration

Numerical Integration
non_central_beta_distribution

Noncentral Beta Distribution Functions
number_series

Number Series
normal_distribution

Normal Distribution Functions
ooura_fourier_integrals

Ooura Fourier Integrals
negative_binomial_distribution

Negative Binomial Distribution Functions
rootfinding_and_minimisation

Root-Finding and Minimisation Functions
sinus_cardinal_hyperbolic_functions

Sinus Cardinal and Hyperbolic Functions
spherical_harmonics

Spherical Harmonics
weibull_distribution

Weibull Distribution Functions
saspoint5_distribution

S\(\alpha\)S Point5 Distribution Functions
students_t_distribution

Student's T Distribution Functions
vector_functionals

Vector Functionals
triangular_distribution

Triangular Distribution Functions
uniform_distribution

Uniform Distribution Functions
skew_normal_distribution

Skew Normal Distribution Functions
zeta

Riemann Zeta Function
airy_functions

Airy Functions
binomial_distribution

Binomial Distribution Functions
basic_functions

Basic Mathematical Functions
bessel_functions

Bessel Functions, Their Derivatives, and Zeros
bernoulli_distribution

Bernoulli Distribution Functions
beta_functions

Beta Functions
beta_distribution

Beta Distribution Functions
arcsine_distribution

Arcsine Distribution Functions
boostmath-package

boostmath: 'R' Bindings for the 'Boost' Math Functions
cauchy_distribution

Cauchy Distribution Functions
double_exponential_quadrature

Double Exponential Quadrature
extreme_value_distribution

Extreme Value Distribution Functions
elliptic_integrals

Elliptic Integrals
chebyshev_polynomials

Chebyshev Polynomials and Related Functions
chi_squared_distribution

Chi-Squared Distribution Functions
fisher_f_distribution

Fisher F Distribution Functions