https://github.com/cran/pracma
Raw File
Tip revision: 63e8a52ae6668e736720c89691352d6dc3bc9eb1 authored by HwB on 17 January 2012, 00:00 UTC
version 0.9.6
Tip revision: 63e8a52
NEWS
------------------------------------------------------------------------------
  pracma                                                                NEWS
------------------------------------------------------------------------------


PLANNED FOR NEXT VERSIONS

    o [tbd.]

CHANGES IN VERSION 0.9.6 (2012-01-17)

    o [tbd.]

CHANGES IN VERSION 0.9.5 (2012-01-16)

    o kmeanspp() kmeans++ clustering algorithm.
    o interv_union() vectorized according to an idea of William Dunlap.
    o savgol() and hampel() with new options, fuelled by a blog entry
      of Ron Pearson in his ExploringDataBlog.

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 ApEn() approximate entropy of a time series.
    o circshift() circularly shifting arrays (Matlab Style).
    o interv_union(), interv_intersect() union and intersection
      of a set of (closed) intervals.

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 deg2rad(), rad2deg()
    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 factorize().

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

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

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 (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(). 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 (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.
back to top