blob: 51b79e6632e9a398d4cc02b94b6e3c39904dd7db [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>
<!-- Generated by javadoc (1.8.0_121) on Fri Apr 14 22:10:59 PDT 2017 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>LSMR (Mahout Math 0.13.0 API)</title>
<meta name="date" content="2017-04-14">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="LSMR (Mahout Math 0.13.0 API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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/LSMR.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mahout/math/solver/JacobiConditioner.html" title="class in org.apache.mahout.math.solver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mahout/math/solver/Preconditioner.html" title="interface in org.apache.mahout.math.solver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mahout/math/solver/LSMR.html" target="_top">Frames</a></li>
<li><a href="LSMR.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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>Field&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.mahout.math.solver</div>
<h2 title="Class LSMR" class="title">Class LSMR</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/7/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>org.apache.mahout.math.solver.LSMR</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public final class <span class="typeNameLabel">LSMR</span>
extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
<div class="block">Solves sparse least-squares using the LSMR algorithm.
<p/>
LSMR solves the system of linear equations A * X = B. If the system is inconsistent, it solves
the least-squares problem min ||b - Ax||_2. A is a rectangular matrix of dimension m-by-n, where
all cases are allowed: m=n, m>n, or m&lt;n. B is a vector of length m. The matrix A may be dense
or sparse (usually sparse).
<p/>
Some additional configurable properties adjust the behavior of the algorithm.
<p/>
If you set lambda to a non-zero value then LSMR solves the regularized least-squares problem min
||(B) - ( A )X|| ||(0) (lambda*I) ||_2 where LAMBDA is a scalar. If LAMBDA is not set,
the system is solved without regularization.
<p/>
You can also set aTolerance and bTolerance. These cause LSMR to iterate until a certain backward
error estimate is smaller than some quantity depending on ATOL and BTOL. Let RES = B - A*X be
the residual vector for the current approximate solution X. If A*X = B seems to be consistent,
LSMR terminates when NORM(RES) <= ATOL*NORM(A)*NORM(X) + BTOL*NORM(B). Otherwise, LSMR terminates
when NORM(A'*RES) <= ATOL*NORM(A)*NORM(RES). If both tolerances are 1.0e-6 (say), the final
NORM(RES) should be accurate to about 6 digits. (The final X will usually have fewer correct
digits, depending on cond(A) and the size of LAMBDA.)
<p/>
The default value for ATOL and BTOL is 1e-6.
<p/>
Ideally, they should be estimates of the relative error in the entries of A and B respectively.
For example, if the entries of A have 7 correct digits, set ATOL = 1e-7. This prevents the
algorithm from doing unnecessary work beyond the uncertainty of the input data.
<p/>
You can also set conditionLimit. In that case, LSMR terminates if an estimate of cond(A) exceeds
conditionLimit. For compatible systems Ax = b, conditionLimit could be as large as 1.0e+12 (say).
For least-squares problems, conditionLimit should be less than 1.0e+8. If conditionLimit is not
set, the default value is 1e+8. Maximum precision can be obtained by setting aTolerance =
bTolerance = conditionLimit = 0, but the number of iterations may then be excessive.
<p/>
Setting iterationLimit causes LSMR to terminate if the number of iterations reaches
iterationLimit. The default is iterationLimit = min(m,n). For ill-conditioned systems, a
larger value of ITNLIM may be needed.
<p/>
Setting localSize causes LSMR to run with rerorthogonalization on the last localSize v_k's.
(v-vectors generated by Golub-Kahan bidiagonalization) If localSize is not set, LSMR runs without
reorthogonalization. A localSize > max(n,m) performs reorthogonalization on all v_k's.
Reorthgonalizing only u_k or both u_k and v_k are not an option here. Details are discussed in
the SIAM paper.
<p/>
getTerminationReason() gives the reason for termination. ISTOP = 0 means X=0 is a solution. = 1
means X is an approximate solution to A*X = B, according to ATOL and BTOL. = 2 means X
approximately solves the least-squares problem according to ATOL. = 3 means COND(A) seems to be
greater than CONLIM. = 4 is the same as 1 with ATOL = BTOL = EPS. = 5 is the same as 2 with ATOL
= EPS. = 6 is the same as 3 with CONLIM = 1/EPS. = 7 means ITN reached ITNLIM before the other
stopping conditions were satisfied.
<p/>
getIterationCount() gives ITN = the number of LSMR iterations.
<p/>
getResidualNorm() gives an estimate of the residual norm: NORMR = norm(B-A*X).
<p/>
getNormalEquationResidual() gives an estimate of the residual for the normal equation: NORMAR =
NORM(A'*(B-A*X)).
<p/>
getANorm() gives an estimate of the Frobenius norm of A.
<p/>
getCondition() gives an estimate of the condition number of A.
<p/>
getXNorm() gives an estimate of NORM(X).
<p/>
LSMR uses an iterative method. For further information, see D. C.-L. Fong and M. A. Saunders
LSMR: An iterative algorithm for least-square problems Draft of 03 Apr 2010, to be submitted to
SISC.
<p/>
David Chin-lung Fong clfong@stanford.edu Institute for Computational and Mathematical
Engineering Stanford University
<p/>
Michael Saunders saunders@stanford.edu Systems Optimization Laboratory Dept of
MS&E, Stanford University. -----------------------------------------------------------------------</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#LSMR--">LSMR</a></span>()</code>
<div class="block">LSMR uses an iterative method to solve a linear system.</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getANorm--">getANorm</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getAtolerance--">getAtolerance</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getBtolerance--">getBtolerance</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getCondition--">getCondition</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getIterationCount--">getIterationCount</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getLambda--">getLambda</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getNormalEquationResidual--">getNormalEquationResidual</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getResidualNorm--">getResidualNorm</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>double</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#getXNorm--">getXNorm</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#setAtolerance-double-">setAtolerance</a></span>(double&nbsp;aTolerance)</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#setBtolerance-double-">setBtolerance</a></span>(double&nbsp;bTolerance)</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#setConditionLimit-double-">setConditionLimit</a></span>(double&nbsp;conditionLimit)</code>&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#setIterationLimit-int-">setIterationLimit</a></span>(int&nbsp;iterationLimit)</code>&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#setLocalSize-int-">setLocalSize</a></span>(int&nbsp;localSize)</code>&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/mahout/math/Vector.html" title="interface in org.apache.mahout.math">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/mahout/math/solver/LSMR.html#solve-org.apache.mahout.math.Matrix-org.apache.mahout.math.Vector-">solve</a></span>(<a href="../../../../../org/apache/mahout/math/Matrix.html" title="interface in org.apache.mahout.math">Matrix</a>&nbsp;A,
<a href="../../../../../org/apache/mahout/math/Vector.html" title="interface in org.apache.mahout.math">Vector</a>&nbsp;b)</code>&nbsp;</td>
</tr>
</table>
<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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</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="LSMR--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>LSMR</h4>
<pre>public&nbsp;LSMR()</pre>
<div class="block">LSMR uses an iterative method to solve a linear system. For further information, see D. C.-L.
Fong and M. A. Saunders LSMR: An iterative algorithm for least-square problems Draft of 03 Apr
2010, to be submitted to SISC.
<p/>
08 Dec 2009: First release version of LSMR. 09 Apr 2010: Updated documentation and default
parameters. 14 Apr 2010: Updated documentation. 03 Jun 2010: LSMR with local
reorthogonalization (full reorthogonalization is also implemented)
<p/>
David Chin-lung Fong clfong@stanford.edu Institute for Computational and
Mathematical Engineering Stanford University
<p/>
Michael Saunders saunders@stanford.edu Systems Optimization Laboratory Dept of
MS&E, Stanford University. -----------------------------------------------------------------------</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getIterationCount--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIterationCount</h4>
<pre>public&nbsp;int&nbsp;getIterationCount()</pre>
</li>
</ul>
<a name="getResidualNorm--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResidualNorm</h4>
<pre>public&nbsp;double&nbsp;getResidualNorm()</pre>
</li>
</ul>
<a name="getNormalEquationResidual--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getNormalEquationResidual</h4>
<pre>public&nbsp;double&nbsp;getNormalEquationResidual()</pre>
</li>
</ul>
<a name="getANorm--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getANorm</h4>
<pre>public&nbsp;double&nbsp;getANorm()</pre>
</li>
</ul>
<a name="getCondition--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCondition</h4>
<pre>public&nbsp;double&nbsp;getCondition()</pre>
</li>
</ul>
<a name="getXNorm--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getXNorm</h4>
<pre>public&nbsp;double&nbsp;getXNorm()</pre>
</li>
</ul>
<a name="solve-org.apache.mahout.math.Matrix-org.apache.mahout.math.Vector-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>solve</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/mahout/math/Vector.html" title="interface in org.apache.mahout.math">Vector</a>&nbsp;solve(<a href="../../../../../org/apache/mahout/math/Matrix.html" title="interface in org.apache.mahout.math">Matrix</a>&nbsp;A,
<a href="../../../../../org/apache/mahout/math/Vector.html" title="interface in org.apache.mahout.math">Vector</a>&nbsp;b)</pre>
</li>
</ul>
<a name="setAtolerance-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setAtolerance</h4>
<pre>public&nbsp;void&nbsp;setAtolerance(double&nbsp;aTolerance)</pre>
</li>
</ul>
<a name="setBtolerance-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setBtolerance</h4>
<pre>public&nbsp;void&nbsp;setBtolerance(double&nbsp;bTolerance)</pre>
</li>
</ul>
<a name="setConditionLimit-double-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setConditionLimit</h4>
<pre>public&nbsp;void&nbsp;setConditionLimit(double&nbsp;conditionLimit)</pre>
</li>
</ul>
<a name="setIterationLimit-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIterationLimit</h4>
<pre>public&nbsp;void&nbsp;setIterationLimit(int&nbsp;iterationLimit)</pre>
</li>
</ul>
<a name="setLocalSize-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLocalSize</h4>
<pre>public&nbsp;void&nbsp;setLocalSize(int&nbsp;localSize)</pre>
</li>
</ul>
<a name="getLambda--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLambda</h4>
<pre>public&nbsp;double&nbsp;getLambda()</pre>
</li>
</ul>
<a name="getAtolerance--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAtolerance</h4>
<pre>public&nbsp;double&nbsp;getAtolerance()</pre>
</li>
</ul>
<a name="getBtolerance--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getBtolerance</h4>
<pre>public&nbsp;double&nbsp;getBtolerance()</pre>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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/LSMR.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>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/mahout/math/solver/JacobiConditioner.html" title="class in org.apache.mahout.math.solver"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/mahout/math/solver/Preconditioner.html" title="interface in org.apache.mahout.math.solver"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/mahout/math/solver/LSMR.html" target="_top">Frames</a></li>
<li><a href="LSMR.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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>Field&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; 2008&#x2013;2017 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>