Package org.jblas

Class NativeBlas

java.lang.Object
org.jblas.NativeBlas

public class NativeBlas extends Object
Native BLAS and LAPACK functions.

The NativeBlas class contains the native BLAS and LAPACK functions. Each Fortran function is mapped to a static method of this class. For each array argument, an additional parameter is introduced which gives the offset from the beginning of the passed array. In C, you would be able to pass a different pointer, but in Java, you can only pass the whole array.

Note that due to the way the JNI is usually implemented, the arrays are first copied outside of the JVM before the function is called. This means that functions whose runtime is linear in the amount of memory do usually not run faster just because you are using a native implementation. This holds true for most Level 1 BLAS routines (like vector addition), and unfortunately also for most Level 2 BLAS routines (like matrix-vector multiplication). For these, there exists a class JavaBlas which contains Java implementations.

In LAPACK, there exist routines which require workspace to be allocated together with a standard procedure for computing the size of these workspaces. jblas automatically also generates wrappers for these routines with automatic workspace allocation. These routines have the same name, but the workspace arguments are removed.

Finally, an example: The fortran routine

 SUBROUTINE DAXPY(N,DA,DX,INCX,DY,INCY)
     DOUBLE PRECISION DA
     INTEGER INCX,INCY,N
     DOUBLE PRECISION DX(*),DY(*)
 
