signature=475235726b8cf20cf2c6329016d1385b,GitHub - cran/pracma at e970b8e92676e0d1f2c84b116f0bad93b...

Package PRACMA

Introduction

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.

Details

The package encompasses functions from all areas of numerical analysis,

for example:

Root finding and minimization of univariate functions,

e.g. Newton-Raphson, Brent-Dekker, Fibonacci or `golden ratio' search.

Handling polynomials, including roots and polynomial fitting,

e.g. Laguerre's and Muller's methods.

Interpolation and function approximation,

barycentric Lagrange interpolation, Pade and rational interpolation,

Chebyshev or trigonometric approximation.

Some special functions,

e.g. Fresnel integrals, Riemann's Zeta or the complex Gamma function,

and Lambert's W computed iteratively through Newton's method.

Special matrices, e.g. Hankel, Rosser, Wilkinson

Numerical differentiation and integration,

Richardson approach and ``complex step'' derivatives, adaptive

Simpson and Lobatto integration and adaptive Gauss-Kronrod quadrature.

Solvers for ordinary differential equations and systems,

Euler-Heun, classical Runge-Kutta, ode23, or predictor-corrector method

such as the Adams-Bashford-Moulton.

Some functions from number theory,

such as primes and prime factorization, extended Euclidean algorithm.

Sorting routines, e.g. recursive quickstep.

Several functions for string manipulation and regular search,

all wrapped and named similar to their Matlab analogues.

Goals

It serves three main goals:

Collecting R scripts that can be demonstrated in courses on

Numerical Analysis or Scientific Computing using R/S as the chosen

programming language.

Wrapping functions with appropriate Matlab names to simplify

porting programs from Matlab or Octave to R.

Providing an environment in which R can be used as a full-blown

numerical computing system.

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.

Emulated MATLAB Functions

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 (

Poly, Rank, Real, Reshape, strRep, strTrim, Toeplitz, Trace, uniq (

To use 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)

Note

The R package `matlab' contains some of the basic routines from Matlab,

but unfortunately not any of the higher math routines.

References

Abramowitz, M., and I. A. Stegun (1972). Handbook of Mathematical Functions

(with Formulas, Graphs, and Mathematical Tables). Dover, New York.

https://www.cs.bham.ac.uk/~aps/research/projects/as/.

Arndt, J. (2010). Matters Computational: Ideas, Algorithms, Source Code.

Springer-Verlag, Berlin Heidelberg Dordrecht.

FXT: a library of algorithms: http://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.

http://www.encyclopediaofmath.org/.

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.

http://eom.springer.de/.

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,

http://dlmf.nist.gov/;

Dictionary of Algorithms and Data Structures,

http://www.nist.gov/;

Guide to Available Mathematical Software, http://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.

http://www.nrbook.com/a/bookcpdf.php [chapters], or

http://apps.nrbook.com/c/index.html [pages].

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:

http://www.cs.sunysb.edu/~algorith/.

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.

Matlab Codes: http://www-math.mit.edu/cse/

Weisstein, E. W. (2003). CRC Concise Encyclopedia of Mathematics.

Second Edition, Chapman & Hall/CRC Press.

Wolfram MathWorld: http://mathworld.wolfram.com/.

Zhang, S., and J. Jin (1996). Computation of Special Functions.

John Wiley & Sons.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值