We are hiring ! See our job offers.
##### https://github.com/cran/pracma
Tip revision: d50cda4
NEWS
``````------------------------------------------------------------------------------
pracma                                                                NEWS
------------------------------------------------------------------------------

CHANGES IN VERSION 1.5.5 (2013-09-11)

o L1linreg() L1 (a.k.a. LAD or median) linear regression.
o geo_median() geometric median (minimizes sum of distances).

CHANGES IN VERSION 1.5.4 (2013-08-31)

o rectint() rectangular intersection areas (Matlab style).
o cumtrapz() cumulative trapezoidal integration (Matlab style).
o Some corrections to help pages and function names.

CHANGES IN VERSION 1.5.3 (2013-08-25)

o arclength() length of a parametrized curve in n-dimensional space,
w/ improved convergence by applying Richardson's extrapolation method.
o legendre() associated Legendre functions (Matlab style).

CHANGES IN VERSION 1.5.2 (2013-08-23)

o poly_center() calculates the center coordinates of a polygon.
o poly_length() calculates the (euclidean) length of a polygon.
o polyarea() corrected, returns the true, not the absolute value.

CHANGES IN VERSION 1.5.1 (2013-08-19)

o fsolve() will use broyden() if m = n; fzsolve() the same;
additionally, improved broyden() and gaussNewton().
o ezplot() can draw markers on the line, with equal distances
measured along the curve length.

CHANGES IN VERSION 1.5.0 (2013-08-08)

o gmres() generalized minimum residual method.
o nearest_spd() finds nearest symmetric positive-definite matrix.
o eps() floating point relative accuracy.

CHANGES IN VERSION 1.4.9 (2013-07-16)

o lapacian() now works in n dimensions, not only for n = 2.
o mldivide(), mrdivide() corrected a severe typo.
o numderiv(), numdiff() start with h = 1/2 instead of h = 1.
o figure() platform-independent by using dev.new().

CHANGES IN VERSION 1.4.8 (2013-06-17)

o findzeros() now finds 'quadratic' roots, too.
o pdist2() added as an alias for distmat(),
while pdist(X) now is distmat(X, X) (Matlab style).

CHANGES IN VERSION 1.4.7 (2013-05-20)

o histcc() histogram with optimized number of bins.
o Example of correction term for the trapz() integration.

CHANGES IN VERSION 1.4.6 (2013-03-31)

o psi() Psi polygamma function (Matlab style).
o rosenbrock() and rastrigin() functions removed.

CHANGES IN VERSION 1.4.5 (2013-03-21)

o squareform() formats distance matrix (Matlab style).

CHANGES IN VERSION 1.4.4 (2013-03-12)

