------------------------------------------------------------------------------ pracma NEWS ------------------------------------------------------------------------------ PLANNED FOR NEXT VERSION o ode45() implementing the approach by Dormand and Prince. [Matlab's ode23() is based on Bogacki and Shampine.] CHANGES IN VERSION 0.7-3 (2011-07-15) o erf() and erfc() error and complementary error functions Matlab style) as (almost) aliases for pnorm(). o erfz() complex error function. CHANGES IN VERSION 0.7-2 (2011-07-11) o broyden() quasi-Newton root finding method for systems of nonlinear equations. CHANGES IN VERSION 0.7-1 (2011-07-09) o cross() has been vectorized (remark on R-help). CHANGES IN VERSION 0.7-0 (2011-07-07) o Sigmoid and Einstein functions. o Updated NEWS.RD, NEWS.pdf CHANGES IN VERSION 0.6-9 (2011-07-06) o Runge-Kutta-Fehlberg method of order (5,4). CHANGES IN VERSION 0.6-8 (2011-07-05) o triquad() Gaussian quadrature over triangles. o cotes() Newton-Cotes integration formulae for 2 to 8 nodes. CHANGES IN VERSION 0.6-7 (2011-07-04) o lagrangeInterp(), newtonInterp() Lagrange and Newton polynomial interpolation, neville() Neville's methods. o tril(), triu() extracting triangular matrices (Matlab style). CHANGES IN VERSION 0.6-6 (2011-07-02) o charpoly() computes the characteristic polynomial, the determinant, and the inverse for matrices that are relativly small, applying the Faddejew-Leverrier method. o froots() to find *all* roots (also of second or higher order) of a univariate function in a given interval. The same with fmins() to find all minima. CHANGES IN VERSION 0.6-5 (2011-07-01) o Adams-Bashford and Adams-Moulton (i.e., multi-step) methods for ordinary differential equations in function abm3pc(). CHANGES IN VERSION 0.6-4 (2011-06-30) o Changed the description to be more precise about the package. o droplet_e() generation of digits for the Euler number. (Should be followed by a function droplet_pi().) CHANGES IN VERSION 0.6-3 (2011-06-28) o rationalfit() rational function approximation o ratinterp() rational interpolation a la Burlisch-Stoer. CHANGES IN VERSION 0.6-2 (2011-06-26) o pade() Pade approximation. CHANGES IN VERSION 0.6-1 (2011-06-25) o quadgk() adaptive Gauss-Kronrod quadrature. CHANGES IN VERSION 0.6-0 (2011-06-24) o muller() Muller's root finding method. o Added differential equation example to expm()'s help page. o Changed NEWS file to become simpler (no subsections); updated the NEWS.Rd, NEWS.pdf files. CHANGES IN VERSION 0.5-9 (2011-06-23) o quadl() recursive adaptive Gauss-Lobatto quadrature. o simpadpt() another recursively adaptive Simpson's rule. o Added testing procedures for all integration routines; corrected, refined some of these procedures. CHANGES IN VERSION 0.5-8 (2011-06-20) o quadgr() Gaussian Quadrature with Richardson extrapolation, can handle singularities at endpoints and (half-)infinite intervals. CHANGES IN VERSION 0.5-7 (2011-06-18) o expm() for matrix exponentials. o clenshaw_curtis() the Clenshaw-Curtis quadrature formula. CHANGES IN VERSION 0.5-6 (2011-06-17) o simpson2d() as non-adaptive 2-dimensional Simpson integration. o dblquad() twofold application of internal function integrate(). CHANGES IN VERSION 0.5-5 (2011-06-15) o gaussHermite() and gaussLaguerre() for infinite intervals. o Fresnel integrals fresnelS() and frenelC(). CHANGES IN VERSION 0.5-4 (2011-06-12) o gaussLegendre() computes coefficients for Gauss Quadrature, and quad2d() uses these weights for 2-dimensional integration. o quadinf() wrapper for integrate() on infinite intervals. o Added a version for rapid pi computation to the agm() examples. CHANGES IN VERSION 0.5-3 (2011-06-06) o ode23() solving first order (systems of) differential equations. o barylag2d() 2-dimensional barycentric Lagrange interpolation. CHANGES IN VERSION 0.5-2 (2011-06-04) o interp2() for two-dimensional interpolation. o gradient() now works in two dimensions too. CHANGES IN VERSION 0.5-1 (2011-06-01) o fzero(), fminbnd(), fminsearch(), fsolve() as aliases for uniroot(), optimize(), optim() with Nelder-Mead, newtonsys(). CHANGES IN VERSION 0.5-0 (2011-05-31) o Corrections to help pages. CHANGES IN VERSION 0.4-9 (2011-05-30) o romberg() and gauss_kronrod() for numerical integration. o Richardson's extrapolation in numderiv(), numdiff(). o Discrete numerical derivatives (one dimension): gradient(). CHANGES IN VERSION 0.4-8 (2011-05-28) o Numerical function derivatives: fderiv(), grad(). o Specialized operators: hessian(), laplacian(). o Application: taylor(). CHANGES IN VERSION 0.4-7 (2011-05-27) o plot vector fields: quiver() and vectorfield(). o findintervals(). o Corrections in deval(), deeve(), using findintervals(). CHANGES IN VERSION 0.4-6 (2011-05-26) o Laguerre's method laguerre(). o rk4() and rk4sys() classical fourth order Runge-Kutta. o deval(), deeve() evaluate ODE solutions. CHANGES IN VERSION 0.4-5 (2011-05-24) o Lebesgue coefficient: lebesgue(). o poly2str() for string representation of a polynomial. CHANGES IN VERSION 0.4-4 (2001-05-23) o Dirichlet's eta() and Riemann's zeta() function. o rmserr() different accuracy measures; std_err() standard error. CHANGES IN VERSION 0.4-3 (2001-05-22) o polypow() and polytrans() for polynomials. o polyApprox() polynomial approximation using Chebyshev. o trigPoly(), trigApprox() for trigonometric regression. CHANGES IN VERSION 0.4-2 (2001-05-17) o segm_intersect() and segm_distance() segment distances. o inpolygon(). CHANGES IN VERSION 0.4-1 (2011-05-13) o polyadd() polynomial addition. o conv() and deconv() time series (de)convolution. o detrend() removes (piecewise) linear trends. o ifft() for normalized inverse Fast Fourier Transform. CHANGES IN VERSION 0.4-0 (2011-05-10) o Added tests for functions since version 0.3-7. CHANGES IN VERSION 0.3-9 (2011-05-09) o and() and or(). CHANGES IN VERSION 0.3-8 (2011-05-06) o pchip() and option `cubic' for interp1() interpolation. o The complex gamma functions gammaz(). o hadamard() and toeplitz() matrices. CHANGES IN VERSION 0.3-7 (2011-05-04) o Rank of a matrix, mrank(), and nullspace() for the kernel. o orth(), orthogonal basis of the image space, and subspace() determines the angle between two subspaces. o normest() for estimating the (Frobenius) norm of a matrix, and cond() determines the condition number of a matrix. CHANGES IN VERSION 0.3-6 (2011-04-30) o fact(), more accurate than the R internal function `factorial'. o ezplot() as an alias for curve(), but with option ``fill = TRUE''. o aitken() for accelerating iterations. o Renamed polycnv() to polymul(). o Renamed outlierMAD() to hampel(). CHANGES IN VERSION 0.3-5 (2011-04-23) o agm() for the arithmetic-geometric mean. o Lambert W function lambertWp() for the real principal branch. o ``Complex Step'' derivation with complexstep() and complexstepJ(). CHANGES IN VERSION 0.3-4 (2011-04-21) o Barycentric Lagrange interpolation through barylag(). o polyfit2() fits a polynomial that exactly meets one additional point. o Added more references to the help entry `pracma-package.Rd'. CHANGES IN VERSION 0.3-3 (2011-04-19) o hornerdefl() for also returning the deflated polynomial. o newtonHorner() combining Newton's method and the Horner scheme for root finding for polynomials. o jacobian() computes the Jacobian of a function R^n --> R^m as simple numerical derivative. o newtonsys() applies Newton's method to functions R^n --> R^n with special application to root finding of complex functions. o newton() renamed to newtonRaphson(). CHANGES IN VERSION 0.3-2 (2011-04-17) o Sorting functions: bubbleSort(), insertionSort(), selectionSort(), shellSort(), heapSort(), mergeSort(), mergeOrdered(), quickSort(), quickSortx(), is.sorted(), and testSort(). o Functions from number theory: eulersPhi(), moebiusFun() and the mertensFun(), sigma(), tau(), omega(), and Omega(). CHANGES IN VERSION 0.3-1 (2011-04-16) o Chebyshev polynomials of the first kind: chebPoly(), chebCoeff(), and chebApprox(). CHANGES IN VERSION 0.3-0 (2011-04-09) o New version of news.Rd, news.pdf. o More test functions for root finding and quadrature. CHANGES IN VERSION 0.2-9 o fnorm() and the Runge function runge(). o contfrac(), rat(), and rats() for continuous fractions. o meshgrid() and magic(). CHANGES IN VERSION 0.2-8 o quad() adaptive Simpson quadrature. o Minimum finding with fibsearch() and golden_ratio(). o Root finding with newton(), secant(), and brentDekker(). CHANGES IN VERSION 0.2-7 o Regular expression functions regexp(), regexpi(), regexprep() and refindall(). CHANGES IN VERSION 0.2-6 o String functions blanks(), strtrim(), deblank(), strjust(), and strrep(). o interp1() one-dimensional interpolation (incl. spline) CHANGES IN VERSION 0.2-5 o Matlab functions mode(), clear() and beep(). CHANGES IN VERSION 0.2-4 o primroot() finds the smallest primitive root modulo a given n; needed functions are modpower() and modorder(). o humps() and sinc(): Matlab test functions. o Root finding through bisection: bisect(), regulaFalsi(). o outlierMAD(), findpeaks(), and piecewise(). o polycnv() for polynomial multiplication. o Functions extgcd(), gcd(), and lcm() have been renamed to extGCD(), GCD(), and LCM() respectively. CHANGES IN VERSION 0.2-3 o strfind(), strfindi(), and findstr(). o circlefit() fitting a circle to plane points. o mldivide() and mrdivide(), emulating the Matlab backslash operator. CHANGES IN VERSION 0.2-2 o vnorm() vector norm o Warning about a nasty "non-ASCII input" in the savgol.RD file has been resolved. CHANGES IN VERSION 0.2-1 (2011-03-17) o horner() implementing the horner scheme for evaluating a polynomial and its derivative. o savgol() Savitzki-Golay smoothing and needed pseudoinverse pinv(). RESTARTED AS VERSION 0.2-0 NAME CHANGE o Package renamed to 'pracma' to avoid name clashes with packages such as 'matlab' that are sticking closer to the original. o Added 'pracma-package' section to the manual. CHANGES IN VERSION 0.1-9 o reshape(), repmat(), and blkdiag() matrix functions. o combs() chooses all combinations of k elements out of n, and randcomb() generates a random selection. o perms() generates all permutations, randperm() a random permutation. o Pascal triangle as pascal(); nchoosek() returns binomial coefficients. o Some string functions: strcmp(), strcmpi(), strcat(). CHANGES IN VERSION 0.1-8 o std() as refinement of the standard deviation function. o ceil() and fix() as aliases for ceiling() and trunc(). [floor() and round() already exist in R.] o Modulo functions mod(), rem() and integer division idiv(). o Integer functions related to the Euclidean algorithm: extgcd(), gcd(), lcm(), coprime(), and modinv(). o distmat() and crossn(), the vector product in n-dimensional space. CHANGES IN VERSION 0.1-7 o size(), numel(), ndims(), isempty(), and find(). o eye(), ones(), zeros(). o Functions returning random numbers: rand(), randn(), randi(). o linspace(), logspace(), and logseq() for linearly, logarithmically, and exponentially spaced sequences. CHANGES IN VERSION 0.1-6 o Matrix functions mdiag() and mtrace() added. inv() is introduced as an alias for solve() in R. o Generate special matrices hankel(), rosser(), and wilkinson(). kron() is an alias for the R function kronecker(). o Renamed factors() to ifactor() to distinguish it more clearly from factors as used in R. CHANGES IN VERSION 0.1-5 o Added function for flipping or rotating numeric and complex matrices: flipdim(). flipud(), fliplr(), and rot90(). CHANGES IN VERSION 0.1-4 o Added functions for generating sequences of (log-)linearly spaced numeric values: linspace() and logspace(). Note that the functions in the `matlab' package are not exactly mimicking the corresponding Matlab/Octave functions. o Added basic complex functions real(), imag(), conj(), and angle() which are essentially only aliases of the R functions Re(), Im(), or Conj(). angle() returns the angle of a complex number in radians. The R function Mod() is here only available as abs(). CHANGES IN VERSION 0.1-3 o Added compan() function for the `companion' matrix; the eig() function is an alias for the R eigen()values function. o Added the polynomial functions poly(), polyder(), polyfit(), polyint(), and polyval(). o roots() returns real and complex roots of polynomials. o Simplified the trapz() function. CHANGES IN VERSION 0.1-2 o Added functions from number theory: primes(), isprime() and factors(). The corresponding function for factors() in Matlab/Octave is called factor(), but that name should not be shadowed in R! o Added the polyarea() and trapz() functions. CHANGES IN VERSION 0.1-1 o Added some simple functions such as nthroot(), pow2(), and nextpow2(). o dot() and cross() functions for scalar and vector product. o Generate matrices through vander() and hilb(). INITIAL VERSION 0.1-0 INSTALLATION o `matlab4r' will be a pure R package without using any source code. Therefore, installation will be immediate on all platforms. INTENTION o This package provides R implementations of more advanced math functions from Matlab and Octave (and the Euler Math Toolbox) with a special view on optimization and time series routines.