PDL::Fit::LM 2.3.2
Sponsored Links
PDL::Fit::LM 2.3.2 Ranking & Summary
File size:
1.1 MB
Platform:
Any Platform
License:
Perl Artistic License
Price:
Downloads:
811
Date added:
2007-08-08
Publisher:
Christian Soeller
PDL::Fit::LM 2.3.2 description
PDL::Fit::LM is a Levenber-Marquardt fitting routine for PDL.
Currently, only Levenberg-Marquardt fitting is implemented. Other procedures should be added as required. For a fairly concise overview on fitting see Numerical Recipes, chapter 15 "Modeling of data".
SYNOPSIS
use PDL::Fit::LM;
$ym = lmfit $x, $y, $sig, &expfunc, $a, {Maxiter => 300};
FUNCTIONS
lmfit
Levenberg-Marquardt fitting of a user supplied model function
($ym,$a,$covar,$iters) =
lmfit $x, $y, $sig, &expfunc, $a, {Maxiter => 300, Eps => 1e-3};
Options:
Maxiter: maximum number of iterations before giving up
Eps: convergence citerium for fit; success when normalized change
in chisquare smaller than Eps
The user supplied sub routine reference should accept 4 arguments
a vector of independent values $x
a vector of fitting parameters
a vector of dependent variables that will be assigned upon return
a matrix of partial derivatives with respect to the fitting parameters that will be assigned upon return
As an example take this definition of a single exponential with 3 parameters (width, amplitude, offset):
sub expdec {
my ($x,$par,$ym,$dyda) = @_;
my ($a,$b,$c) = map {$par->slice("($_)")} (0..2);
my $arg = $x/$a;
my $ex = exp($arg);
$ym .= $b*$ex+$c;
my (@dy) = map {$dyda->slice(",($_)")} (0..2);
$dy[0] .= -$b*$ex*$arg/$a;
$dy[1] .= $ex;
$dy[2] .= 1;
}
Note usage of the .= operator for assignment
In scalar context returns a vector of the fitted dependent variable. In list context returns fitted y-values, vector of fitted parameters, an estimate of the covariance matrix (as an indicator of goodness of fit) and number of iterations performed.
tlmfit
threaded version of Levenberg-Marquardt fitting routine mfit
tlmfit $x, $y, float(1)->dummy(0), $na, float(200), float(1e-4),
$ym=null, $afit=null, &expdec;
Signature:
tlmfit(x(n);y(n);sig(n);a(m);iter();eps();[o] ym(n);[o] ao(m);
OtherPar => subref)
a threaded version of lmfit by using perl threading. Direct threading in lmfit seemed difficult since we have an if condition in the iteration. In principle that can be worked around by using where but .... Send a threaded lmfit version if you work it out!
Since we are using perl threading here speed is not really great but it is just convenient to have a threaded version for many applications (no explicit for-loops required, etc). Suffers from some of the current limitations of perl level threading.
Currently, only Levenberg-Marquardt fitting is implemented. Other procedures should be added as required. For a fairly concise overview on fitting see Numerical Recipes, chapter 15 "Modeling of data".
SYNOPSIS
use PDL::Fit::LM;
$ym = lmfit $x, $y, $sig, &expfunc, $a, {Maxiter => 300};
FUNCTIONS
lmfit
Levenberg-Marquardt fitting of a user supplied model function
($ym,$a,$covar,$iters) =
lmfit $x, $y, $sig, &expfunc, $a, {Maxiter => 300, Eps => 1e-3};
Options:
Maxiter: maximum number of iterations before giving up
Eps: convergence citerium for fit; success when normalized change
in chisquare smaller than Eps
The user supplied sub routine reference should accept 4 arguments
a vector of independent values $x
a vector of fitting parameters
a vector of dependent variables that will be assigned upon return
a matrix of partial derivatives with respect to the fitting parameters that will be assigned upon return
As an example take this definition of a single exponential with 3 parameters (width, amplitude, offset):
sub expdec {
my ($x,$par,$ym,$dyda) = @_;
my ($a,$b,$c) = map {$par->slice("($_)")} (0..2);
my $arg = $x/$a;
my $ex = exp($arg);
$ym .= $b*$ex+$c;
my (@dy) = map {$dyda->slice(",($_)")} (0..2);
$dy[0] .= -$b*$ex*$arg/$a;
$dy[1] .= $ex;
$dy[2] .= 1;
}
Note usage of the .= operator for assignment
In scalar context returns a vector of the fitted dependent variable. In list context returns fitted y-values, vector of fitted parameters, an estimate of the covariance matrix (as an indicator of goodness of fit) and number of iterations performed.
tlmfit
threaded version of Levenberg-Marquardt fitting routine mfit
tlmfit $x, $y, float(1)->dummy(0), $na, float(200), float(1e-4),
$ym=null, $afit=null, &expdec;
Signature:
tlmfit(x(n);y(n);sig(n);a(m);iter();eps();[o] ym(n);[o] ao(m);
OtherPar => subref)
a threaded version of lmfit by using perl threading. Direct threading in lmfit seemed difficult since we have an if condition in the iteration. In principle that can be worked around by using where but .... Send a threaded lmfit version if you work it out!
Since we are using perl threading here speed is not really great but it is just convenient to have a threaded version for many applications (no explicit for-loops required, etc). Suffers from some of the current limitations of perl level threading.
PDL::Fit::LM 2.3.2 Screenshot
PDL::Fit::LM 2.3.2 Keywords
PDL
LM
LM 2.3.2
fitting
ym
X
routine
vector
n
PDL::Fit::LM
PDLFitLM
PDL::Fit::LM 2.3.2
Libraries
Programming
Bookmark PDL::Fit::LM 2.3.2
PDL::Fit::LM 2.3.2 Copyright
WareSeeker periodically updates pricing and software information of PDL::Fit::LM 2.3.2 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of PDL::Fit::LM 2.3.2 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
Related Software
JOpt Simple is a Java library for parsing command line switches, such as those you might pass to an invocation of javac. Free Download
PDL::IO::Pic is a image I/O for PDL. Free Download
PDL::FFTW is a PDL interface to the Fastest Fourier Transform in the West v2.x. Free Download
PDL::IO::FITS Perl module offers a simple FITS support for PDL. Free Download
PDL::Internals is a Perl module that contains a description of some aspects of the current internals. Free Download
PDL::Graphics::LUT is a Perl module that provides access to a number of look-up tables. Free Download
PDL::Reduce is Perl module that helps to reduce functions for PDL. Free Download
PDL::API is a Perl module for making piddles from Perl and C/XS code. Free Download
Latest Software
Popular Software
Favourite Software