o integral2() implements the two-dimensional numerical integration
approach `TwoD', i.e. Gauss-Kronrod (3, 7)-points on rectangles.
o integral3() three-dimensional integration based on integral2().
o triplequad() 3-dim. integration based on dblquad() (Matlab style).

CHANGES IN VERSION 1.4.3 (2013-03-10)

o integral() combines adaptive numerical integration procedures.
o cintegral() complex line integrals (rectangles and curves).

CHANGES IN VERSION 1.4.2 (2013-03-03)

o linprog() linear programming solver for linear equality and
inequality constraints.

CHANGES IN VERSION 1.4.1 (2013-02-20)

o romberg() Romberg integration completely rewritten.
o idivide() integer division with different roundings.

CHANGES IN VERSION 1.4.0 (2013-02-10)

o fderiv(), taylor() expanded to higher orders.
o itersolve() iteration methods for solving linear systems.
o lu() LU decomposition with different schemes (w/o pivoting).

CHANGES IN VERSION 1.3.9 (2013-01-26)

o pdist() as an alias for distmat() (Matlab style).
o fftshift(), ifftshift() shifting Fourier frequencies.
o Improved grad(), jacobian(), hessian(), and laplacian().

CHANGES IN VERSION 1.3.8 (2013-01-10)

o Smaller corrections, e.g., removed deprecated 'is.real';
no startup messages anymore.
o geomean(), harmmean(), trimmean() geometric, harmonic, and
trimmed arithmetic mean (Matlab style).
o agmean() algebraic-geometric mean.

CHANGES IN VERSION 1.3.7 (2013-01-07)

o mexpfit() multi-exponentiell fitting, separating linear and
nonlinear parts of the problem.

CHANGES IN VERSION 1.3.6 (2013-01-06)

o lsqsep() separable least-squares fitting.
o lsqcurvefit() nonlinear least-squares curve fitting.

CHANGES IN VERSION 1.3.5 (2013-01-05)

o cd(), pwd() directory functions (Matlab style).
o rand(), randn() changed to accept size() as input.
o whos(), what() corrected for empty lists resp. directories.

CHANGES IN VERSION 1.3.4 (2012-12-19)

o what(), who(), whos(), ver() (Matlab style).
o semilogx(), semilogy(), loglog() logarithmic plots (Matlab style)

CHANGES IN VERSION 1.3.3 (2012-12-12)

o quadv() vectorized integration.
o ezpolar() easy access to the polar() function.
o sortrows() sorting rows of matrices (Matlab style).
o null() alias for nullspace function (Matlab style).
o eigjacobi() Jacobi's method for eigenvalues and eigenvectors.

CHANGES IN VERSION 1.3.2 (2012-12-08)

o ellipke(), ellipj() elliptic and Jacobi elliptic integrals.
o expint() implements E1 and Ei, the exponential integrals, with
aliases expint_E1() and expint_Ei().
o li() the logarithmic integral (w/o offset).

CHANGES IN VERSION 1.3.1 (2012-12-06)

o Explicitely listing about 200 Matlab-emulating function( name)s.
o Dismissed matlab(), using it now for infos only, not assigning any
Matlab function names to the environment (because of CRAN policies).

CHANGES IN VERSION 1.3.0 (2012-12-05)

o cot(), csc(), sec() cotangens, cosecans, and secans functions.
o acot(), acsc(), asec() inverse cotangens, cosecans, secans functions.
o coth(), csch(), sech() hyperbolic cotangens, cosecans, secans functions.
o acoth(), acsch(), asech() inverse hyperbolic cotangens, cosecans, and
secans functions.

CHANGES IN VERSION 1.2.9 (2012-12-02)

o bvp() changed to solve second order boundary value problems.
o trisolve() solves tridiagonal linear equation systems.
o curvefit() fits points in the plane with a polynomial curve.

CHANGES IN VERSION 1.2.8 (2012-11-30)

o lsqlin() least-squares solver with linear equality constraints.
o pinv() now works like MASS::ginv() for singular matrices.
o Added the end-';' feature to str2num().
o toc() added invisible return value.

CHANGES IN VERSION 1.2.7 (2012-11-22)

o procrustes() solving the Procrustes problem,
and kabsch() implements the Kabsch algorithm.
o kriging() ordinary and simple Kriging interpolation.
o Corrected some stupid errors in str2num().

CHANGES IN VERSION 1.2.6 (2012-11-11)

o akimaInterp() univariate Akima interpolation.
o Moved transfinite() to package 'adagio'.

CHANGES IN VERSION 1.2.5 (2012-10-28)

o histc() Histogram-like counting (Matlab style).
o Added warning to complexstep() if imaginary part is zero.

CHANGES IN VERSION 1.2.4 (2012-10-25)

o Added option 'pinv' to mldivide() to return same results as Matlab.
o str2num(), num2str() conversion functions (Matlab style).
o Removed some 'author' entries on help pages.

CHANGES IN VERSION 1.2.3 (2012-10-17)

o Renamed mrank() to Rank().
o Corrected nullspace() [thanks to Stephane Laurent], which now agrees
with Octave's null() function (MASS:Null appears buggy, too).
o Corrected gaussNewton() and fsolve() [thanks to Etienne Chamayou].

CHANGES IN VERSION 1.2.2 (2012-10-10)

o bsxfun() apply binary function elementwise (Matlab style).
o added the analytic solution for the example in bvp().

CHANGES IN VERSION 1.2.1 (2012-09-28)

o rosenbrock() added, moved testfunctions to 'adagio' package.
o euler_heun() improved Euler method for solving ODEs.
o logit() function added to sigmoid().
o Keyword 'ode' introduced.

CHANGES IN VERSION 1.2.0 (2012-09-27)

o matlab() can reinstall Matlab function names.

CHANGES IN VERSION 1.1.9 (2012-09-25)

o gcd(), lcm() greatest common divisor, least common multiple
now working on a vector of integers.
o Removed number-theoretic functions: eulersPhi(),
moebiusFun(), mertensFun(), sigma(), tau(), omega(), Omega(),
primes2(), twinPrimes(), nextPrime(), previousPrime(),
modpower(), modorder(), modinv(), modlin(),
primroot(), contfrac(), coprime(), GCD(), LCM(), extGCD(),
(these functions are now available in the 'numbers' package).

CHANGES IN VERSION 1.1.8 (2012-09-19)

o ezcontour(), ezmesh() wrappers for contour(), image(), persp().
o erfi() imaginary error function.

CHANGES IN VERSION 1.1.7 (2012-08-06)

o moler() Moler matrix

CHANGES IN VERSION 1.1.6 (2012-07-20)

o Removed '.Rapphistory' from the tests directory (again)
[and use "--as-cran" for the checks].
o disp() display text or array (Matlab Style), i.e. cat() with newline.

CHANGES IN VERSION 1.1.5 (2012-07-18)

o Renamed functions with capital first letter to avoid name clashes:
mtrace -> Trace, mdiag -> Diag, strtrim -> strTrim, vnorm -> Norm,
reshape -> Reshape, find -> finds, fix -> Fix, poly ->Poly,
mode -> Mode, real -> Real, imag -> Imag, toeplitz -> Toeplitz.

CHANGES IN VERSION 1.1.4 (2012-06-26)

o gammainc() (lower and upper) incomplete gamma function, also the
regularized gamma function, all allowing negative x values.
o polylog() the polylogarithm functions for |z| < 1 and n >= -4 .

CHANGES IN VERSION 1.1.3 (2012-06-17)

o fminsearch() now implements Nelder-Mead (similar to optim), and
Fletcher-Powell when ``dfree=FALSE'' is chosen.
o Test functions rosenbrock() and rastrigin().

CHANGES IN VERSION 1.1.2 (2012-06-13)

o nelder_mead() implements Nelder-Mead for nonlinear optimization.
o hooke-jeeves() Hooke-Jeeves algorithm for direct search.
o fletcher_powell() Davidon-Fletcher-Powell method for function
minimization (alternative to BFGS approach).
o steepest_descent() minimization of functions using steepest descent.

CHANGES IN VERSION 1.1.1 (2012-06-10)

o fminbnd() now implements Brent's function minimization algorithm with
golden section search and parabolic interpolation (same as optimize).
o transfinite() transformation function between bounded and unbounded
(box constraint) regions.
o renamed brentDekker() to brent_dekker

CHANGES IN VERSION 1.1.0 (2012-06-06)

o hurst(), hurstexp() calculate the Hurst exponent of a time series.
o Updated the NEWS.Rd file.

CHANGES IN VERSION 1.0.9 (2012-06-03)

o lsqnonneg() solves nonnegative least-squares problems by using the
trick "x --> exp(x)" and applying lsqnonlin();
example function lsqcurvefit() for nonlinear curve fitting.
o Renamed ridder() to ridders(), thanks to Robert Monfera for pointing
it out (he also suggested a multi-dimensional variant).

CHANGES IN VERSION 1.0.8 (2012-05-22)

o movavg() moving average of types "simple", "weighted", "modified",
"exponential" (EMA), or "triangular".
o modlin() solves modular linear equations.

CHANGES IN VERSION 1.0.7 (2012-05-11)

o lsqnonlin() solves nonlinear least-squares problems using the
Levenberg-Marquardt approach.
o renamed froots() to findzeros(), and fmins() to findmins().

CHANGES IN VERSION 1.0.6 (2012-04-21)

o fornberg() finite difference (i.e., polynomial) approximation of
derivatives for unevenly spaced grid points -- Fornberg's method.

CHANGES IN VERSION 1.0.5 (2012-04-15)

o randsample() randomly sampling, alias for sample (Matlab style).
o rands() generates uniform random points on an N-sphere.
o Added tic(), toc() measuring elapsed time (Matlab style).
o previousPrime() finds the next prime below a number.

CHANGES IN VERSION 1.0.4 (2012-04-01)

o invlap() computes the inverse Lapacian numerically.
o ppfit() piecewise polynomial fitting procedure.

CHANGES IN VERSION 1.0.3 (2012-03-21)

o cubicspline() interpolating cubic spline (w/ endpoint conditions).
o mkpp() and ppval() for piecewise polynomial structures.

CHANGES IN VERSION 1.0.2 (2012-03-17)

o accumarray() resembles the related Matlab function more closely.
o invperm() returns the inverse of a permutation.
o randperm() changed to make it more Matlab-like.

CHANGES IN VERSION 1.0.1 (2012-03-09)

o plotyy() corrected right ordinate, prettying the labels.
o peaks() peaks function (Matlab style).

CHANGES IN VERSION 1.0.0 (2012-03-01)

o Updated the NEWS.Rd file.

CHANGES IN VERSION 0.9.9 (2012-02-29)

o qrSolve solves overdetermined system of linear equations.
o DSCsearch() removed, now in package 'pracopt'.
o randp() found a better, non-selective approach.

CHANGES IN VERSION 0.9.8 (2012-02-23)

o gramSchmidt() modified Gram-Schmidt process.
o householder() Householder reflections and QR decomposition.
o givens() Givens rotation and QR decomposition.
o corrected a small error in ridder() (thanks to Roger Harbord); new
example of how to use ridder() with Rmpfr for multiple precision.

CHANGES IN VERSION 0.9.7 (2012-02-17)

o erf() corrected, erfc() and erfcx() as new functions,
including their inverses erfinv() and erfcinv().
o hypot() now numerically more stable (thanks to Jerry Lewis).

CHANGES IN VERSION 0.9.6 (2012-01-25)

o Changed third example for dblquad() [new Windows toolchain problem].
o Deactivated the test for gammaz() because of problems on Solaris.

CHANGES IN VERSION 0.9.5 (2012-01-16)

o kmeanspp() kmeans++ clustering algorithm.
o hampel() with new option, fuelled by a blog entry of Ron Pearson.

CHANGES IN VERSION 0.9.4 (2012-01-08)

o DSCsearch() Davies-Swann-Campey search in one dimension.
o Improved modpower() through modular exponentiation.
added lehmann_test() Lehmann's primality test as example.
o Corrected polar() and andrewsplot().

CHANGES IN VERSION 0.9.3 (2011-12-27)

o direct1d() one-dimensional version of the DIRECT algorithm for
global function minimization.

CHANGES IN VERSION 0.9.2 (2011-12-26)

o approx_entropy() approximate entropy of a time series.
o circshift() circularly shifting arrays (Matlab Style).

CHANGES IN VERSION 0.9.1 (2011-12-12)

o plotyy() plots curves with y-axes on both left and right side.
o fplot() plots components of a multivariate function.

CHANGES IN VERSION 0.9.0 (2011-12-11)

o errorbar() routine for plotting error bars in both directions.
o whittaker() Whittaker-Henderson smoothing  ** Not yet running** .
o rref() reduced row echelon form.

CHANGES IN VERSION 0.8.9 (2011-12-08)

o cutpoints() automatically finds cutting points based on gaps.
o hausdorff_dist calculates the Hausdorff distance / Hausdorff dimension.
o nnz() number of non-zeros elements (Matlab style).

CHANGES IN VERSION 0.8.8 (2011-12-06)

o polar() for polar plots (Matlab style), see the example plots.
o andrewsplot() plots Andrews curves in polar coordinates.
o Vectorized: cart2sph(), sph2cart(), cart2pol(), pol2cart().

CHANGES IN VERSION 0.8.7 (2011-11-30)

o figure() Matlab style, and pltcross() plotting crosses.

CHANGES IN VERSION 0.8.6 (2011-11-21)

o ridder() Ridder's method for zero finding of univariate functions.

CHANGES IN VERSION 0.8.5 (2011-11-19)

o sqrtm() matrix square root, based on Denman-Beavers iteration,
rootm() matrix p-th root, computing a complex contour integral,
signm() matrix sign function.
o fzero() now uses the new zeroin() function,
i.e., a Brent-Dekker approach instead of refering to uniroot().
o twinPrimes() twin primes in a given interval, and nextPrime()
will find the next higher prime.

CHANGES IN VERSION 0.8.4 (2011-11-14)

o Transformations between cartesian, spherical, polar and cylindrical
coordinate systems: cart2sph(), sph2cart(), cart2pol(), pol2cart().
o randp() uniformly random points in the unit circle.

CHANGES IN VERSION 0.8.3 (2011-11-11)

o accumarray() grouping elements and applying a function to each group.
o uniq() Matlab-style 'unique' function, allsums() in the examples.
o small correction to fsolve(), mentioned on the 'check summary' page.

CHANGES IN VERSION 0.8.2 (2011-11-04)

o newmark() Newmark's method for solving second order differential
equations of the form  y''(t) = f(t, y(t), y'(t)) on [t1, t2].
o cranknic() Crank-Nicolson 'ivp' solver, combining the forward and
backward Euler methods for ordinary differential equations.

CHANGES IN VERSION 0.8.1 (2011-10-30)

o Corrected pinv() for (nearly) singular matrices.
o Renamed ifactor() to factors().

CHANGES IN VERSION 0.8.0 (2011-10-27)

o Minor corrections and improvements to the 'pracma.pdf' manual,
incl. numdiff(), refindall(), trigApprox(), and subspace().

CHANGES IN VERSION 0.7.9 (2011-10-22)

o spinterp() monotonic (and later on shape-preserving) interpolation
following the approach of Delbourgo and Gregory.

CHANGES IN VERSION 0.7.8 (2011-10-17)

o bvp() solves boundary value problems of the following kind:
-u''(x) + c1 u'(x) + c2 u(x) = f(x) for x in [a, b].

CHANGES IN VERSION 0.7.7 (2011-10-14)

o primes2(n1, n2) will return all prime numbers betweeen n1 and n2
(without storing the numbers from sqrt(n2) up to n2).

CHANGES IN VERSION 0.7.6 (2011-08-05)

o gaussNewton() for function minimization and solving systems of
nonlinear equations. fsolve() as a wrapper for it.
o fzsolve() for root finding of complex functions.
o softline() Fletcher's inexact linesearch algorithm.

CHANGES IN VERSION 0.7.5 (2011-07-26)

o Put NEWS.Rd in the /inst subdirectory (and NEWS.pdf in /doc),
thanks to Kurt Hornik; slightly changed the version numbering.

CHANGES IN VERSION 0.7-4 (2011-07-22)

o rortho() generate random orthogonal matrix of size n.
o Titanium data set for testing fitting procedures.

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.

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 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
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.

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)

CHANGES IN VERSION 0.6-1 (2011-06-25)

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).

CHANGES IN VERSION 0.5-9 (2011-06-23)

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.

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 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 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 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(), 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 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 (2011-03-13)

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 (2011-03-10)

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 (2011-03-08)

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 (2011-03-06)

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().
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 (2011-02-20)

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.
``````