This package provides R implementations of more advanced functions in numerical analysis, with a special view on on optimization and time series routines. Uses Matlab/Octave function names where appropriate to simplify porting.
Some of these implementations are the result of courses on Scientific Computing (``Wissenschaftliches Rechnen'') and are mostly intended to demonstrate how to implement certain algorithms in R/S. Others are implementations of algorithms found in textbooks.
The package encompasses functions from all areas of numerical analysis, for example:
It serves three main goals:
Besides that, many of these functions could be called in R applications as they do not have comparable counterparts in other R packages (at least at this moment, as far as I know).
All referenced books have been utilized in one way or another. Web links have been provided where reasonable.
The following 220 functions are emulations of correspondingly named Matlab functions and bear the same signature as their Matlab cousins if possible:
accumarray, acosd, acot, acotd, acoth, acsc, acscd, acsch, and, angle, ans, arrayfun, asec, asecd, asech, asind, atand, atan2d, beep, bernoulli, blank, blkdiag, bsxfun, cart2pol, cart2sph, cd, ceil, circshift, clear, compan, cond, conv, cosd, cot, cotd, coth, cross, csc, cscd, csch, cumtrapz, dblquad, deblank, deconv, deg2rad, detrend, deval, disp, dot, eig, eigint, ellipj, ellipke, eps, erf, erfc, erfcinv, erfcx, erfi, erfinv, errorbar, expint, expm, eye, ezcontour, ezmesh, ezplot, ezpolar, ezsurf, fact, fftshift, figure, findpeaks, findstr, flipdim, fliplr, flipud, fminbnd, fmincon, fminsearch, fminunc, fplot, fprintf, fsolve, fzero, gammainc, gcd, geomean, gmres, gradient, hadamard, hankel, harmmean, hilb, histc, humps, hypot, idivide, ifft, ifftshift, inpolygon, integral, integral2, integral3, interp1, interp2, inv, isempty, isprime, kron, legendre, linprog, linspace, loglog, logm, logseq, logspace, lsqcurvefit, lsqlin, lsqnonlin, lsqnonneg, lu, magic, meshgrid, mkpp, mldivide, mod, mrdivide, nchoosek, ndims, nextpow2, nnz, normest, nthroot, null, num2str, numel, ode23, ode23s, ones, or, orth, pascal, pchip, pdist, pdist2, peaks, perms, piecewise, pinv, plotyy, pol2cart, polar, polyfit, polyint, polylog, polyval, pow2, ppval, primes, psi, pwd, quad, quad2d, quadgk, quadl, quadprog, quadv, quiver, rad2deg, randi, randn, randsample, rat, rats, regexp, regexpi, regexpreg, rem, repmat, roots, rosser, rot90, rref, runge, sec, secd, sech, semilogx, semilogy, sinc, sind, size, sortrows, sph2cart, sqrtm, squareform, std, str2num, strcat, strcmp, strcmpi, strfind, strfindi, strjust, subspace, tand, tic, toc, trapz, tril, trimmean, triplequad, triu, vander, vectorfield, ver, what, who, whos, wilkinson, zeros, zeta
The following Matlab function names have been capitalized in `pracma' to avoid shadowing functions from R base or one of its recommended packages (on request of Bill Venables and because of Brian Ripley's CRAN policies):
Diag, factos, finds, Fix, Imag, Lcm, Mode, Norm, nullspace (<- null), Poly, Rank, Real, Reshape, strRep, strTrim, Toeplitz, Trace, uniq (<- unique).
ans instead of
ans() -- as is common practice in Matlab --
type (and similar for other Matlab commands):
makeActiveBinding("ans", function() .Last.value, .GlobalEnv) makeActiveBinding("who", who(), .GlobalEnv)
The R package `matlab' contains some of the basic routines from Matlab, but unfortunately not any of the higher math routines.
Abramowitz, M., and I. A. Stegun (1972). Handbook of Mathematical Functions (with Formulas, Graphs, and Mathematical Tables). Dover, New York. URL: www.math.ubc.ca/~cbm/aands/notes.htm
Arndt, J. (2010). Matters Computational: Ideas, Algorithms, Source Code. Springer-Verlag, Berlin Heidelberg Dordrecht. FXT: a library of algorithms: https://www.jjj.de/fxt/.
Cormen, Th. H., Ch. E. Leiserson, and R. L. Rivest (2009). Introduction to Algorithms. Third Edition, The MIT Press, Cambridge, MA.
Encyclopedia of Mathematics (2012). Editor-in-Chief: Ulf Rehmann. https://encyclopediaofmath.org/wiki/Main_Page.
Gautschi, W. (1997). Numerical Analysis: An Introduction. Birkhaeuser, Boston.
Gentle, J. E. (2009). Computational Statistics. Springer Science+Business Media LCC, New York.
Hazewinkel, M., Editor (2002). Encyclopaedia of Mathematics. Springer-Verlag, Berlin Heidelberg New York.
NIST: National Institute of Standards and Technology. Olver, F. W. J., et al. (2010). NIST Handbook of Mathematical Functions. Cambridge University Press. Internet: NIST Digital Library of Mathematical Functions, https://dlmf.nist.gov/; Dictionary of Algorithms and Data Structures, https://www.nist.gov/; Guide to Available Mathematical Software, https://gams.nist.gov/
Press, W. H., S. A. Teukolsky, W. T Vetterling, and B. P. Flannery (2007). Numerical Recipes: The Art of Numerical Computing. Third Edition, incl. Numerical Recipes Software, Cambridge University Press, New York. URL: numerical.recipes/book/book.html
Quarteroni, A., R. Sacco, and F. Saleri (2007). Numerical Mathematics. Second Edition, Springer-Verlag, Berlin Heidelberg.
Skiena, St. S. (2008). The Algorithm Design Manual. Second Edition, Springer-Verlag, London. The Stony Brook Algorithm Repository: https://algorist.com/algorist.html.
Stoer, J., and R. Bulirsch (2002). Introduction to Numerical Analysis. Third Edition, Springer-Verlag, New York.
Strang, G. (2007). Computational Science and Engineering. Wellesley-Cambridge Press.
Weisstein, E. W. (2003). CRC Concise Encyclopedia of Mathematics. Second Edition, Chapman & Hall/CRC Press.
Zhang, S., and J. Jin (1996). Computation of Special Functions. John Wiley & Sons.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.