org.netlib.lapack
Class SLASYF
java.lang.Object
org.netlib.lapack.SLASYF
public class SLASYF
 extends java.lang.Object
SLASYF is a simplified interface to the JLAPACK routine slasyf.
This interface converts Javastyle 2D rowmajor arrays into
the 1D columnmajor linearized arrays expected by the lower
level JLAPACK routines. Using this interface also allows you
to omit offset and leading dimension arguments. However, because
of these conversions, these routines will be slower than the low
level ones. Following is the description from the original Fortran
source. Contact seymour@cs.utk.edu with any questions.
* ..
*
* Purpose
* =======
*
* SLASYF computes a partial factorization of a real symmetric matrix A
* using the BunchKaufman diagonal pivoting method. The partial
* factorization has the form:
*
* A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or:
* ( 0 U22 ) ( 0 D ) ( U12' U22' )
*
* A = ( L11 0 ) ( D 0 ) ( L11' L21' ) if UPLO = 'L'
* ( L21 I ) ( 0 A22 ) ( 0 I )
*
* where the order of D is at most NB. The actual order is returned in
* the argument KB, and is either NB or NB1, or N if N <= NB.
*
* SLASYF is an auxiliary routine called by SSYTRF. It uses blocked code
* (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or
* A22 (if UPLO = 'L').
*
* Arguments
* =========
*
* UPLO (input) CHARACTER*1
* Specifies whether the upper or lower triangular part of the
* symmetric matrix A is stored:
* = 'U': Upper triangular
* = 'L': Lower triangular
*
* N (input) INTEGER
* The order of the matrix A. N >= 0.
*
* NB (input) INTEGER
* The maximum number of columns of the matrix A that should be
* factored. NB should be at least 2 to allow for 2by2 pivot
* blocks.
*
* KB (output) INTEGER
* The number of columns of A that were actually factored.
* KB is either NB1 or NB, or N if N <= NB.
*
* A (input/output) REAL array, dimension (LDA,N)
* On entry, the symmetric matrix A. If UPLO = 'U', the leading
* nbyn upper triangular part of A contains the upper
* triangular part of the matrix A, and the strictly lower
* triangular part of A is not referenced. If UPLO = 'L', the
* leading nbyn lower triangular part of A contains the lower
* triangular part of the matrix A, and the strictly upper
* triangular part of A is not referenced.
* On exit, A contains details of the partial factorization.
*
* LDA (input) INTEGER
* The leading dimension of the array A. LDA >= max(1,N).
*
* IPIV (output) INTEGER array, dimension (N)
* Details of the interchanges and the block structure of D.
* If UPLO = 'U', only the last KB elements of IPIV are set;
* if UPLO = 'L', only the first KB elements are set.
*
* If IPIV(k) > 0, then rows and columns k and IPIV(k) were
* interchanged and D(k,k) is a 1by1 diagonal block.
* If UPLO = 'U' and IPIV(k) = IPIV(k1) < 0, then rows and
* columns k1 and IPIV(k) were interchanged and D(k1:k,k1:k)
* is a 2by2 diagonal block. If UPLO = 'L' and IPIV(k) =
* IPIV(k+1) < 0, then rows and columns k+1 and IPIV(k) were
* interchanged and D(k:k+1,k:k+1) is a 2by2 diagonal block.
*
* W (workspace) REAL array, dimension (LDW,NB)
*
* LDW (input) INTEGER
* The leading dimension of the array W. LDW >= max(1,N).
*
* INFO (output) INTEGER
* = 0: successful exit
* > 0: if INFO = k, D(k,k) is exactly zero. The factorization
* has been completed, but the block diagonal matrix D is
* exactly singular.
*
* =====================================================================
*
* .. Parameters ..
Method Summary 
static void 
SLASYF(java.lang.String uplo,
int n,
int nb,
intW kb,
float[][] a,
int[] ipiv,
float[][] w,
intW info)

Methods inherited from class java.lang.Object 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
SLASYF
public SLASYF()
SLASYF
public static void SLASYF(java.lang.String uplo,
int n,
int nb,
intW kb,
float[][] a,
int[] ipiv,
float[][] w,
intW info)