Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.netlib.blas
Class DSYR2K

    java.lang.Object
      org.netlib.blas.DSYR2K

    public class DSYR2K

extends java.lang.Object

    DSYR2K is a simplified interface to the JLAPACK routine dsyr2k.
    This interface converts Java-style 2D row-major arrays into
    the 1D column-major 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
     *  =======
     *
     *  DSYR2K  performs one of the symmetric rank 2k operations
     *
     *     C := alpha*A*B' + alpha*B*A' + beta*C,
     *
     *  or
     *
     *     C := alpha*A'*B + alpha*B'*A + beta*C,
     *
     *  where  alpha and beta  are scalars, C is an  n by n  symmetric matrix
     *  and  A and B  are  n by k  matrices  in the  first  case  and  k by n
     *  matrices in the second case.
     *
     *  Arguments
     *  ==========
     *
     *  UPLO   - CHARACTER*1.
     *           On  entry,   UPLO  specifies  whether  the  upper  or  lower
     *           triangular  part  of the  array  C  is to be  referenced  as
     *           follows:
     *
     *              UPLO = 'U' or 'u'   Only the  upper triangular part of  C
     *                                  is to be referenced.
     *
     *              UPLO = 'L' or 'l'   Only the  lower triangular part of  C
     *                                  is to be referenced.
     *
     *           Unchanged on exit.
     *
     *  TRANS  - CHARACTER*1.
     *           On entry,  TRANS  specifies the operation to be performed as
     *           follows:
     *
     *              TRANS = 'N' or 'n'   C := alpha*A*B' + alpha*B*A' +
     *                                        beta*C.
     *
     *              TRANS = 'T' or 't'   C := alpha*A'*B + alpha*B'*A +
     *                                        beta*C.
     *
     *              TRANS = 'C' or 'c'   C := alpha*A'*B + alpha*B'*A +
     *                                        beta*C.
     *
     *           Unchanged on exit.
     *
     *  N      - INTEGER.
     *           On entry,  N specifies the order of the matrix C.  N must be
     *           at least zero.
     *           Unchanged on exit.
     *
     *  K      - INTEGER.
     *           On entry with  TRANS = 'N' or 'n',  K  specifies  the number
     *           of  columns  of the  matrices  A and B,  and on  entry  with
     *           TRANS = 'T' or 't' or 'C' or 'c',  K  specifies  the  number
     *           of rows of the matrices  A and B.  K must be at least  zero.
     *           Unchanged on exit.
     *
     *  ALPHA  - DOUBLE PRECISION.
     *           On entry, ALPHA specifies the scalar alpha.
     *           Unchanged on exit.
     *
     *  A      - DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is
     *           k  when  TRANS = 'N' or 'n',  and is  n  otherwise.
     *           Before entry with  TRANS = 'N' or 'n',  the  leading  n by k
     *           part of the array  A  must contain the matrix  A,  otherwise
     *           the leading  k by n  part of the array  A  must contain  the
     *           matrix A.
     *           Unchanged on exit.
     *
     *  LDA    - INTEGER.
     *           On entry, LDA specifies the first dimension of A as declared
     *           in  the  calling  (sub)  program.   When  TRANS = 'N' or 'n'
     *           then  LDA must be at least  max( 1, n ), otherwise  LDA must
     *           be at least  max( 1, k ).
     *           Unchanged on exit.
     *
     *  B      - DOUBLE PRECISION array of DIMENSION ( LDB, kb ), where kb is
     *           k  when  TRANS = 'N' or 'n',  and is  n  otherwise.
     *           Before entry with  TRANS = 'N' or 'n',  the  leading  n by k
     *           part of the array  B  must contain the matrix  B,  otherwise
     *           the leading  k by n  part of the array  B  must contain  the
     *           matrix B.
     *           Unchanged on exit.
     *
     *  LDB    - INTEGER.
     *           On entry, LDB specifies the first dimension of B as declared
     *           in  the  calling  (sub)  program.   When  TRANS = 'N' or 'n'
     *           then  LDB must be at least  max( 1, n ), otherwise  LDB must
     *           be at least  max( 1, k ).
     *           Unchanged on exit.
     *
     *  BETA   - DOUBLE PRECISION.
     *           On entry, BETA specifies the scalar beta.
     *           Unchanged on exit.
     *
     *  C      - DOUBLE PRECISION array of DIMENSION ( LDC, n ).
     *           Before entry  with  UPLO = 'U' or 'u',  the leading  n by n

     *           upper triangular part of the array C must contain the upper

     *           triangular part  of the  symmetric matrix  and the strictly

     *           lower triangular part of C is not referenced.  On exit, the

     *           upper triangular part of the array  C is overwritten by the

     *           upper triangular part of the updated matrix.
     *           Before entry  with  UPLO = 'L' or 'l',  the leading  n by n

     *           lower triangular part of the array C must contain the lower

     *           triangular part  of the  symmetric matrix  and the strictly

     *           upper triangular part of C is not referenced.  On exit, the

     *           lower triangular part of the array  C is overwritten by the

     *           lower triangular part of the updated matrix.
     *
     *  LDC    - INTEGER.
     *           On entry, LDC specifies the first dimension of C as declared
     *           in  the  calling  (sub)  program.   LDC  must  be  at  least
     *           max( 1, n ).
     *           Unchanged on exit.
     *
     *
     *  Level 3 Blas routine.
     *
     *
     *  -- Written on 8-February-1989.
     *     Jack Dongarra, Argonne National Laboratory.
     *     Iain Duff, AERE Harwell.
     *     Jeremy Du Croz, Numerical Algorithms Group Ltd.
     *     Sven Hammarling, Numerical Algorithms Group Ltd.
     *
     *
     *     .. External Functions ..

Constructor Summary
`DSYR2K()`

Method Summary
`static void` | `DSYR2K(java.lang.String uplo, java.lang.String trans, int n, int k, double alpha, double[][] a, double[][] b, double beta, double[][] c)`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DSYR2K

    public DSYR2K()

Method Detail

### DSYR2K

    public static void DSYR2K(java.lang.String uplo,
                              java.lang.String trans,
                              int n,
                              int k,
                              double alpha,
                              double[][] a,
                              double[][] b,
                              double beta,
                              double[][] c)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD