Documentation of 'jdistlib.math.LinPack' Java class
LinPack
jdistlib.math

Class LinPack



  • public class LinPack
    extends java.lang.Object

    Routines that I took from LINPACK library. So far, only dpbfa and dpbsl are taken. I hand-translated them from FORTRAN. I don't change the method names, just in case if you people are familiar with it already. Also, please pay attention to the parameter names. I removed all superfluous indices.

    See: http://www.netlib.org/linpack/

    • Constructor Summary

      Constructors 
      Constructor and Description
      LinPack() 
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method and Description
      static int dpbfa(double[][] abd, int m)
      dpbfa factors a double precision symmetric positive definite matrix stored in band form.
      static void dpbsl(double[][] abd, int m, double[] b)
      dpbsl solves the double precision symmetric positive definite band system a*x = b using the factors computed by dpbco or dpbfa.
      • Methods inherited from class java.lang.Object

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

      • LinPack

        public LinPack()
    • Method Detail

      • dpbsl

        public static final void dpbsl(double[][] abd,
                                       int m,
                                       double[] b)

        dpbsl solves the double precision symmetric positive definite band system a*x = b using the factors computed by dpbco or dpbfa.

        (Taken from LINPACK_D)

        on entry

        Parameters:
        abd - double precision(lda, n), the output from dpbco or dpbfa.
        lda - integer, the leading dimension of the array abd
        n - integer, the order of the matrix a
        m - integer, the number of diagonals above the main diagonal.
        b - double precision(n), the right hand side vector.

        On return

        abd - Banded matrix.
        m - Band width
        b - the Y vector. Holds the output after the routine ends.
      • dpbfa

        public static final int dpbfa(double[][] abd,
                                      int m)

        dpbfa factors a double precision symmetric positive definite matrix stored in band form.

        dpbfa is usually called by dpbco, but it can be called directly with a saving in time if rcond is not needed.

        (Taken from LINPACK_D)

         on entry
         abd     double precision(lda, n)
                 the matrix to be factored.  the columns of the upper
                 triangle are stored in the columns of abd and the
                 diagonals of the upper triangle are stored in the
                 rows of abd .  see the comments below for details.
         
         lda     integer
                 the leading dimension of the array abd. lda must be >= m + 1
         
         n       integer
                 the order of the matrix  a .
         
         m       integer
                 the number of diagonals above the main diagonal. 0 <= m < n
         
         on return
         abd     an upper triangular matrix  r , stored in band form, so that a = trans(r)*r .
         info    integer
                 = 0  for normal return.
                 = k  if the leading minor of order  k  is not positive definite.
         
         band storage
         if  a  is a symmetric positive definite band matrix,
         the following program segment will set up the input.
             m = (band width above diagonal)
             do 20 j = 1, n
                i1 = max0(1, j-m)
                do 10 i = i1, j
                   k = i-j+m+1
                   abd(k,j) = a(i,j)
                10    continue
             20 continue
         linpack.  this version dated 08/14/78 .
         cleve moler, university of new mexico, argonne national lab.
         begin block with ...exits to 40
         
        Parameters:
        abd - Banded matrix
        m - Band width

DMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.