Author: celestin Date: Tue Mar 27 05:41:58 2012 New Revision: 1305734 URL: http://svn.apache.org/viewvc?rev=1305734&view=rev Log: Javadoc Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/SymmLQ.java Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/SymmLQ.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/SymmLQ.java?rev=1305734&r1=1305733&r2=1305734&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/SymmLQ.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math3/linear/SymmLQ.java Tue Mar 27 05:41:58 2012 @@ -50,17 +50,33 @@ import org.apache.commons.math3.util.Mat *

*

### Preconditioning

*

- * Preconditioning may reduce the number of iterations required. The solver may be - * provided with a positive definite preconditioner M = C · CT - * that is known to approximate (A - shift · I) in some sense, where - * systems of the form M · y = x can be solved efficiently. Then SYMMLQ - * will implicitly solve the system of equations P · (A - shift · - * I) · PT · xhat = P · b, i.e. Ahat · - * xhat = bhat, where P = C-1, Ahat = P · (A - shift · - * I) · PT, bhat = P · b, and return the solution x = - * PT · xhat. The associated residual is rhat = bhat - Ahat - * · xhat = P · [b - (A - shift · I) · x] = P - * · r. + * Preconditioning may reduce the number of iterations required. The solver may + * be provided with a positive definite preconditioner + * M = C · CT + * that is known to approximate + * (A - shift · I) in some sense, where systems of the form + * M · y = x + * can be solved efficiently. Then SYMMLQ will implicitly solve the system of + * equations + * P · (A - shift · I) · PT · + * xhat = P · b, i.e. + * Ahat · xhat = bhat, + * where P = C-1, + * Ahat = P · (A - shift · I) · PT, + * bhat = P · b, + * and return the solution + * x = PT · xhat. + * The associated residual is + * rhat = bhat - Ahat · xhat + * = P · [b - (A - shift · I) · x] + * = P · r. + *

+ *

+ * In the case of preconditioning, the {@link IterativeLinearSolverEvent}s that + * this solver throws are such that + * {@link IterativeLinearSolverEvent#getNormOfResidual()} returns the norm of + * the preconditioned, updated residual, ||P · r||, not the norm + * of the true residual ||r||. *

*

### Default stopping criterion

*

@@ -475,9 +491,15 @@ public class SymmLQ } /** + *

* Move to the CG point if it seems better. In this version of SYMMLQ, * the convergence tests involve only cgnorm, so we're unlikely to stop * at an LQ point, except if the iteration limit interferes. + *

+ *

+ * Additional upudates are also carried out in case {@code goodb} is set + * to {@code true}. + *

* * @param x the vector to be updated with the refined value of xL */