Package: Rmpfr 1.0-0

Martin Maechler

Rmpfr: Interface R to MPFR - Multiple Precision Floating-Point Reliable

Arithmetic (via S4 classes and methods) for arbitrary precision floating point numbers, including transcendental ("special") functions. To this end, the package interfaces to the 'LGPL' licensed 'MPFR' (Multiple Precision Floating-Point Reliable) Library which itself is based on the 'GMP' (GNU Multiple Precision) Library.

Authors:Martin Maechler [aut, cre], Richard M. Heiberger [ctb], John C. Nash [ctb], Hans W. Borchers [ctb], Mikael Jagan [ctb]

Rmpfr_1.0-0.tar.gz
Rmpfr_1.0-0.tar.gz(r-4.5-noble)Rmpfr_1.0-0.tar.gz(r-4.4-noble)
Rmpfr.pdf |Rmpfr.html
Rmpfr/json (API)
NEWS

# Install 'Rmpfr' in R:
install.packages('Rmpfr', repos = 'https://cloud.r-project.org')

Bug tracker:https://r-forge.r-project.org/projects/rmpfr

Uses libs:
  • mpfr4– Multiple precision floating-point computation
  • gmp– Multiprecision arithmetic library

On CRAN:

Conda:

mpfr4gmp

8.49 score 3 stars 143 packages 40k downloads 4 mentions 129 exports 1 dependencies

Last updated 5 months agofrom:02e84f8437. Checks:3 OK. Indexed: no.

TargetResultLatest binary
Doc / VignettesOKMar 20 2025
R-4.5-linux-x86_64OKMar 20 2025
R-4.4-linux-x86_64OKMar 20 2025

Exports:..bigq2mpfr..bigz2mpfr.bigq2mpfr.bigz2mpfr.getPrec.getSign.mpfr.mpfr_erange.mpfr_erange_is_int.mpfr_erange_kinds.mpfr_erange_set.mpfr_formatinfo.mpfr_gmp_numbbits.mpfr_maxPrec.mpfr_minPrec.mpfr_negative.mpfr_sign.mpfr..mpfr.is.whole.mpfr2bigq.mpfr2bigz.mpfr2d.mpfr2exp.mpfr2i.mpfr2list.mpfr2str.mpfrVersionAiall.equalapermapplyArithasNumericatan2BernoullibetacbindchooseMpfrchooseMpfr.allcoercecoerce<-colMeanscolSumsCompareConstdbinomdgammadiagdiag<-dnbinomdnormdpoisdtEierferfcfactorialfactorialMpfrformatformatBinformatDecformatHexformatMpfrfrexpMpfrgetDgetPrecheadhjkMpfrhypotigammaintegrateRis.mpfrj0j1jnlbetaldexpMpfrLi2log1mexplog1pexpLogicMathMath2matmultmeanmedianmpfrmpfr_default_precmpfr.is.0mpfr.is.integermpfr2arraympfrArraympfrImportmpfrIs0mpfrVersionmpfrXportnormnum2bigqOpsoptimizeRouterpbetaIpmaxpminpnormpochMpfrqnormIquantilerbindroundMpfrrowMeansrowSumssapplyMpfrseqMpfrshowsumBinomMpfrsummarySummaryttailtoNumuniqueunirootRwhich.maxwhich.miny0y1ynzeta

Dependencies:gmp

Accurately Computing log(1 - exp(.)) -- Assessed by Rmpfr

Rendered fromlog1mexp-note.Rnwusingutils::Sweaveon Mar 20 2025.

Last update: 2023-01-16
Started: 2012-12-03

Arbitrarily Accurate Computation with R Package Rmpfr

Rendered fromRmpfr-pkg.Rnwusingutils::Sweaveon Mar 20 2025.

Last update: 2023-01-16
Started: 2012-12-03

useR-2011-abstract

Rendered fromMaechler_useR_2011-abstr.Rnwusingutils::Sweaveon Mar 20 2025.

Last update: 2013-05-04
Started: 2013-05-04

Citation

To cite package ‘Rmpfr’ in publications use:

Maechler M (2024). Rmpfr: Interface R to MPFR - Multiple Precision Floating-Point Reliable. R package version 1.0-0, https://CRAN.R-project.org/package=Rmpfr.

