org.nd4j.linalg.jblas
Class BlasWrapper
- java.lang.Object
-
- org.nd4j.linalg.jblas.BlasWrapper
-
- All Implemented Interfaces:
- BlasWrapper
public class BlasWrapper extends java.lang.Object implements BlasWrapper
Copy of SimpleBlas to handle offsets implementing an interface for library neutral jblas operations
-
-
Constructor Summary
Constructors Constructor and Description BlasWrapper()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doubleasum(IComplexNDArray x)doubleasum(INDArray x)Compute || x ||_1 (1-norm, sum of absolute values)INDArrayaxpy(double da, INDArray dx, INDArray dy)Compute y <- alpha * x + y (elementwise addition)INDArrayaxpy(float da, INDArray dx, INDArray dy)Compute y <- alpha * x + y (elementwise addition)IComplexNDArrayaxpy(IComplexNumber da, IComplexNDArray dx, IComplexNDArray dy)voidcheckInfo(java.lang.String name, int info)IComplexNDArraycopy(IComplexNDArray x, IComplexNDArray y)INDArraycopy(INDArray x, INDArray y)Compute y <- x (copy a matrix)voiddcopy(int n, float[] dx, int dxIdx, int incx, float[] dy, int dyIdx, int incy)doubledot(INDArray x, INDArray y)Compute x^T * y (dot product)IComplexNumberdotc(IComplexNDArray x, IComplexNDArray y)Compute x^T * y (dot product)IComplexNumberdotu(IComplexNDArray x, IComplexNDArray y)Compute x^T * y (dot product)intgeev(char jobvl, char jobvr, INDArray A, INDArray WR, INDArray WI, INDArray VL, INDArray VR)voidgelsd(INDArray A, INDArray B)Generalized Least Squares via *GELSD.INDArraygemm(double alpha, INDArray a, INDArray b, double beta, INDArray c)Compute c <- a*b + beta * c (general matrix matrix multiplication)INDArraygemm(float alpha, INDArray a, INDArray b, float beta, INDArray c)Compute c <- a*b + beta * c (general matrix matrix multiplication)IComplexNDArraygemm(IComplexNumber alpha, IComplexNDArray a, IComplexNDArray b, IComplexNumber beta, IComplexNDArray c)INDArraygemv(double alpha, INDArray a, INDArray x, double beta, INDArray y)Compute y <- alpha*op(a)*x + beta * y (general matrix vector multiplication)INDArraygemv(float alpha, INDArray a, INDArray x, float beta, INDArray y)Compute y <- alpha*op(a)*x + beta * y (general matrix vector multiplication)IComplexNDArraygemv(IComplexDouble alpha, IComplexNDArray a, IComplexNDArray x, IComplexDouble beta, IComplexNDArray y)IComplexNDArraygemv(IComplexFloat alpha, IComplexNDArray a, IComplexNDArray x, IComplexFloat beta, IComplexNDArray y)voidgeqrf(INDArray A, INDArray tau)INDArrayger(double alpha, INDArray x, INDArray y, INDArray a)Compute A <- alpha * x * y^T + A (general rank-1 update)INDArrayger(float alpha, INDArray x, INDArray y, INDArray a)Compute A <- alpha * x * y^T + A (general rank-1 update)IComplexNDArraygerc(IComplexDouble alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)Compute A <- alpha * x * y^H + A (general rank-1 update)IComplexNDArraygerc(IComplexFloat alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)Compute A <- alpha * x * y^H + A (general rank-1 update)IComplexNDArraygeru(IComplexDouble alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)Compute A <- alpha * x * y^T + A (general rank-1 update)IComplexNDArraygeru(IComplexFloat alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)Compute A <- alpha * x * y^T + A (general rank-1 update)INDArraygesv(INDArray a, int[] ipiv, INDArray b)LAPACKintiamax(IComplexNDArray x)Compute index of element with largest absolute value (complex version).intiamax(INDArray x)Compute index of element with largest absolute value (index of absolute value maximum)doublenrm2(IComplexNDArray x)doublenrm2(INDArray x)Compute || x ||_2 (2-norm)voidormqr(char side, char trans, INDArray A, INDArray tau, INDArray C)voidposv(char uplo, INDArray A, INDArray B)voidsaxpy(double alpha, INDArray x, INDArray y)Abstraction over saxpyvoidsaxpy(float alpha, INDArray x, INDArray y)Abstraction over saxpyINDArrayscal(double alpha, INDArray x)Compute x <- alpha * x (scale a matrix)INDArrayscal(float alpha, INDArray x)Compute x <- alpha * x (scale a matrix)IComplexNDArrayscal(IComplexDouble alpha, IComplexNDArray x)IComplexNDArrayscal(IComplexFloat alpha, IComplexNDArray x)INDArrayswap(INDArray x, INDArray y)Compute x <-> y (swap two matrices)intsyev(char jobz, char uplo, INDArray a, INDArray w)intsyevd(char jobz, char uplo, INDArray A, INDArray w)intsyevr(char jobz, char range, char uplo, INDArray a, double vl, double vu, int il, int iu, double abstol, INDArray w, INDArray z, int[] isuppz)intsyevr(char jobz, char range, char uplo, INDArray a, float vl, float vu, int il, int iu, float abstol, INDArray w, INDArray z, int[] isuppz)intsyevx(char jobz, char range, char uplo, INDArray a, double vl, double vu, int il, int iu, double abstol, INDArray w, INDArray z)intsyevx(char jobz, char range, char uplo, INDArray a, float vl, float vu, int il, int iu, float abstol, INDArray w, INDArray z)intsygvd(int itype, char jobz, char uplo, INDArray A, INDArray B, INDArray W)INDArraysysv(char uplo, INDArray a, int[] ipiv, INDArray b)
-
-
-
Method Detail
-
swap
public INDArray swap(INDArray x, INDArray y)
Compute x <-> y (swap two matrices)- Specified by:
swapin interfaceBlasWrapper
-
scal
public INDArray scal(double alpha, INDArray x)
Compute x <- alpha * x (scale a matrix)- Specified by:
scalin interfaceBlasWrapper
-
scal
public INDArray scal(float alpha, INDArray x)
Compute x <- alpha * x (scale a matrix)- Specified by:
scalin interfaceBlasWrapper
-
scal
public IComplexNDArray scal(IComplexFloat alpha, IComplexNDArray x)
- Specified by:
scalin interfaceBlasWrapper
-
scal
public IComplexNDArray scal(IComplexDouble alpha, IComplexNDArray x)
- Specified by:
scalin interfaceBlasWrapper
-
copy
public INDArray copy(INDArray x, INDArray y)
Compute y <- x (copy a matrix)- Specified by:
copyin interfaceBlasWrapper
-
copy
public IComplexNDArray copy(IComplexNDArray x, IComplexNDArray y)
- Specified by:
copyin interfaceBlasWrapper
-
axpy
public INDArray axpy(double da, INDArray dx, INDArray dy)
Compute y <- alpha * x + y (elementwise addition)- Specified by:
axpyin interfaceBlasWrapper
-
axpy
public INDArray axpy(float da, INDArray dx, INDArray dy)
Compute y <- alpha * x + y (elementwise addition)- Specified by:
axpyin interfaceBlasWrapper
-
axpy
public IComplexNDArray axpy(IComplexNumber da, IComplexNDArray dx, IComplexNDArray dy)
- Specified by:
axpyin interfaceBlasWrapper
-
dot
public double dot(INDArray x, INDArray y)
Compute x^T * y (dot product)- Specified by:
dotin interfaceBlasWrapper
-
dotc
public IComplexNumber dotc(IComplexNDArray x, IComplexNDArray y)
Compute x^T * y (dot product)- Specified by:
dotcin interfaceBlasWrapper
-
dotu
public IComplexNumber dotu(IComplexNDArray x, IComplexNDArray y)
Compute x^T * y (dot product)- Specified by:
dotuin interfaceBlasWrapper
-
nrm2
public double nrm2(INDArray x)
Compute || x ||_2 (2-norm)- Specified by:
nrm2in interfaceBlasWrapper
-
nrm2
public double nrm2(IComplexNDArray x)
- Specified by:
nrm2in interfaceBlasWrapper
-
asum
public double asum(INDArray x)
Compute || x ||_1 (1-norm, sum of absolute values)- Specified by:
asumin interfaceBlasWrapper
-
asum
public double asum(IComplexNDArray x)
- Specified by:
asumin interfaceBlasWrapper
-
iamax
public int iamax(INDArray x)
Compute index of element with largest absolute value (index of absolute value maximum)- Specified by:
iamaxin interfaceBlasWrapper
-
iamax
public int iamax(IComplexNDArray x)
Compute index of element with largest absolute value (complex version).- Specified by:
iamaxin interfaceBlasWrapper- Parameters:
x- matrix- Returns:
- index of element with largest absolute value.
-
gemv
public INDArray gemv(double alpha, INDArray a, INDArray x, double beta, INDArray y)
Compute y <- alpha*op(a)*x + beta * y (general matrix vector multiplication)- Specified by:
gemvin interfaceBlasWrapper
-
gemv
public INDArray gemv(float alpha, INDArray a, INDArray x, float beta, INDArray y)
Compute y <- alpha*op(a)*x + beta * y (general matrix vector multiplication)- Specified by:
gemvin interfaceBlasWrapper
-
ger
public INDArray ger(double alpha, INDArray x, INDArray y, INDArray a)
Compute A <- alpha * x * y^T + A (general rank-1 update)- Specified by:
gerin interfaceBlasWrapper
-
ger
public INDArray ger(float alpha, INDArray x, INDArray y, INDArray a)
Compute A <- alpha * x * y^T + A (general rank-1 update)- Specified by:
gerin interfaceBlasWrapper
-
gemv
public IComplexNDArray gemv(IComplexDouble alpha, IComplexNDArray a, IComplexNDArray x, IComplexDouble beta, IComplexNDArray y)
- Specified by:
gemvin interfaceBlasWrapper
-
gemv
public IComplexNDArray gemv(IComplexFloat alpha, IComplexNDArray a, IComplexNDArray x, IComplexFloat beta, IComplexNDArray y)
- Specified by:
gemvin interfaceBlasWrapper
-
geru
public IComplexNDArray geru(IComplexDouble alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)
Compute A <- alpha * x * y^T + A (general rank-1 update)- Specified by:
geruin interfaceBlasWrapper- Parameters:
alpha-x-y-a-
-
geru
public IComplexNDArray geru(IComplexFloat alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)
Compute A <- alpha * x * y^T + A (general rank-1 update)- Specified by:
geruin interfaceBlasWrapper- Parameters:
alpha-x-y-a-
-
gerc
public IComplexNDArray gerc(IComplexDouble alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)
Compute A <- alpha * x * y^H + A (general rank-1 update)- Specified by:
gercin interfaceBlasWrapper
-
gerc
public IComplexNDArray gerc(IComplexFloat alpha, IComplexNDArray x, IComplexNDArray y, IComplexNDArray a)
Compute A <- alpha * x * y^H + A (general rank-1 update)- Specified by:
gercin interfaceBlasWrapper
-
gemm
public INDArray gemm(double alpha, INDArray a, INDArray b, double beta, INDArray c)
Compute c <- a*b + beta * c (general matrix matrix multiplication)- Specified by:
gemmin interfaceBlasWrapper
-
gemm
public INDArray gemm(float alpha, INDArray a, INDArray b, float beta, INDArray c)
Compute c <- a*b + beta * c (general matrix matrix multiplication)- Specified by:
gemmin interfaceBlasWrapper
-
gemm
public IComplexNDArray gemm(IComplexNumber alpha, IComplexNDArray a, IComplexNDArray b, IComplexNumber beta, IComplexNDArray c)
- Specified by:
gemmin interfaceBlasWrapper
-
gesv
public INDArray gesv(INDArray a, int[] ipiv, INDArray b)
LAPACK- Specified by:
gesvin interfaceBlasWrapper
-
checkInfo
public void checkInfo(java.lang.String name, int info)- Specified by:
checkInfoin interfaceBlasWrapper
-
sysv
public INDArray sysv(char uplo, INDArray a, int[] ipiv, INDArray b)
- Specified by:
sysvin interfaceBlasWrapper
-
syev
public int syev(char jobz, char uplo, INDArray a, INDArray w)- Specified by:
syevin interfaceBlasWrapper
-
syevx
public int syevx(char jobz, char range, char uplo, INDArray a, double vl, double vu, int il, int iu, double abstol, INDArray w, INDArray z)- Specified by:
syevxin interfaceBlasWrapper
-
syevx
public int syevx(char jobz, char range, char uplo, INDArray a, float vl, float vu, int il, int iu, float abstol, INDArray w, INDArray z)- Specified by:
syevxin interfaceBlasWrapper
-
syevd
public int syevd(char jobz, char uplo, INDArray A, INDArray w)- Specified by:
syevdin interfaceBlasWrapper
-
syevr
public int syevr(char jobz, char range, char uplo, INDArray a, double vl, double vu, int il, int iu, double abstol, INDArray w, INDArray z, int[] isuppz)- Specified by:
syevrin interfaceBlasWrapper
-
syevr
public int syevr(char jobz, char range, char uplo, INDArray a, float vl, float vu, int il, int iu, float abstol, INDArray w, INDArray z, int[] isuppz)- Specified by:
syevrin interfaceBlasWrapper
-
posv
public void posv(char uplo, INDArray A, INDArray B)- Specified by:
posvin interfaceBlasWrapper
-
geev
public int geev(char jobvl, char jobvr, INDArray A, INDArray WR, INDArray WI, INDArray VL, INDArray VR)- Specified by:
geevin interfaceBlasWrapper
-
sygvd
public int sygvd(int itype, char jobz, char uplo, INDArray A, INDArray B, INDArray W)- Specified by:
sygvdin interfaceBlasWrapper
-
gelsd
public void gelsd(INDArray A, INDArray B)
Generalized Least Squares via *GELSD. Note that B must be padded to contain the solution matrix. This occurs when A has fewer rows than columns. For example: in A * X = B, A is (m,n), X is (n,k) and B is (m,k). Now if m < n, since B is overwritten to contain the solution (in classical LAPACK style), B needs to be padded to be an (n,k) matrix. Likewise, if m > n, the solution consists only of the first n rows of B.- Specified by:
gelsdin interfaceBlasWrapper- Parameters:
A- an (m,n) matrixB- an (max(m,n), k) matrix (well, at least)
-
geqrf
public void geqrf(INDArray A, INDArray tau)
- Specified by:
geqrfin interfaceBlasWrapper
-
ormqr
public void ormqr(char side, char trans, INDArray A, INDArray tau, INDArray C)- Specified by:
ormqrin interfaceBlasWrapper
-
dcopy
public void dcopy(int n, float[] dx, int dxIdx, int incx, float[] dy, int dyIdx, int incy)- Specified by:
dcopyin interfaceBlasWrapper
-
saxpy
public void saxpy(double alpha, INDArray x, INDArray y)Abstraction over saxpy- Specified by:
saxpyin interfaceBlasWrapper- Parameters:
alpha- the alpha to scale byx- the ndarray to usey- the ndarray to use
-
saxpy
public void saxpy(float alpha, INDArray x, INDArray y)Abstraction over saxpy- Specified by:
saxpyin interfaceBlasWrapper- Parameters:
alpha- the alpha to scale byx- the ndarray to usey- the ndarray to use
-
-
DMelt 3.0 © DataMelt by jWork.ORG