Documentation of 'jvx.numeric.PnConjugateGradientMatrix' Java class
PnConjugateGradientMatrix ("JavaView Reference Manual")
"JavaView? v5.03.003"
jvx.numeric

Class PnConjugateGradientMatrix

  • Direct Known Subclasses:
    PnBiconjugateGradient


    public class PnConjugateGradientMatrix
    extends java.lang.Object
    Solve symmetric sparse linear equation systems using preconditioned conjugate gradient method.
    Author:
    Jonas Hurrelmann
    Version:
    09.12.2010, 1.01 revised (fk) Removed unused field m_eps to avoid confusion with m_tol. 02.12.2005, 1.00 created (jh)
    • Constructor Detail

      • PnConjugateGradientMatrix

        public PnConjugateGradientMatrix()
        Constructor.
    • Method Detail

      • converged

        public boolean converged()
        Returns whether the residual norm is within the tolerance.
        Returns:
        true if convergence happened within tolerance.
      • setPreconditioner

        public void setPreconditioner(PnPreconditioner prec)
        Set the preconditioner to use for the conjugate gradient.
        Parameters:
        prec -
      • getPreconditioner

        public PnPreconditioner getPreconditioner()
        Set the preconditioner to use for the conjugate gradient.
      • getActualEstimatedError

        public double getActualEstimatedError()
        Get estimated error of last solve call.
      • getActualNumOfTakenIterations

        public int getActualNumOfTakenIterations()
        Get number of iterations used in last solve call.
      • setMaxNumIterations

        public void setMaxNumIterations(int itmax)
        Set maximum number of allowed iterations. Default value is 10000.
      • getMaxNumIterations

        public int getMaxNumIterations()
        Get maximum number of allowed iterations.
      • setTolerance

        public void setTolerance(double tol)
        Set desired convergence tolerance of solve.
      • getTolerance

        public double getTolerance()
        Get desired convergence tolerance of solve.
      • setDimension

        public void setDimension(int dim)
        Set dimension of surface matrix is based on. Coordinate vectors must have length equal dim*(dim of sparseMatrix).
      • getDimension

        public int getDimension()
        Get dimension.
      • setConvergenceTest

        public void setConvergenceTest(int aTest)
        There are four different methods used to measure the convergence of the solution of the linear equation in solve, the default is 1.

         
         1. |A*x-b|/|b|<tol<br>
         2. |Diag(A)^-1*x-b|/|Diag(A)^-1*b|<tol<br>
         With Diag(A) denoting the diagonal part of A.<br>
         3. This routine uses its own estimate of error in x, and
         requires its magnitude, divided by the magnitude of x, to
         be less than tol.<br>
         4. Same as 3., except that the largest (in absolute value)
         component of the error and the largest component of x are
         used instead of the vector magnitude.
         
      • getConvergenceTest

        public double getConvergenceTest()
        There are four different methods measure the convergence of the solution of the linear equation used in solve. Get the index of the method actually used.
        See Also:
        setConvergenceTest(int)
      • updatePreconditioner

        public void updatePreconditioner(PnSparseMatrix smat)
        When the sparse matrix to solve has changed update the preconditioner with this method.
      • solve

        public double solve(PnSparseMatrix smat,
                            PdVector x,
                            PdVector b)
        Performs a conjugate gradient on a sparse matrix to solve the linear system Ax = b. The matrix has to be square.
        Returns:
        size of residual
        Version:
        02.05.2008, 1.10 revised (fk) speedup. 02.12.2005, 1.00 created (jh)
"JavaView? v5.03.003"

"

The software JavaView? is copyright protected. All Rights Reserved.
"

You see the box below because you did not login.