Corresponding BibTeX entry:

  @Manual{,
    title = {Rmpfr: Interface R to MPFR - Multiple Precision
      Floating-Point Reliable},
    author = {Martin Maechler},
    year = {2024},
    note = {R package version 1.0-0},
    url = {https://CRAN.R-project.org/package=Rmpfr},
  }

Readme and manuals

Installation and Reference of the R package 'Rmpfr'

Installation is non-trivial if you install from _source because of the SystemRequirements (listed in ./DESCRIPTION):

The package Rmpfr interfaces R to the C Library MPFR:

MPFR, the "Multiple Precision Floating-Point Reliably" library

which is Free/Libre Software, available under the LGPL license. MPFR Website

MPFR itself is built on and requires the GMP library

GNU Multiple Precision arithmetic library (GMP)

Obtain that from GMP Website or from your operating system vendor / package system:

+ Under _Debian_, _Ubuntu_ (and other Debian derivative) Linux distributions,
  it is sufficient (for *both* libraries) to simply do
  sudo apt-get install libmpfr-dev
+ In Fedora, Redhat, CentOS, opensuse, etc, you get these via
  sudo dnf install mpfr-devel

The standard reference to MPFR is

@article{FouLHLPZ-2007,
 author = {Laurent Fousse and Guillaume Hanrot and Vincent Lef\`{e}vre and
 	   Patrick P\'{e}lissier and Paul Zimmermann},
 title = {MPFR: A multiple-precision binary floating-point library with
          correct rounding},
 year = {2007},
 journal = {ACM Trans. Math. Softw.},
 volume = {33},
 number = {2},
 issn = {0098-3500},
 pages = {13},
 doi = {http://doi.acm.org/10.1145/1236463.1236468},
 publisher = {ACM},
 address = {New York, NY, USA},
}

Help Manual

Help pageTopics
R MPFR - Multiple Precision Floating-Point ReliableRmpfr-package Rmpfr
Auxiliary Class "array_or_vector"array_or_vector-class
Methods for 'asNumeric(<mpfr>)'asNumeric,mpfr-method asNumeric,mpfrArray-method asNumeric-methods
Virtual Class "atomicVector" of Atomic VectorsatomicVector-class
Bernoulli Numbers in Arbitrary PrecisionBernoulli
Bessel functions of Integer Order in multiple precisionsAi Bessel_mpfr j0 j1 jn y0 y1 yn
"mpfr" '...' - Methods for Functions cbind(), rbind()cbind cbind,ANY-method cbind,Mnumber-method cbind-methods rbind rbind,ANY-method rbind,Mnumber-method rbind-methods
Binomial Coefficients and Pochhammer Symbol aka Rising FactorialchooseMpfr chooseMpfr.all pochMpfr
Factorial 'n!' in Arbitrary PrecisionfactorialMpfr
Flexibly Format Numbers in Binary, Hex and Decimal FormatformatBin formatDec formatHex print.Ncharacter
Formatting MPFR (multiprecision) Numbers.mpfr2str formatMpfr formatN.mpfr
Base-2 Representation and Multiplication of Mpfr NumbersfrexpMpfr ldexpMpfr
Conversion Utilities gmp <-> Rmpfr.bigq2mpfr .bigz2mpfr .mpfr2bigq .mpfr2bigz coerce,bigq,mpfr-method coerce,bigz,mpfr-method
Hooke-Jeeves Derivative-Free Minimization R (working for MPFR)hjkMpfr
Incomplete Gamma Functionigamma
One-Dimensional Numerical Integration - in pure RintegrateR print.integrateR show,integrateR-method
Whole ("Integer") Numbersis.whole.mpfr
Compute f(a) = log(1 +/- exp(-a)) Numerically Optimallylog1mexp log1pexp
(MPFR) Matrix (Vector) Multiplication.matmult.R matmult
Class "Mnumber" and "mNumber" of "mpfr" and regular numbers and arrays from themMnumber-class mNumber-class numericVector-class
Create "mpfr" Numbers (Objects)Const is.mpfr mpfr mpfr.default mpfr.mpfr
Class "mpfr" of Multiple Precision Floating Point Numbers%*%,array_or_vector,mpfr-method %*%,mpfr,array_or_vector-method abs,mpfr-method all.equal,ANY,mpfr-method all.equal,mpfr,ANY-method all.equal,mpfr,mpfr-method Arg,mpfr-method Arith,array,mpfr-method Arith,integer,mpfr-method Arith,mpfr,array-method Arith,mpfr,integer-method Arith,mpfr,missing-method Arith,mpfr,mpfr-method Arith,mpfr,numeric-method Arith,numeric,mpfr-method as.integer,mpfr-method as.numeric,mpfr-method as.vector,mpfrArray-method atan2,ANY,mpfr-method atan2,ANY,mpfrArray-method atan2,mpfr,ANY-method atan2,mpfr,mpfr-method atan2,mpfr,numeric-method atan2,mpfrArray,ANY-method atan2,mpfrArray,mpfrArray-method atan2,numeric,mpfr-method beta,ANY,mpfr-method beta,ANY,mpfrArray-method beta,mpfr,ANY-method beta,mpfr,mpfr-method beta,mpfr,numeric-method beta,mpfrArray,ANY-method beta,mpfrArray,mpfrArray-method beta,numeric,mpfr-method coerce,array,mpfr-method coerce,character,mpfr-method coerce,integer,mpfr-method coerce,logical,mpfr-method coerce,mpfr,bigz-method coerce,mpfr,character-method coerce,mpfr,integer-method coerce,mpfr,mpfr1-method coerce,mpfr,numeric-method coerce,mpfr1,mpfr-method coerce,mpfr1,numeric-method coerce,numeric,mpfr-method coerce,numeric,mpfr1-method coerce,raw,mpfr-method Compare,array,mpfr-method Compare,integer,mpfr-method Compare,mpfr,array-method Compare,mpfr,integer-method Compare,mpfr,mpfr-method Compare,mpfr,numeric-method Compare,numeric,mpfr-method Conj,mpfr-method crossprod,array_or_vector,mpfr-method crossprod,mpfr,array_or_vector-method dim<-,mpfr-method factorial,mpfr-method format,mpfr-method hypot Im,mpfr-method is.finite,mpfr-method is.finite,mpfrArray-method is.infinite,mpfr-method is.infinite,mpfrArray-method is.na,mpfr-method is.na,mpfrArray-method is.nan,mpfr-method is.nan,mpfrArray-method lbeta,ANY,mpfr-method lbeta,ANY,mpfrArray-method lbeta,mpfr,ANY-method lbeta,mpfr,mpfr-method lbeta,mpfr,numeric-method lbeta,mpfrArray,ANY-method lbeta,mpfrArray,mpfrArray-method lbeta,numeric,mpfr-method log,mpfr-method Logic,mpfr,mpfr-method Logic,mpfr,numeric-method Logic,numeric,mpfr-method Math,mpfr-method Math2,mpfr-method mean,mpfr-method median,mpfr-method Mod,mpfr-method mpfr-class mpfr1-class Ops,ANY,mpfr-method Ops,array,mpfr-method Ops,bigq,mpfr-method Ops,bigz,mpfr-method Ops,mpfr,ANY-method Ops,mpfr,array-method Ops,mpfr,bigq-method Ops,mpfr,bigz-method Ops,mpfr,vector-method Ops,vector,mpfr-method print.mpfr1 print.summaryMpfr quantile,mpfr-method Re,mpfr-method show,mpfr-method show,mpfr1-method show,summaryMpfr-method sign,mpfr-method Summary,mpfr-method summary,mpfr-method summaryMpfr-class t,mpfr-method tcrossprod,array_or_vector,mpfr-method tcrossprod,mpfr,array_or_vector-method unique,mpfr,ANY-method unique,mpfr-method unique.mpfr which.max,mpfr-method which.min,mpfr-method [,mpfr,ANY,missing,missing-method [<-,mpfr,ANY,missing,ANY-method [<-,mpfr,ANY,missing,mpfr-method [<-,mpfr,missing,missing,ANY-method [[,mpfr-method
Distribution Functions with MPFR Arithmeticdbinom dgamma dnbinom dnorm dpois dt mpfr-distr pnorm
Special Mathematical Functions (MPFR)Ei erf erfc Li2 zeta
Rmpfr - Utilities for Precision Setting, Printing, etc..bigq2mpfr ..bigz2mpfr .getPrec .getSign .mpfr .mpfr. .mpfr2d .mpfr2exp .mpfr2i .mpfr2list .mpfrVersion .mpfr_erange .mpfr_erange_is_int .mpfr_erange_kinds .mpfr_erange_set .mpfr_formatinfo .mpfr_gmp_numbbits .mpfr_maxPrec .mpfr_minPrec .mpfr_negative .mpfr_sign getD getPrec mpfr2array mpfrImport mpfrXport mpfr_default_prec print.mpfr print.mpfrArray toNum
MPFR Number Utilities.mpfr.is.whole c.mpfr diff.mpfr mpfr.is.0 mpfr.is.integer mpfrIs0 mpfrVersion
Construct "mpfrArray" almost as by 'array()'mpfrArray
Classes "mpfrMatrix" and "mpfrArray"%*%,Mnumber,mpfr-method %*%,mpfr,Mnumber-method %*%,mpfr,mpfr-method %*%,mpfr,mpfrMatrix-method %*%,mpfrMatrix,mpfr-method %*%,mpfrMatrix,mpfrMatrix-method aperm,mpfrArray-method apply,mpfrArray-method Arith,mpfr,mpfrArray-method Arith,mpfrArray,mpfr-method Arith,mpfrArray,mpfrArray-method Arith,mpfrArray,numeric-method Arith,numeric,mpfrArray-method as.vector,mpfrArray,missing-method coerce,array,mpfrArray-method coerce,matrix,mpfrMatrix-method coerce,mpfrArray,array-method coerce,mpfrArray,matrix-method coerce,mpfrArray,vector-method coerce,mpfrMatrix,matrix-method coerce<-,mpfrArray,vector-method colMeans,mpfrArray-method colSums,mpfrArray-method Compare,mpfr,mpfrArray-method Compare,mpfrArray,mpfr-method Compare,mpfrArray,numeric-method Compare,numeric,mpfrArray-method crossprod,Mnumber,mpfr-method crossprod,mpfr,missing-method crossprod,mpfr,Mnumber-method crossprod,mpfr,mpfr-method crossprod,mpfr,mpfrMatrix-method crossprod,mpfrMatrix,mpfr-method crossprod,mpfrMatrix,mpfrMatrix-method diag,mpfrMatrix-method diag<-,mpfrMatrix-method dim,mpfrArray-method dimnames,mpfrArray-method dimnames<-,mpfrArray-method mpfrArray-class mpfrMatrix-class norm,ANY,missing-method norm,mpfrMatrix,character-method rowMeans,mpfrArray-method rowSums,mpfrArray-method show,mpfrArray-method sign,mpfrArray-method t,mpfrMatrix-method tcrossprod,Mnumber,mpfr-method tcrossprod,mpfr,missing-method tcrossprod,mpfr,Mnumber-method tcrossprod,mpfr,mpfr-method tcrossprod,mpfr,mpfrMatrix-method tcrossprod,mpfrMatrix,mpfr-method tcrossprod,mpfrMatrix,mpfrMatrix-method [,mpfrArray,ANY,ANY,ANY-method [,mpfrArray,ANY,missing,missing-method [,mpfrArray,matrix,missing,missing-method [<-,mpfrArray,ANY,ANY,ANY-method [<-,mpfrArray,ANY,ANY,mpfr-method [<-,mpfrArray,ANY,missing,ANY-method [<-,mpfrArray,ANY,missing,mpfr-method [<-,mpfrArray,matrix,missing,ANY-method [<-,mpfrArray,matrix,missing,mpfr-method [<-,mpfrArray,missing,ANY,ANY-method [<-,mpfrArray,missing,ANY,mpfr-method [<-,mpfrArray,missing,missing,ANY-method [<-,mpfrArray,missing,missing,mpfr-method
Functions for mpfrMatrix Objectsdeterminant.mpfrMatrix
BigQ / BigRational Approximation of Numbersnum2bigq
High Precision One-Dimensional OptimizationoptimizeR
Accurate Incomplete Beta / Beta Probabilities For Integer ShapespbetaI
Parallel Maxima and Minimapmax pmax,ANY-method pmax,mNumber-method pmax-methods pmin pmin,ANY-method pmin,mNumber-method pmin-methods
Gaussian / Normal Quantiles 'qnorm()' via InversionqnormI
Base Functions etc, as an Rmpfr versionouter
Rounding to Binary bits, "mpfr-internally"roundMpfr setPrec
Apply a Function over a "mpfr" VectorsapplyMpfr
"mpfr" Sequence GenerationseqMpfr
Compactly Show STRucture of Rmpfr Number Objectstr.mpfr
(Alternating) Binomial Sums via RmpfrsumBinomMpfr
One Dimensional Root (Zero) Finding - in pure RunirootR