becomes
 public static native void daxpy(int n, double da, double[] dx, int dxIdx,
    int incx, double[] dy, int dyIdx, int incy);
 
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    caxpy(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
     
    static void
    ccopy(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
     
    cdotc(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
     
    cdotu(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
     
    static int
    cgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr, float[] rwork, int rworkIdx)
     
    static int
    cgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr, float[] work, int workIdx, int lwork, float[] rwork, int rworkIdx)
     
    static void
    cgemm(char transa, char transb, int m, int n, int k, ComplexFloat alpha, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, ComplexFloat beta, float[] c, int cIdx, int ldc)
     
    static void
    cgemv(char trans, int m, int n, ComplexFloat alpha, float[] a, int aIdx, int lda, float[] x, int xIdx, int incx, ComplexFloat beta, float[] y, int yIdx, int incy)
     
    static void
    cgerc(int m, int n, ComplexFloat alpha, float[] x, int xIdx, int incx, float[] y, int yIdx, int incy, float[] a, int aIdx, int lda)
     
    static void
    cgeru(int m, int n, ComplexFloat alpha, float[] x, int xIdx, int incx, float[] y, int yIdx, int incy, float[] a, int aIdx, int lda)
     
    static int
    cgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt, float[] rwork, int rworkIdx)
     
    static int
    cgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt, float[] work, int workIdx, int lwork, float[] rwork, int rworkIdx)
     
    static void
    cscal(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx)
     
    static void
    csscal(int n, float sa, float[] cx, int cxIdx, int incx)
     
    static void
    cswap(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
     
    static double
    dasum(int n, double[] dx, int dxIdx, int incx)
     
    static void
    daxpy(int n, double da, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
     
    static void
    dcopy(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
     
    static double
    ddot(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
     
    static int
    dgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] wr, int wrIdx, double[] wi, int wiIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr)
     
    static int
    dgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] wr, int wrIdx, double[] wi, int wiIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr, double[] work, int workIdx, int lwork)
     
    static int
    dgelsd(int m, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] s, int sIdx, double rcond, int[] rank, int rankIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx)
     
    static int
    dgelsd(int m, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] s, int sIdx, double rcond, int[] rank, int rankIdx, int[] iwork, int iworkIdx)
     
    static void
    dgemm(char transa, char transb, int m, int n, int k, double alpha, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double beta, double[] c, int cIdx, int ldc)
     
    static void
    dgemv(char trans, int m, int n, double alpha, double[] a, int aIdx, int lda, double[] x, int xIdx, int incx, double beta, double[] y, int yIdx, int incy)
     
    static int
    dgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx)
     
    static int
    dgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork)
     
    static void
    dger(int m, int n, double alpha, double[] x, int xIdx, int incx, double[] y, int yIdx, int incy, double[] a, int aIdx, int lda)
     
    static int
    dgesv(int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb)
     
    static int
    dgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt)
     
    static int
    dgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt, double[] work, int workIdx, int lwork)
     
    static int
    dgetrf(int m, int n, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx)
     
    static double
    dnrm2(int n, double[] x, int xIdx, int incx)
     
    static int
    dorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx)
     
    static int
    dorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork)
     
    static int
    dormqr(char side, char trans, int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] c, int cIdx, int ldc)
     
    static int
    dormqr(char side, char trans, int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] c, int cIdx, int ldc, double[] work, int workIdx, int lwork)
     
    static int
    dposv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb)
     
    static int
    dpotrf(char uplo, int n, double[] a, int aIdx, int lda)
     
    static void
    dscal(int n, double da, double[] dx, int dxIdx, int incx)
     
    static void
    dswap(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
     
    static int
    dsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx)
     
    static int
    dsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] work, int workIdx, int lwork)
     
    static int
    dsyevd(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx)
     
    static int
    dsyevd(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
     
    static int
    dsyevr(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx)
     
    static int
    dsyevr(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
     
    static int
    dsyevx(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    dsyevx(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    dsygvd(int itype, char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] w, int wIdx)
     
    static int
    dsygvd(int itype, char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] w, int wIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
     
    static int
    dsygvx(int itype, char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    dsygvx(int itype, char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    dsysv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb)
     
    static int
    dsysv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb, double[] work, int workIdx, int lwork)
     
    static double
    dzasum(int n, double[] zx, int zxIdx, int incx)
     
    static double
    dznrm2(int n, double[] x, int xIdx, int incx)
     
    static int
    icamax(int n, float[] cx, int cxIdx, int incx)
     
    static int
    idamax(int n, double[] dx, int dxIdx, int incx)
     
    static int
    ilaenv(int ispec, String name, String opts, int n1, int n2, int n3, int n4)
     
    static int
    isamax(int n, float[] sx, int sxIdx, int incx)
     
    static int
    izamax(int n, double[] zx, int zxIdx, int incx)
     
    static float
    sasum(int n, float[] sx, int sxIdx, int incx)
     
    static void
    saxpy(int n, float sa, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
     
    static float
    scasum(int n, float[] cx, int cxIdx, int incx)
     
    static float
    scnrm2(int n, float[] x, int xIdx, int incx)
     
    static void
    scopy(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
     
    static float
    sdot(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
     
    static int
    sgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] wr, int wrIdx, float[] wi, int wiIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr)
     
    static int
    sgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] wr, int wrIdx, float[] wi, int wiIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr, float[] work, int workIdx, int lwork)
     
    static int
    sgelsd(int m, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] s, int sIdx, float rcond, int[] rank, int rankIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx)
     
    static int
    sgelsd(int m, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] s, int sIdx, float rcond, int[] rank, int rankIdx, int[] iwork, int iworkIdx)
     
    static void
    sgemm(char transa, char transb, int m, int n, int k, float alpha, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float beta, float[] c, int cIdx, int ldc)
     
    static void
    sgemv(char trans, int m, int n, float alpha, float[] a, int aIdx, int lda, float[] x, int xIdx, int incx, float beta, float[] y, int yIdx, int incy)
     
    static int
    sgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx)
     
    static int
    sgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork)
     
    static void
    sger(int m, int n, float alpha, float[] x, int xIdx, int incx, float[] y, int yIdx, int incy, float[] a, int aIdx, int lda)
     
    static int
    sgesv(int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb)
     
    static int
    sgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt)
     
    static int
    sgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt, float[] work, int workIdx, int lwork)
     
    static int
    sgetrf(int m, int n, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx)
     
    static float
    snrm2(int n, float[] x, int xIdx, int incx)
     
    static int
    sorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx)
     
    static int
    sorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork)
     
    static int
    sormqr(char side, char trans, int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] c, int cIdx, int ldc)
     
    static int
    sormqr(char side, char trans, int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] c, int cIdx, int ldc, float[] work, int workIdx, int lwork)
     
    static int
    sposv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb)
     
    static int
    spotrf(char uplo, int n, float[] a, int aIdx, int lda)
     
    static void
    sscal(int n, float sa, float[] sx, int sxIdx, int incx)
     
    static void
    sswap(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
     
    static int
    ssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx)
     
    static int
    ssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] work, int workIdx, int lwork)
     
    static int
    ssyevd(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx)
     
    static int
    ssyevd(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
     
    static int
    ssyevr(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx)
     
    static int
    ssyevr(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
     
    static int
    ssyevx(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    ssyevx(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    ssygvd(int itype, char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] w, int wIdx)
     
    static int
    ssygvd(int itype, char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] w, int wIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
     
    static int
    ssygvx(int itype, char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    ssygvx(int itype, char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
     
    static int
    ssysv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb)
     
    static int
    ssysv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb, float[] work, int workIdx, int lwork)
     
    static void
    zaxpy(int n, ComplexDouble za, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
     
    static void
    zcopy(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
     
    zdotc(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
     
    zdotu(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
     
    static void
    zdscal(int n, double da, double[] zx, int zxIdx, int incx)
     
    static int
    zgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr, double[] rwork, int rworkIdx)
     
    static int
    zgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr, double[] work, int workIdx, int lwork, double[] rwork, int rworkIdx)
     
    static void
    zgemm(char transa, char transb, int m, int n, int k, ComplexDouble alpha, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, ComplexDouble beta, double[] c, int cIdx, int ldc)
     
    static void
    zgemv(char trans, int m, int n, ComplexDouble alpha, double[] a, int aIdx, int lda, double[] x, int xIdx, int incx, ComplexDouble beta, double[] y, int yIdx, int incy)
     
    static void
    zgerc(int m, int n, ComplexDouble alpha, double[] x, int xIdx, int incx, double[] y, int yIdx, int incy, double[] a, int aIdx, int lda)
     
    static void
    zgeru(int m, int n, ComplexDouble alpha, double[] x, int xIdx, int incx, double[] y, int yIdx, int incy, double[] a, int aIdx, int lda)
     
    static int
    zgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt, double[] rwork, int rworkIdx)
     
    static int
    zgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt, double[] work, int workIdx, int lwork, double[] rwork, int rworkIdx)
     
    static void
    zscal(int n, ComplexDouble za, double[] zx, int zxIdx, int incx)
     
    static void
    zswap(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • ccopy

      public static void ccopy(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
    • dcopy

      public static void dcopy(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
    • scopy

      public static void scopy(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
    • zcopy

      public static void zcopy(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
    • cswap

      public static void cswap(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
    • dswap

      public static void dswap(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
    • sswap

      public static void sswap(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
    • zswap

      public static void zswap(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
    • caxpy

      public static void caxpy(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
    • daxpy

      public static void daxpy(int n, double da, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
    • saxpy

      public static void saxpy(int n, float sa, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
    • zaxpy

      public static void zaxpy(int n, ComplexDouble za, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
    • cscal

      public static void cscal(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx)
    • dscal

      public static void dscal(int n, double da, double[] dx, int dxIdx, int incx)
    • sscal

      public static void sscal(int n, float sa, float[] sx, int sxIdx, int incx)
    • zscal

      public static void zscal(int n, ComplexDouble za, double[] zx, int zxIdx, int incx)
    • csscal

      public static void csscal(int n, float sa, float[] cx, int cxIdx, int incx)
    • zdscal

      public static void zdscal(int n, double da, double[] zx, int zxIdx, int incx)
    • cdotc

      public static ComplexFloat cdotc(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
    • cdotu

      public static ComplexFloat cdotu(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
    • ddot

      public static double ddot(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
    • sdot

      public static float sdot(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
    • zdotc

      public static ComplexDouble zdotc(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
    • zdotu

      public static ComplexDouble zdotu(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
    • dnrm2

      public static double dnrm2(int n, double[] x, int xIdx, int incx)
    • dznrm2

      public static double dznrm2(int n, double[] x, int xIdx, int incx)
    • scnrm2

      public static float scnrm2(int n, float[] x, int xIdx, int incx)
    • snrm2

      public static float snrm2(int n, float[] x, int xIdx, int incx)
    • dasum

      public static double dasum(int n, double[] dx, int dxIdx, int incx)
    • dzasum

      public static double dzasum(int n, double[] zx, int zxIdx, int incx)
    • sasum

      public static float sasum(int n, float[] sx, int sxIdx, int incx)
    • scasum

      public static float scasum(int n, float[] cx, int cxIdx, int incx)
    • icamax

      public static int icamax(int n, float[] cx, int cxIdx, int incx)
    • idamax

      public static int idamax(int n, double[] dx, int dxIdx, int incx)
    • isamax

      public static int isamax(int n, float[] sx, int sxIdx, int incx)
    • izamax

      public static int izamax(int n, double[] zx, int zxIdx, int incx)
    • cgemv

      public static void cgemv(char trans, int m, int n, ComplexFloat alpha, float[] a, int aIdx, int lda, float[] x, int xIdx, int incx, ComplexFloat beta, float[] y, int yIdx, int incy)
    • dgemv

      public static void dgemv(char trans, int m, int n, double alpha, double[] a, int aIdx, int lda, double[] x, int xIdx, int incx, double beta, double[] y, int yIdx, int incy)
    • sgemv

      public static void sgemv(char trans, int m, int n, float alpha, float[] a, int aIdx, int lda, float[] x, int xIdx, int incx, float beta, float[] y, int yIdx, int incy)
    • zgemv

      public static void zgemv(char trans, int m, int n, ComplexDouble alpha, double[] a, int aIdx, int lda, double[] x, int xIdx, int incx, ComplexDouble beta, double[] y, int yIdx, int incy)
    • cgerc

      public static void cgerc(int m, int n, ComplexFloat alpha, float[] x, int xIdx, int incx, float[] y, int yIdx, int incy, float[] a, int aIdx, int lda)
    • cgeru

      public static void cgeru(int m, int n, ComplexFloat alpha, float[] x, int xIdx, int incx, float[] y, int yIdx, int incy, float[] a, int aIdx, int lda)
    • dger

      public static void dger(int m, int n, double alpha, double[] x, int xIdx, int incx, double[] y, int yIdx, int incy, double[] a, int aIdx, int lda)
    • sger

      public static void sger(int m, int n, float alpha, float[] x, int xIdx, int incx, float[] y, int yIdx, int incy, float[] a, int aIdx, int lda)
    • zgerc

      public static void zgerc(int m, int n, ComplexDouble alpha, double[] x, int xIdx, int incx, double[] y, int yIdx, int incy, double[] a, int aIdx, int lda)
    • zgeru

      public static void zgeru(int m, int n, ComplexDouble alpha, double[] x, int xIdx, int incx, double[] y, int yIdx, int incy, double[] a, int aIdx, int lda)
    • cgemm

      public static void cgemm(char transa, char transb, int m, int n, int k, ComplexFloat alpha, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, ComplexFloat beta, float[] c, int cIdx, int ldc)
    • dgemm

      public static void dgemm(char transa, char transb, int m, int n, int k, double alpha, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double beta, double[] c, int cIdx, int ldc)
    • sgemm

      public static void sgemm(char transa, char transb, int m, int n, int k, float alpha, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float beta, float[] c, int cIdx, int ldc)
    • zgemm

      public static void zgemm(char transa, char transb, int m, int n, int k, ComplexDouble alpha, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, ComplexDouble beta, double[] c, int cIdx, int ldc)
    • dgesv

      public static int dgesv(int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb)
    • sgesv

      public static int sgesv(int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb)
    • dsysv

      public static int dsysv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb, double[] work, int workIdx, int lwork)
    • dsysv

      public static int dsysv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb)
    • ssysv

      public static int ssysv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb, float[] work, int workIdx, int lwork)
    • ssysv

      public static int ssysv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb)
    • dsyev

      public static int dsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] work, int workIdx, int lwork)
    • dsyev

      public static int dsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx)
    • ssyev

      public static int ssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] work, int workIdx, int lwork)
    • ssyev

      public static int ssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx)
    • dsyevd

      public static int dsyevd(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
    • dsyevd

      public static int dsyevd(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx)
    • dsyevr

      public static int dsyevr(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
    • dsyevr

      public static int dsyevr(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx)
    • dsyevx

      public static int dsyevx(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • dsyevx

      public static int dsyevx(char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • ssyevd

      public static int ssyevd(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
    • ssyevd

      public static int ssyevd(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx)
    • ssyevr

      public static int ssyevr(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
    • ssyevr

      public static int ssyevr(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] isuppz, int isuppzIdx)
    • ssyevx

      public static int ssyevx(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • ssyevx

      public static int ssyevx(char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • dposv

      public static int dposv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb)
    • sposv

      public static int sposv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb)
    • cgeev

      public static int cgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr, float[] work, int workIdx, int lwork, float[] rwork, int rworkIdx)
    • cgeev

      public static int cgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr, float[] rwork, int rworkIdx)
    • dgeev

      public static int dgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] wr, int wrIdx, double[] wi, int wiIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr, double[] work, int workIdx, int lwork)
    • dgeev

      public static int dgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] wr, int wrIdx, double[] wi, int wiIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr)
    • sgeev

      public static int sgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] wr, int wrIdx, float[] wi, int wiIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr, float[] work, int workIdx, int lwork)
    • sgeev

      public static int sgeev(char jobvl, char jobvr, int n, float[] a, int aIdx, int lda, float[] wr, int wrIdx, float[] wi, int wiIdx, float[] vl, int vlIdx, int ldvl, float[] vr, int vrIdx, int ldvr)
    • zgeev

      public static int zgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr, double[] work, int workIdx, int lwork, double[] rwork, int rworkIdx)
    • zgeev

      public static int zgeev(char jobvl, char jobvr, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] vl, int vlIdx, int ldvl, double[] vr, int vrIdx, int ldvr, double[] rwork, int rworkIdx)
    • dgetrf

      public static int dgetrf(int m, int n, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx)
    • sgetrf

      public static int sgetrf(int m, int n, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx)
    • dpotrf

      public static int dpotrf(char uplo, int n, double[] a, int aIdx, int lda)
    • spotrf

      public static int spotrf(char uplo, int n, float[] a, int aIdx, int lda)
    • cgesvd

      public static int cgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt, float[] work, int workIdx, int lwork, float[] rwork, int rworkIdx)
    • cgesvd

      public static int cgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt, float[] rwork, int rworkIdx)
    • dgesvd

      public static int dgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt, double[] work, int workIdx, int lwork)
    • dgesvd

      public static int dgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt)
    • sgesvd

      public static int sgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt, float[] work, int workIdx, int lwork)
    • sgesvd

      public static int sgesvd(char jobu, char jobvt, int m, int n, float[] a, int aIdx, int lda, float[] s, int sIdx, float[] u, int uIdx, int ldu, float[] vt, int vtIdx, int ldvt)
    • zgesvd

      public static int zgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt, double[] work, int workIdx, int lwork, double[] rwork, int rworkIdx)
    • zgesvd

      public static int zgesvd(char jobu, char jobvt, int m, int n, double[] a, int aIdx, int lda, double[] s, int sIdx, double[] u, int uIdx, int ldu, double[] vt, int vtIdx, int ldvt, double[] rwork, int rworkIdx)
    • dsygvd

      public static int dsygvd(int itype, char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] w, int wIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
    • dsygvd

      public static int dsygvd(int itype, char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] w, int wIdx)
    • ssygvd

      public static int ssygvd(int itype, char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] w, int wIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int liwork)
    • ssygvd

      public static int ssygvd(int itype, char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] w, int wIdx)
    • dgelsd

      public static int dgelsd(int m, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] s, int sIdx, double rcond, int[] rank, int rankIdx, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx)
    • dgelsd

      public static int dgelsd(int m, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double[] s, int sIdx, double rcond, int[] rank, int rankIdx, int[] iwork, int iworkIdx)
    • sgelsd

      public static int sgelsd(int m, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] s, int sIdx, float rcond, int[] rank, int rankIdx, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx)
    • sgelsd

      public static int sgelsd(int m, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float[] s, int sIdx, float rcond, int[] rank, int rankIdx, int[] iwork, int iworkIdx)
    • ilaenv

      public static int ilaenv(int ispec, String name, String opts, int n1, int n2, int n3, int n4)
    • dgeqrf

      public static int dgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork)
    • dgeqrf

      public static int dgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx)
    • sgeqrf

      public static int sgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork)
    • sgeqrf

      public static int sgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx)
    • dormqr

      public static int dormqr(char side, char trans, int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] c, int cIdx, int ldc, double[] work, int workIdx, int lwork)
    • dormqr

      public static int dormqr(char side, char trans, int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] c, int cIdx, int ldc)
    • sormqr

      public static int sormqr(char side, char trans, int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] c, int cIdx, int ldc, float[] work, int workIdx, int lwork)
    • sormqr

      public static int sormqr(char side, char trans, int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] c, int cIdx, int ldc)
    • dorgqr

      public static int dorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork)
    • dorgqr

      public static int dorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx)
    • sorgqr

      public static int sorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork)
    • sorgqr

      public static int sorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx)
    • dsygvx

      public static int dsygvx(int itype, char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, double[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • dsygvx

      public static int dsygvx(int itype, char jobz, char range, char uplo, int n, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb, double vl, double vu, int il, int iu, double abstol, int[] m, int mIdx, double[] w, int wIdx, double[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • ssygvx

      public static int ssygvx(int itype, char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, float[] work, int workIdx, int lwork, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)
    • ssygvx

      public static int ssygvx(int itype, char jobz, char range, char uplo, int n, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb, float vl, float vu, int il, int iu, float abstol, int[] m, int mIdx, float[] w, int wIdx, float[] z, int zIdx, int ldz, int[] iwork, int iworkIdx, int[] ifail, int ifailIdx)