public class NativeBlas extends Object
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 and Description |
---|
NativeBlas() |
Modifier and Type | Method and 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) |
static ComplexFloat |
cdotc(int n,
float[] cx,
int cxIdx,
int incx,
float[] cy,
int cyIdx,
int incy) |
static ComplexFloat |
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) |
static ComplexDouble |
zdotc(int n,
double[] zx,
int zxIdx,
int incx,
double[] zy,
int zyIdx,
int incy) |
static ComplexDouble |
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) |
public static void ccopy(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
public static void dcopy(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
public static void scopy(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
public static void zcopy(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
public static void cswap(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
public static void dswap(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
public static void sswap(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
public static void zswap(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
public static void caxpy(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
public static void daxpy(int n, double da, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
public static void saxpy(int n, float sa, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
public static void zaxpy(int n, ComplexDouble za, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
public static void cscal(int n, ComplexFloat ca, float[] cx, int cxIdx, int incx)
public static void dscal(int n, double da, double[] dx, int dxIdx, int incx)
public static void sscal(int n, float sa, float[] sx, int sxIdx, int incx)
public static void zscal(int n, ComplexDouble za, double[] zx, int zxIdx, int incx)
public static void csscal(int n, float sa, float[] cx, int cxIdx, int incx)
public static void zdscal(int n, double da, double[] zx, int zxIdx, int incx)
public static ComplexFloat cdotc(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
public static ComplexFloat cdotu(int n, float[] cx, int cxIdx, int incx, float[] cy, int cyIdx, int incy)
public static double ddot(int n, double[] dx, int dxIdx, int incx, double[] dy, int dyIdx, int incy)
public static float sdot(int n, float[] sx, int sxIdx, int incx, float[] sy, int syIdx, int incy)
public static ComplexDouble zdotc(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
public static ComplexDouble zdotu(int n, double[] zx, int zxIdx, int incx, double[] zy, int zyIdx, int incy)
public static double dnrm2(int n, double[] x, int xIdx, int incx)
public static double dznrm2(int n, double[] x, int xIdx, int incx)
public static float scnrm2(int n, float[] x, int xIdx, int incx)
public static float snrm2(int n, float[] x, int xIdx, int incx)
public static double dasum(int n, double[] dx, int dxIdx, int incx)
public static double dzasum(int n, double[] zx, int zxIdx, int incx)
public static float sasum(int n, float[] sx, int sxIdx, int incx)
public static float scasum(int n, float[] cx, int cxIdx, int incx)
public static int icamax(int n, float[] cx, int cxIdx, int incx)
public static int idamax(int n, double[] dx, int dxIdx, int incx)
public static int isamax(int n, float[] sx, int sxIdx, int incx)
public static int izamax(int n, double[] zx, int zxIdx, int incx)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
public static int dgesv(int n, int nrhs, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, double[] b, int bIdx, int ldb)
public static int sgesv(int n, int nrhs, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx, float[] b, int bIdx, int ldb)
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)
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)
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)
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)
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)
public static int dsyev(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx)
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)
public static int ssyev(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx)
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)
public static int dsyevd(char jobz, char uplo, int n, double[] a, int aIdx, int lda, double[] w, int wIdx)
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)
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)
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)
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)
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)
public static int ssyevd(char jobz, char uplo, int n, float[] a, int aIdx, int lda, float[] w, int wIdx)
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)
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)
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)
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)
public static int dposv(char uplo, int n, int nrhs, double[] a, int aIdx, int lda, double[] b, int bIdx, int ldb)
public static int sposv(char uplo, int n, int nrhs, float[] a, int aIdx, int lda, float[] b, int bIdx, int ldb)
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)
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)
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)
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)
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)
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)
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)
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)
public static int dgetrf(int m, int n, double[] a, int aIdx, int lda, int[] ipiv, int ipivIdx)
public static int sgetrf(int m, int n, float[] a, int aIdx, int lda, int[] ipiv, int ipivIdx)
public static int dpotrf(char uplo, int n, double[] a, int aIdx, int lda)
public static int spotrf(char uplo, int n, float[] a, int aIdx, int lda)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
public static int ilaenv(int ispec, String name, String opts, int n1, int n2, int n3, int n4)
public static int dgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx, double[] work, int workIdx, int lwork)
public static int dgeqrf(int m, int n, double[] a, int aIdx, int lda, double[] tau, int tauIdx)
public static int sgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx, float[] work, int workIdx, int lwork)
public static int sgeqrf(int m, int n, float[] a, int aIdx, int lda, float[] tau, int tauIdx)
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)
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)
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)
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)
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)
public static int dorgqr(int m, int n, int k, double[] a, int aIdx, int lda, double[] tau, int tauIdx)
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)
public static int sorgqr(int m, int n, int k, float[] a, int aIdx, int lda, float[] tau, int tauIdx)
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)
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)
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)
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)
Copyright © 2015. All rights reserved.