linear_algebra
Class SVDC_f77

java.lang.Object
  |
  +--linear_algebra.SVDC_f77

public class SVDC_f77
extends java.lang.Object

This class contains the LINPACK DSVDC (singular value decomposition) routine.

IMPORTANT: The "_f77" suffixes indicate that these routines use FORTRAN style indexing. For example, you will see

   for (i = 1; i <= n; i++)
rather than
   for (i = 0; i < n; i++)
To use the "_f77" routines you will have to declare your vectors and matrices to be one element larger (e.g., v[101] rather than v[100], and a[101][101] rather than a[100][100]), and you will have to fill elements 1 through n rather than elements 0 through n - 1. Versions of these programs that use C/Java style indexing will soon be available. They will end with the suffix "_j".

This class was translated by a statistician from FORTRAN versions of the LINPACK routines. It is NOT an official translation. It wastes memory by failing to use the first elements of vectors. When public domain Java numerical analysis routines become available from the people who produce LAPACK, then THE CODE PRODUCED BY THE NUMERICAL ANALYSTS SHOULD BE USED.

Meanwhile, if you have suggestions for improving this code, please contact Steve Verrill at steve@ws10.fpl.fs.fed.us.


Constructor Summary
SVDC_f77()
           
 
Method Summary
static void dsvdc_f77(double[][] x, int n, int p, double[] s, double[] e, double[][] u, double[][] v, double[] work, int job)
           This method decomposes a n by p matrix X into a product UDV´ where ...
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SVDC_f77

public SVDC_f77()
Method Detail

dsvdc_f77

public static void dsvdc_f77(double[][] x,
                             int n,
                             int p,
                             double[] s,
                             double[] e,
                             double[][] u,
                             double[][] v,
                             double[] work,
                             int job)
                      throws SVDCException

This method decomposes a n by p matrix X into a product UDV´ where ... For details, see the comments in the code. This method is a translation from FORTRAN to Java of the LINPACK subroutine DSVDC. In the LINPACK listing DSVDC is attributed to G.W. Stewart with a date of 3/19/79. Translated by Steve Verrill, March 3, 1997.

Parameters:
x - The matrix to be decomposed
n - The number of rows of X
p - The number of columns of X
s - The singular values of X
e - See the documentation in the code
u - The left singular vectors
v - The right singular vectors
work - A work array
job - See the documentation in the code
SVDCException