Documentation of 'edu.rit.numeric.Tridiagonal' Java class
Tridiagonal
edu.rit.numeric

Class Tridiagonal



  • public class Tridiagonal
    extends java.lang.Object
    Class Tridiagonal provides static methods for solving tridiagonal systems of linear equations.

    The Java code was translated from routines gsl_linalg_solve_tridiag(), gsl_linalg_solve_symm_tridiag(), gsl_linalg_solve_cyc_tridiag(), and gsl_linalg_solve_symm_cyc_tridiag() in the GNU Scientific Library Version 1.9.

    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static void solve(double[] d, double[] e, double[] f, double[] b, double[] x)
      Solve the given tridiagonal system of linear equations.
      static void solveCyclic(double[] d, double[] e, double[] f, double[] b, double[] x)
      Solve the given cyclic tridiagonal system of linear equations.
      static void solveSymmetric(double[] d, double[] e, double[] b, double[] x)
      Solve the given symmetric tridiagonal system of linear equations.
      static void solveSymmetricCyclic(double[] d, double[] e, double[] b, double[] x)
      Solve the given symmetric cyclic tridiagonal system of linear equations.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • solve

        public static void solve(double[] d,
                                 double[] e,
                                 double[] f,
                                 double[] b,
                                 double[] x)
        Solve the given tridiagonal system of linear equations. This method solves the general N-by-N system Ax = b where A is tridiagonal (N >= 2). The form of A for the 4-by-4 case is:
             [ d0  e0  0   0  ]
         A = [ f0  d1  e1  0  ]
             [ 0   f1  d2  e2 ]
             [ 0   0   f2  d3 ]
         
        Parameters:
        d - (input) Vector of diagonal elements. Length N must be >= 2.
        e - (input) Vector of super-diagonal elements. Length must be N-1.
        f - (input) Vector of sub-diagonal elements. Length must be N-1.
        b - (input) Vector of right hand side elements. Length must be N.
        x - (output) Solution vector. Length must be N.
        Throws:
        java.lang.NullPointerException - (unchecked exception) Thrown if any argument is null.
        java.lang.IllegalArgumentException - (unchecked exception) Thrown if any argument is the wrong length.
        DomainException - (unchecked exception) Thrown if the linear system cannot be solved.
      • solveSymmetric

        public static void solveSymmetric(double[] d,
                                          double[] e,
                                          double[] b,
                                          double[] x)
        Solve the given symmetric tridiagonal system of linear equations. This method solves the general N-by-N system Ax = b where A is symmetric tridiagonal (N >= 2). The form of A for the 4-by-4 case is:
             [ d0  e0  0   0  ]
         A = [ e0  d1  e1  0  ]
             [ 0   e1  d2  e2 ]
             [ 0   0   e2  d3 ]
         
        Parameters:
        d - (input) Vector of diagonal elements. Length N must be >= 2.
        e - (input) Vector of off-diagonal elements. Length must be N-1.
        b - (input) Vector of right hand side elements. Length must be N.
        x - (output) Solution vector. Length must be N.
        Throws:
        java.lang.NullPointerException - (unchecked exception) Thrown if any argument is null.
        java.lang.IllegalArgumentException - (unchecked exception) Thrown if any argument is the wrong length.
        DomainException - (unchecked exception) Thrown if the linear system cannot be solved.
      • solveCyclic

        public static void solveCyclic(double[] d,
                                       double[] e,
                                       double[] f,
                                       double[] b,
                                       double[] x)
        Solve the given cyclic tridiagonal system of linear equations. This method solves the general N-by-N system Ax = b where A is cyclic tridiagonal (N >= 3). The form of A for the 4-by-4 case is:
             [ d0  e0  0   f3 ]
         A = [ f0  d1  e1  0  ]
             [ 0   f1  d2  e2 ]
             [ e3  0   f2  d3 ]
         
        Parameters:
        d - (input) Vector of diagonal elements. Length N must be >= 3.
        e - (input) Vector of super-diagonal elements. Length must be N.
        f - (input) Vector of sub-diagonal elements. Length must be N.
        b - (input) Vector of right hand side elements. Length must be N.
        x - (output) Solution vector. Length must be N.
        Throws:
        java.lang.NullPointerException - (unchecked exception) Thrown if any argument is null.
        java.lang.IllegalArgumentException - (unchecked exception) Thrown if any argument is the wrong length.
        DomainException - (unchecked exception) Thrown if the linear system cannot be solved.
      • solveSymmetricCyclic

        public static void solveSymmetricCyclic(double[] d,
                                                double[] e,
                                                double[] b,
                                                double[] x)
        Solve the given symmetric cyclic tridiagonal system of linear equations. This method solves the general N-by-N system Ax = b where A is symmetric cyclic tridiagonal (N >= 3). The form of A for the 4-by-4 case is:
             [ d0  e0  0   e3 ]
         A = [ e0  d1  e1  0  ]
             [ 0   e1  d2  e2 ]
             [ e3  0   e2  d3 ]
         
        Parameters:
        d - (input) Vector of diagonal elements. Length N must be >= 3.
        e - (input) Vector of off-diagonal elements. Length must be N.
        b - (input) Vector of right hand side elements. Length must be N.
        x - (output) Solution vector. Length must be N.
        Throws:
        java.lang.NullPointerException - (unchecked exception) Thrown if any argument is null.
        java.lang.IllegalArgumentException - (unchecked exception) Thrown if any argument is the wrong length.
        DomainException - (unchecked exception) Thrown if the linear system cannot be solved.

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.