blob: 33e23fe0e688b1c31fd1b39f01655571bf24c8b0 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>LevenbergMarquardtOptimizer (Apache Commons Math 3.3 API)</title>
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LevenbergMarquardtOptimizer (Apache Commons Math 3.3 API)";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!-- -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LevenbergMarquardtOptimizer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.html" title="class in org.apache.commons.math3.optimization.general"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html" title="class in org.apache.commons.math3.optimization.general"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html" target="_top">Frames</a></li>
<li><a href="LevenbergMarquardtOptimizer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.commons.math3.optimization.general</div>
<h2 title="Class LevenbergMarquardtOptimizer" class="title">Class LevenbergMarquardtOptimizer</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html" title="class in org.apache.commons.math3.optimization.direct">org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateVectorOptimizer</a>&lt;<a href="../../../../../../org/apache/commons/math3/analysis/DifferentiableMultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">DifferentiableMultivariateVectorFunction</a>&gt;</li>
<li>
<ul class="inheritance">
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html" title="class in org.apache.commons.math3.optimization.general">org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer</a></li>
<li>
<ul class="inheritance">
<li>org.apache.commons.math3.optimization.general.LevenbergMarquardtOptimizer</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../../org/apache/commons/math3/optimization/BaseMultivariateVectorOptimizer.html" title="interface in org.apache.commons.math3.optimization">BaseMultivariateVectorOptimizer</a>&lt;<a href="../../../../../../org/apache/commons/math3/analysis/DifferentiableMultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">DifferentiableMultivariateVectorFunction</a>&gt;, <a href="../../../../../../org/apache/commons/math3/optimization/BaseOptimizer.html" title="interface in org.apache.commons.math3.optimization">BaseOptimizer</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a>&gt;, <a href="../../../../../../org/apache/commons/math3/optimization/DifferentiableMultivariateVectorOptimizer.html" title="interface in org.apache.commons.math3.optimization">DifferentiableMultivariateVectorOptimizer</a></dd>
</dl>
<hr>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>As of 3.1 (to be removed in 4.0).</i></div>
</div>
<br>
<pre><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
public class <span class="strong">LevenbergMarquardtOptimizer</span>
extends <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html" title="class in org.apache.commons.math3.optimization.general">AbstractLeastSquaresOptimizer</a></pre>
<div class="block">This class solves a least squares problem using the Levenberg-Marquardt algorithm.
<p>This implementation <em>should</em> work even for over-determined systems
(i.e. systems having more point than equations). Over-determined systems
are solved by ignoring the point which have the smallest impact according
to their jacobian column norm. Only the rank of the matrix and some loop bounds
are changed to implement this.</p>
<p>The resolution engine is a simple translation of the MINPACK <a
href="http://www.netlib.org/minpack/lmder.f">lmder</a> routine with minor
changes. The changes include the over-determined resolution, the use of
inherited convergence checker and the Q.R. decomposition which has been
rewritten following the algorithm described in the
P. Lascaux and R. Theodor book <i>Analyse num&eacute;rique matricielle
appliqu&eacute;e &agrave; l'art de l'ing&eacute;nieur</i>, Masson 1986.</p>
<p>The authors of the original fortran version are:
<ul>
<li>Argonne National Laboratory. MINPACK project. March 1980</li>
<li>Burton S. Garbow</li>
<li>Kenneth E. Hillstrom</li>
<li>Jorge J. More</li>
</ul>
The redistribution policy for MINPACK is available <a
href="http://www.netlib.org/minpack/disclaimer">here</a>, for convenience, it
is reproduced below.</p>
<table border="0" width="80%" cellpadding="10" align="center" bgcolor="#E0E0E0">
<tr><td>
Minpack Copyright Notice (1999) University of Chicago.
All rights reserved
</td></tr>
<tr><td>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
<ol>
<li>Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.</li>
<li>Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.</li>
<li>The end-user documentation included with the redistribution, if any,
must include the following acknowledgment:
<code>This product includes software developed by the University of
Chicago, as Operator of Argonne National Laboratory.</code>
Alternately, this acknowledgment may appear in the software itself,
if and wherever such third-party acknowledgments normally appear.</li>
<li><strong>WARRANTY DISCLAIMER. THE SOFTWARE IS SUPPLIED "AS IS"
WITHOUT WARRANTY OF ANY KIND. THE COPYRIGHT HOLDER, THE
UNITED STATES, THE UNITED STATES DEPARTMENT OF ENERGY, AND
THEIR EMPLOYEES: (1) DISCLAIM ANY WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE
OR NON-INFRINGEMENT, (2) DO NOT ASSUME ANY LEGAL LIABILITY
OR RESPONSIBILITY FOR THE ACCURACY, COMPLETENESS, OR
USEFULNESS OF THE SOFTWARE, (3) DO NOT REPRESENT THAT USE OF
THE SOFTWARE WOULD NOT INFRINGE PRIVATELY OWNED RIGHTS, (4)
DO NOT WARRANT THAT THE SOFTWARE WILL FUNCTION
UNINTERRUPTED, THAT IT IS ERROR-FREE OR THAT ANY ERRORS WILL
BE CORRECTED.</strong></li>
<li><strong>LIMITATION OF LIABILITY. IN NO EVENT WILL THE COPYRIGHT
HOLDER, THE UNITED STATES, THE UNITED STATES DEPARTMENT OF
ENERGY, OR THEIR EMPLOYEES: BE LIABLE FOR ANY INDIRECT,
INCIDENTAL, CONSEQUENTIAL, SPECIAL OR PUNITIVE DAMAGES OF
ANY KIND OR NATURE, INCLUDING BUT NOT LIMITED TO LOSS OF
PROFITS OR LOSS OF DATA, FOR ANY REASON WHATSOEVER, WHETHER
SUCH LIABILITY IS ASSERTED ON THE BASIS OF CONTRACT, TORT
(INCLUDING NEGLIGENCE OR STRICT LIABILITY), OR OTHERWISE,
EVEN IF ANY OF SAID PARTIES HAS BEEN WARNED OF THE
POSSIBILITY OF SUCH LOSS OR DAMAGES.</strong></li>
<ol></td></tr>
</table></div>
<dl><dt><span class="strong">Since:</span></dt>
<dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
<dd>$Id: LevenbergMarquardtOptimizer.java 1591835 2014-05-02 09:04:01Z tn $</dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.math3.optimization.general.<a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html" title="class in org.apache.commons.math3.optimization.general">AbstractLeastSquaresOptimizer</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#cols">cols</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#cost">cost</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#objective">objective</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#point">point</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#rows">rows</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#weightedResidualJacobian">weightedResidualJacobian</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#weightedResiduals">weightedResiduals</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateVectorOptimizer">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.commons.math3.optimization.direct.<a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html" title="class in org.apache.commons.math3.optimization.direct">BaseAbstractMultivariateVectorOptimizer</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#evaluations">evaluations</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer()">LevenbergMarquardtOptimizer</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Build an optimizer for least squares problems with default values
for all the tuning parameters (see the <a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, double, double, double, double)"><code>other contructor</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">LevenbergMarquardtOptimizer</a></strong>(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a>&gt;&nbsp;checker)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Constructor that allows the specification of a custom convergence
checker.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, org.apache.commons.math3.optimization.ConvergenceChecker, double, double, double, double)">LevenbergMarquardtOptimizer</a></strong>(double&nbsp;initialStepBoundFactor,
<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a>&gt;&nbsp;checker,
double&nbsp;costRelativeTolerance,
double&nbsp;parRelativeTolerance,
double&nbsp;orthoTolerance,
double&nbsp;threshold)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Constructor that allows the specification of a custom convergence
checker, in addition to the standard ones.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, double, double)">LevenbergMarquardtOptimizer</a></strong>(double&nbsp;costRelativeTolerance,
double&nbsp;parRelativeTolerance,
double&nbsp;orthoTolerance)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Build an optimizer for least squares problems with default values
for some of the tuning parameters (see the <a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, double, double, double, double)"><code>other contructor</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, double, double, double, double)">LevenbergMarquardtOptimizer</a></strong>(double&nbsp;initialStepBoundFactor,
double&nbsp;costRelativeTolerance,
double&nbsp;parRelativeTolerance,
double&nbsp;orthoTolerance,
double&nbsp;threshold)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">The arguments control the behaviour of the default convergence checking
procedure.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#doOptimize()">doOptimize</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.optimization.general.<a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html" title="class in org.apache.commons.math3.optimization.general">AbstractLeastSquaresOptimizer</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#computeCost(double[])">computeCost</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#computeCovariances(double[], double)">computeCovariances</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#computeResiduals(double[])">computeResiduals</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#computeSigma(double[], double)">computeSigma</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#computeWeightedJacobian(double[])">computeWeightedJacobian</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#getChiSquare()">getChiSquare</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#getCovariances()">getCovariances</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#getCovariances(double)">getCovariances</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#getJacobianEvaluations()">getJacobianEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#getRMS()">getRMS</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#getWeightSquareRoot()">getWeightSquareRoot</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#guessParametersErrors()">guessParametersErrors</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#optimize(int, org.apache.commons.math3.analysis.DifferentiableMultivariateVectorFunction, double[], double[], double[])">optimize</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#optimize(int, org.apache.commons.math3.analysis.differentiation.MultivariateDifferentiableVectorFunction, double[], double[], double[])">optimize</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#optimizeInternal(int, org.apache.commons.math3.analysis.differentiation.MultivariateDifferentiableVectorFunction, org.apache.commons.math3.optimization.OptimizationData...)">optimizeInternal</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#setCost(double)">setCost</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#setUp()">setUp</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#updateJacobian()">updateJacobian</a>, <a href="../../../../../../org/apache/commons/math3/optimization/general/AbstractLeastSquaresOptimizer.html#updateResidualsAndCost()">updateResidualsAndCost</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optimization.direct.BaseAbstractMultivariateVectorOptimizer">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.commons.math3.optimization.direct.<a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html" title="class in org.apache.commons.math3.optimization.direct">BaseAbstractMultivariateVectorOptimizer</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#computeObjectiveValue(double[])">computeObjectiveValue</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getConvergenceChecker()">getConvergenceChecker</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getEvaluations()">getEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getMaxEvaluations()">getMaxEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getObjectiveFunction()">getObjectiveFunction</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getStartPoint()">getStartPoint</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getTarget()">getTarget</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getTargetRef()">getTargetRef</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getWeight()">getWeight</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#getWeightRef()">getWeightRef</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#optimize(int, FUNC, org.apache.commons.math3.optimization.OptimizationData...)">optimize</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#optimizeInternal(int, FUNC, double[], double[], double[])">optimizeInternal</a>, <a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#optimizeInternal(int, FUNC, org.apache.commons.math3.optimization.OptimizationData...)">optimizeInternal</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.math3.optimization.BaseOptimizer">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.commons.math3.optimization.<a href="../../../../../../org/apache/commons/math3/optimization/BaseOptimizer.html" title="interface in org.apache.commons.math3.optimization">BaseOptimizer</a></h3>
<code><a href="../../../../../../org/apache/commons/math3/optimization/BaseOptimizer.html#getConvergenceChecker()">getConvergenceChecker</a>, <a href="../../../../../../org/apache/commons/math3/optimization/BaseOptimizer.html#getEvaluations()">getEvaluations</a>, <a href="../../../../../../org/apache/commons/math3/optimization/BaseOptimizer.html#getMaxEvaluations()">getMaxEvaluations</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="LevenbergMarquardtOptimizer()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LevenbergMarquardtOptimizer</h4>
<pre>public&nbsp;LevenbergMarquardtOptimizer()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">Build an optimizer for least squares problems with default values
for all the tuning parameters (see the <a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, double, double, double, double)"><code>other contructor</code></a>.
The default values for the algorithm settings are:
<ul>
<li>Initial step bound factor: 100</li>
<li>Cost relative tolerance: 1e-10</li>
<li>Parameters relative tolerance: 1e-10</li>
<li>Orthogonality tolerance: 1e-10</li>
<li>QR ranking threshold: <a href="../../../../../../org/apache/commons/math3/util/Precision.html#SAFE_MIN"><code>Precision.SAFE_MIN</code></a></li>
</ul></div>
</li>
</ul>
<a name="LevenbergMarquardtOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LevenbergMarquardtOptimizer</h4>
<pre>public&nbsp;LevenbergMarquardtOptimizer(<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a>&gt;&nbsp;checker)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">Constructor that allows the specification of a custom convergence
checker.
Note that all the usual convergence checks will be <em>disabled</em>.
The default values for the algorithm settings are:
<ul>
<li>Initial step bound factor: 100</li>
<li>Cost relative tolerance: 1e-10</li>
<li>Parameters relative tolerance: 1e-10</li>
<li>Orthogonality tolerance: 1e-10</li>
<li>QR ranking threshold: <a href="../../../../../../org/apache/commons/math3/util/Precision.html#SAFE_MIN"><code>Precision.SAFE_MIN</code></a></li>
</ul></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>checker</code> - Convergence checker.</dd></dl>
</li>
</ul>
<a name="LevenbergMarquardtOptimizer(double, org.apache.commons.math3.optimization.ConvergenceChecker, double, double, double, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LevenbergMarquardtOptimizer</h4>
<pre>public&nbsp;LevenbergMarquardtOptimizer(double&nbsp;initialStepBoundFactor,
<a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization">ConvergenceChecker</a>&lt;<a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a>&gt;&nbsp;checker,
double&nbsp;costRelativeTolerance,
double&nbsp;parRelativeTolerance,
double&nbsp;orthoTolerance,
double&nbsp;threshold)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">Constructor that allows the specification of a custom convergence
checker, in addition to the standard ones.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>initialStepBoundFactor</code> - Positive input variable used in
determining the initial step bound. This bound is set to the
product of initialStepBoundFactor and the euclidean norm of
<code>diag * x</code> if non-zero, or else to <code>initialStepBoundFactor</code>
itself. In most cases factor should lie in the interval
<code>(0.1, 100.0)</code>. <code>100</code> is a generally recommended value.</dd><dd><code>checker</code> - Convergence checker.</dd><dd><code>costRelativeTolerance</code> - Desired relative error in the sum of
squares.</dd><dd><code>parRelativeTolerance</code> - Desired relative error in the approximate
solution parameters.</dd><dd><code>orthoTolerance</code> - Desired max cosine on the orthogonality between
the function vector and the columns of the Jacobian.</dd><dd><code>threshold</code> - Desired threshold for QR ranking. If the squared norm
of a column vector is smaller or equal to this threshold during QR
decomposition, it is considered to be a zero vector and hence the rank
of the matrix is reduced.</dd></dl>
</li>
</ul>
<a name="LevenbergMarquardtOptimizer(double, double, double)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>LevenbergMarquardtOptimizer</h4>
<pre>public&nbsp;LevenbergMarquardtOptimizer(double&nbsp;costRelativeTolerance,
double&nbsp;parRelativeTolerance,
double&nbsp;orthoTolerance)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">Build an optimizer for least squares problems with default values
for some of the tuning parameters (see the <a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html#LevenbergMarquardtOptimizer(double, double, double, double, double)"><code>other contructor</code></a>.
The default values for the algorithm settings are:
<ul>
<li>Initial step bound factor}: 100</li>
<li>QR ranking threshold}: <a href="../../../../../../org/apache/commons/math3/util/Precision.html#SAFE_MIN"><code>Precision.SAFE_MIN</code></a></li>
</ul></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>costRelativeTolerance</code> - Desired relative error in the sum of
squares.</dd><dd><code>parRelativeTolerance</code> - Desired relative error in the approximate
solution parameters.</dd><dd><code>orthoTolerance</code> - Desired max cosine on the orthogonality between
the function vector and the columns of the Jacobian.</dd></dl>
</li>
</ul>
<a name="LevenbergMarquardtOptimizer(double, double, double, double, double)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LevenbergMarquardtOptimizer</h4>
<pre>public&nbsp;LevenbergMarquardtOptimizer(double&nbsp;initialStepBoundFactor,
double&nbsp;costRelativeTolerance,
double&nbsp;parRelativeTolerance,
double&nbsp;orthoTolerance,
double&nbsp;threshold)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">The arguments control the behaviour of the default convergence checking
procedure.
Additional criteria can defined through the setting of a <a href="../../../../../../org/apache/commons/math3/optimization/ConvergenceChecker.html" title="interface in org.apache.commons.math3.optimization"><code>ConvergenceChecker</code></a>.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>initialStepBoundFactor</code> - Positive input variable used in
determining the initial step bound. This bound is set to the
product of initialStepBoundFactor and the euclidean norm of
<code>diag * x</code> if non-zero, or else to <code>initialStepBoundFactor</code>
itself. In most cases factor should lie in the interval
<code>(0.1, 100.0)</code>. <code>100</code> is a generally recommended value.</dd><dd><code>costRelativeTolerance</code> - Desired relative error in the sum of
squares.</dd><dd><code>parRelativeTolerance</code> - Desired relative error in the approximate
solution parameters.</dd><dd><code>orthoTolerance</code> - Desired max cosine on the orthogonality between
the function vector and the columns of the Jacobian.</dd><dd><code>threshold</code> - Desired threshold for QR ranking. If the squared norm
of a column vector is smaller or equal to this threshold during QR
decomposition, it is considered to be a zero vector and hence the rank
of the matrix is reduced.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="doOptimize()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>doOptimize</h4>
<pre>protected&nbsp;<a href="../../../../../../org/apache/commons/math3/optimization/PointVectorValuePair.html" title="class in org.apache.commons.math3.optimization">PointVectorValuePair</a>&nbsp;doOptimize()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;</div>
<div class="block">Perform the bulk of the optimization algorithm.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html#doOptimize()">doOptimize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/commons/math3/optimization/direct/BaseAbstractMultivariateVectorOptimizer.html" title="class in org.apache.commons.math3.optimization.direct">BaseAbstractMultivariateVectorOptimizer</a>&lt;<a href="../../../../../../org/apache/commons/math3/analysis/DifferentiableMultivariateVectorFunction.html" title="interface in org.apache.commons.math3.analysis">DifferentiableMultivariateVectorFunction</a>&gt;</code></dd>
<dt><span class="strong">Returns:</span></dt><dd>the point/value pair giving the optimal value for the
objective function.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!-- -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/LevenbergMarquardtOptimizer.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><em><script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script></em></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.html" title="class in org.apache.commons.math3.optimization.general"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/NonLinearConjugateGradientOptimizer.html" title="class in org.apache.commons.math3.optimization.general"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../../index.html?org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.html" target="_top">Frames</a></li>
<li><a href="LevenbergMarquardtOptimizer.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.commons.math3.optimization.general.AbstractLeastSquaresOptimizer">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2003&#x2013;2014 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>