Class NativeBlas
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);
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static double[]private static float[]private static int[] -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcaxpy(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy) static voidccopy(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy) static ComplexFloatcdotc(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy) static ComplexFloatcdotu(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy) static intcgeev(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 intcgeev(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 voidcgemm(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 voidcgemv(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 voidcgerc(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 voidcgeru(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 intcgesvd(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 intcgesvd(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 voidcscal(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx) static voidcsscal(int n, float sa, float[] cx, int cxIdx, int incx) static voidcswap(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy) static doubledasum(int n, double[] dx, int dxIdx, int incx) static voiddaxpy(int n, double da, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy) static voiddcopy(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy) static doubleddot(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy) static intdgeev(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 intdgeev(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 intdgelsd(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 intdgelsd(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 voiddgemm(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 voiddgemv(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 intdgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx) static intdgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork) static voiddger(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 intdgesv(int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb) static intdgesvd(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 intdgesvd(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 intdgetrf(int m, int n, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx) static doublednrm2(int n, double[] x, int xIdx, int incx) static intdorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx) static intdorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork) static intdormqr(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 intdormqr(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 intdposv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb) static intdpotrf(char uplo, int n, double[] a, int aIdx, int lda) static voiddscal(int n, double da, double[] dx, int dxIdx, int incx) static voiddswap(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy) static intdsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx) static intdsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx, double[] work, int workIdx, int lwork) static intdsyevd(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx) static intdsyevd(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 intdsyevr(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 intdsyevr(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 intdsyevx(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 intdsyevx(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 intdsygvd(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 intdsygvd(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 intdsygvx(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 intdsygvx(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 intdsysv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb) static intdsysv(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 doubledzasum(int n, double[] zx, int zxIdx, int incx) static doubledznrm2(int n, double[] x, int xIdx, int incx) static inticamax(int n, float[] cx, int cxIdx, int incx) static intidamax(int n, double[] dx, int dxIdx, int incx) static intstatic intisamax(int n, float[] sx, int sxIdx, int incx) static intizamax(int n, double[] zx, int zxIdx, int incx) static floatsasum(int n, float[] sx, int sxIdx, int incx) static voidsaxpy(int n, float sa, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy) static floatscasum(int n, float[] cx, int cxIdx, int incx) static floatscnrm2(int n, float[] x, int xIdx, int incx) static voidscopy(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy) static floatsdot(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy) static intsgeev(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 intsgeev(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 intsgelsd(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 intsgelsd(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 voidsgemm(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 voidsgemv(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 intsgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx) static intsgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork) static voidsger(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 intsgesv(int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb) static intsgesvd(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 intsgesvd(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 intsgetrf(int m, int n, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx) static floatsnrm2(int n, float[] x, int xIdx, int incx) static intsorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx) static intsorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork) static intsormqr(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 intsormqr(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 intsposv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb) static intspotrf(char uplo, int n, float[] a, int aIdx, int lda) static voidsscal(int n, float sa, float[] sx, int sxIdx, int incx) static voidsswap(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy) static intssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx) static intssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx, float[] work, int workIdx, int lwork) static intssyevd(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx) static intssyevd(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 intssyevr(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 intssyevr(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 intssyevx(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 intssyevx(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 intssygvd(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 intssygvd(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 intssygvx(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 intssygvx(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 intssysv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb) static intssysv(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 voidzaxpy(int n, ComplexDouble za, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy) static voidzcopy(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy) static ComplexDoublezdotc(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy) static ComplexDoublezdotu(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy) static voidzdscal(int n, double da, double[] zx, int zxIdx, int incx) static intzgeev(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 intzgeev(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 voidzgemm(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 voidzgemv(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 voidzgerc(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 voidzgeru(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 intzgesvd(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 intzgesvd(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 voidzscal(int n, ComplexDouble za, double[] zx, int zxIdx, int incx) static voidzswap(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
-
Field Details
-
intDummy
private static int[] intDummy -
doubleDummy
private static double[] doubleDummy -
floatDummy
private static float[] floatDummy
-
-
Constructor Details
-
NativeBlas
public NativeBlas()
-
-
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
-
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
-
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
-
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)
-