<!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>GaussNewtonOptimizer (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="GaussNewtonOptimizer (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/GaussNewtonOptimizer.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/ConjugateGradientFormula.html" title="enum in org.apache.commons.math3.optimization.general"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.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/GaussNewtonOptimizer.html" target="_top">Frames</a></li>
<li><a href="GaussNewtonOptimizer.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 GaussNewtonOptimizer" class="title">Class GaussNewtonOptimizer</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.GaussNewtonOptimizer</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">GaussNewtonOptimizer</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">Gauss-Newton least-squares solver.
 <p>
 This class solve a least-square problem by solving the normal equations
 of the linearized problem at each iteration. Either LU decomposition or
 QR decomposition can be used to solve the normal equations. LU decomposition
 is faster but QR decomposition is more robust for difficult problems.
 </p></div>
<dl><dt><span class="strong">Since:</span></dt>
  <dd>2.0</dd>
<dt><span class="strong">Version:</span></dt>
  <dd>$Id: GaussNewtonOptimizer.java 1423687 2012-12-18 21:56:18Z erans $</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/GaussNewtonOptimizer.html#GaussNewtonOptimizer()">GaussNewtonOptimizer</a></strong>()</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>See <a href="../../../../../../org/apache/commons/math3/optimization/SimpleVectorValueChecker.html#SimpleVectorValueChecker()"><code>SimpleVectorValueChecker.SimpleVectorValueChecker()</code></a></i></div>
</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.html#GaussNewtonOptimizer(boolean)">GaussNewtonOptimizer</a></strong>(boolean&nbsp;useLU)</code>
<div class="block"><strong>Deprecated.</strong>&nbsp;
<div class="block"><i>See <a href="../../../../../../org/apache/commons/math3/optimization/SimpleVectorValueChecker.html#SimpleVectorValueChecker()"><code>SimpleVectorValueChecker.SimpleVectorValueChecker()</code></a></i></div>
</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.html#GaussNewtonOptimizer(boolean, org.apache.commons.math3.optimization.ConvergenceChecker)">GaussNewtonOptimizer</a></strong>(boolean&nbsp;useLU,
                    <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>
&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/math3/optimization/general/GaussNewtonOptimizer.html#GaussNewtonOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">GaussNewtonOptimizer</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">Simple constructor with default settings.</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><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/GaussNewtonOptimizer.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="GaussNewtonOptimizer()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GaussNewtonOptimizer</h4>
<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&nbsp;GaussNewtonOptimizer()</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>See <a href="../../../../../../org/apache/commons/math3/optimization/SimpleVectorValueChecker.html#SimpleVectorValueChecker()"><code>SimpleVectorValueChecker.SimpleVectorValueChecker()</code></a></i></div>
<div class="block">Simple constructor with default settings.
 The normal equations will be solved using LU decomposition and the
 convergence check is set to a <a href="../../../../../../org/apache/commons/math3/optimization/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optimization"><code>SimpleVectorValueChecker</code></a>
 with default tolerances.</div>
</li>
</ul>
<a name="GaussNewtonOptimizer(org.apache.commons.math3.optimization.ConvergenceChecker)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GaussNewtonOptimizer</h4>
<pre>public&nbsp;GaussNewtonOptimizer(<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">Simple constructor with default settings.
 The normal equations will be solved using LU decomposition.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>checker</code> - Convergence checker.</dd></dl>
</li>
</ul>
<a name="GaussNewtonOptimizer(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GaussNewtonOptimizer</h4>
<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&nbsp;GaussNewtonOptimizer(boolean&nbsp;useLU)</pre>
<div class="block"><span class="strong">Deprecated.</span>&nbsp;<i>See <a href="../../../../../../org/apache/commons/math3/optimization/SimpleVectorValueChecker.html#SimpleVectorValueChecker()"><code>SimpleVectorValueChecker.SimpleVectorValueChecker()</code></a></i></div>
<div class="block">Simple constructor with default settings.
 The convergence check is set to a <a href="../../../../../../org/apache/commons/math3/optimization/SimpleVectorValueChecker.html" title="class in org.apache.commons.math3.optimization"><code>SimpleVectorValueChecker</code></a>
 with default tolerances.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>useLU</code> - If <code>true</code>, the normal equations will be solved
 using LU decomposition, otherwise they will be solved using QR
 decomposition.</dd></dl>
</li>
</ul>
<a name="GaussNewtonOptimizer(boolean, org.apache.commons.math3.optimization.ConvergenceChecker)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>GaussNewtonOptimizer</h4>
<pre>public&nbsp;GaussNewtonOptimizer(boolean&nbsp;useLU,
                    <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>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>useLU</code> - If <code>true</code>, the normal equations will be solved
 using LU decomposition, otherwise they will be solved using QR
 decomposition.</dd><dd><code>checker</code> - Convergence checker.</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>public&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/GaussNewtonOptimizer.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/ConjugateGradientFormula.html" title="enum in org.apache.commons.math3.optimization.general"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../../../org/apache/commons/math3/optimization/general/LevenbergMarquardtOptimizer.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/GaussNewtonOptimizer.html" target="_top">Frames</a></li>
<li><a href="GaussNewtonOptimizer.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>
