Package org.nd4j.linalg.factory.ops
Class NDLinalg
- java.lang.Object
-
- org.nd4j.linalg.factory.ops.NDLinalg
-
public class NDLinalg extends Object
-
-
Constructor Summary
Constructors Constructor Description NDLinalg()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description INDArray
cholesky(INDArray input)
Computes the Cholesky decomposition of one or more square matrices.INDArray
cross(INDArray a, INDArray b)
Computes pairwise cross product.INDArray
diag(INDArray input)
Calculates diagonal tensor.INDArray
diag_part(INDArray input)
Calculates diagonal tensor.INDArray[]
eig(INDArray input)
Calculates eigen valuesINDArray
logdet(INDArray input)
Calculates log of determinant.INDArray
lstsq(INDArray matrix, INDArray rhs, double l2_reguralizer)
Solver for linear squares problems.INDArray
lstsq(INDArray matrix, INDArray rhs, double l2_reguralizer, boolean fast)
Solver for linear squares problems.INDArray
lu(INDArray input)
Computes LU decomposition.INDArray
matmul(INDArray a, INDArray b)
Performs matrix mutiplication on input tensors.INDArray[]
matrixBandPart(INDArray input, int minLower, int maxUpper)
Copy a tensor setting outside a central band in each innermost matrix.INDArray
matrixDeterminant(INDArray input)
Calculates matrix determinant.INDArray
matrixInverse(INDArray input)
Inverts a matrixINDArray
mmul(INDArray x, INDArray y)
Matrix multiplication: out = mmul(x,y)
Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc.INDArray
mmul(INDArray x, INDArray y, boolean transposeX, boolean transposeY, boolean transposeZ)
Matrix multiplication: out = mmul(x,y)
Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc.INDArray[]
qr(INDArray input)
Computes the QR decompositions of input matrix.INDArray[]
qr(INDArray input, boolean full)
Computes the QR decompositions of input matrix.INDArray
solve(INDArray matrix, INDArray rhs)
Solver for systems of linear equations.INDArray
solve(INDArray matrix, INDArray rhs, boolean adjoint)
Solver for systems of linear equations.INDArray
svd(INDArray input, boolean fullUV, boolean computeUV)
Calculates singular value decomposition.INDArray
svd(INDArray input, boolean fullUV, boolean computeUV, int switchNum)
Calculates singular value decomposition.INDArray
tri(int row, int column)
An array with ones at and below the given diagonal and zeros elsewhere.INDArray
tri(DataType dataType, int row, int column, int diagonal)
An array with ones at and below the given diagonal and zeros elsewhere.INDArray
triangularSolve(INDArray matrix, INDArray rhs, boolean lower, boolean adjoint)
Solver for systems of linear questions.INDArray
triu(INDArray input)
Upper triangle of an array.INDArray
triu(INDArray input, int diag)
Upper triangle of an array.
-
-
-
Method Detail
-
cholesky
public INDArray cholesky(INDArray input)
Computes the Cholesky decomposition of one or more square matrices.- Parameters:
input
- Input tensor with inner-most 2 dimensions forming square matrices (NUMERIC type)- Returns:
- output Transformed tensor (NUMERIC type)
-
lstsq
public INDArray lstsq(INDArray matrix, INDArray rhs, double l2_reguralizer, boolean fast)
Solver for linear squares problems.- Parameters:
matrix
- input tensor (NUMERIC type)rhs
- input tensor (NUMERIC type)l2_reguralizer
- regularizerfast
- fast mode, defaults to True- Returns:
- output Transformed tensor (FLOATING_POINT type)
-
lstsq
public INDArray lstsq(INDArray matrix, INDArray rhs, double l2_reguralizer)
Solver for linear squares problems.- Parameters:
matrix
- input tensor (NUMERIC type)rhs
- input tensor (NUMERIC type)l2_reguralizer
- regularizer- Returns:
- output Transformed tensor (FLOATING_POINT type)
-
lu
public INDArray lu(INDArray input)
Computes LU decomposition.- Parameters:
input
- input tensor (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
matmul
public INDArray matmul(INDArray a, INDArray b)
Performs matrix mutiplication on input tensors.- Parameters:
a
- input tensor (NUMERIC type)b
- input tensor (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
matrixBandPart
public INDArray[] matrixBandPart(INDArray input, int minLower, int maxUpper)
Copy a tensor setting outside a central band in each innermost matrix.- Parameters:
input
- input tensor (NUMERIC type)minLower
- lower diagonal countmaxUpper
- upper diagonal count
-
qr
public INDArray[] qr(INDArray input, boolean full)
Computes the QR decompositions of input matrix.- Parameters:
input
- input tensor (NUMERIC type)full
- full matrices mode
-
qr
public INDArray[] qr(INDArray input)
Computes the QR decompositions of input matrix.- Parameters:
input
- input tensor (NUMERIC type)
-
solve
public INDArray solve(INDArray matrix, INDArray rhs, boolean adjoint)
Solver for systems of linear equations.- Parameters:
matrix
- input tensor (NUMERIC type)rhs
- input tensor (NUMERIC type)adjoint
- adjoint mode, defaults to False- Returns:
- output Output tensor (FLOATING_POINT type)
-
solve
public INDArray solve(INDArray matrix, INDArray rhs)
Solver for systems of linear equations.- Parameters:
matrix
- input tensor (NUMERIC type)rhs
- input tensor (NUMERIC type)- Returns:
- output Output tensor (FLOATING_POINT type)
-
triangularSolve
public INDArray triangularSolve(INDArray matrix, INDArray rhs, boolean lower, boolean adjoint)
Solver for systems of linear questions.- Parameters:
matrix
- input tensor (NUMERIC type)rhs
- input tensor (NUMERIC type)lower
- defines whether innermost matrices in matrix are lower or upper triangularadjoint
- adjoint mode- Returns:
- output (FLOATING_POINT type)
-
cross
public INDArray cross(INDArray a, INDArray b)
Computes pairwise cross product.- Parameters:
a
- (NUMERIC type)b
- (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
diag
public INDArray diag(INDArray input)
Calculates diagonal tensor.- Parameters:
input
- (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
diag_part
public INDArray diag_part(INDArray input)
Calculates diagonal tensor.- Parameters:
input
- (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
eig
public INDArray[] eig(INDArray input)
Calculates eigen values- Parameters:
input
- (NUMERIC type)
-
logdet
public INDArray logdet(INDArray input)
Calculates log of determinant.- Parameters:
input
- (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
matrixDeterminant
public INDArray matrixDeterminant(INDArray input)
Calculates matrix determinant.- Parameters:
input
- (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
matrixInverse
public INDArray matrixInverse(INDArray input)
Inverts a matrix- Parameters:
input
- (NUMERIC type)- Returns:
- output (FLOATING_POINT type)
-
mmul
public INDArray mmul(INDArray x, INDArray y, boolean transposeX, boolean transposeY, boolean transposeZ)
Matrix multiplication: out = mmul(x,y)
Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc.- Parameters:
x
- First input variable (NUMERIC type)y
- Second input variable (NUMERIC type)transposeX
- Transpose x (first argument)transposeY
- Transpose y (second argument)transposeZ
- Transpose result array- Returns:
- output (NUMERIC type)
-
mmul
public INDArray mmul(INDArray x, INDArray y)
Matrix multiplication: out = mmul(x,y)
Supports specifying transpose argument to perform operation such as mmul(a^T, b), etc.- Parameters:
x
- First input variable (NUMERIC type)y
- Second input variable (NUMERIC type)- Returns:
- output (NUMERIC type)
-
svd
public INDArray svd(INDArray input, boolean fullUV, boolean computeUV, int switchNum)
Calculates singular value decomposition.- Parameters:
input
- (NUMERIC type)fullUV
-computeUV
-switchNum
-- Returns:
- output (FLOATING_POINT type)
-
svd
public INDArray svd(INDArray input, boolean fullUV, boolean computeUV)
Calculates singular value decomposition.- Parameters:
input
- (NUMERIC type)fullUV
-computeUV
-- Returns:
- output (FLOATING_POINT type)
-
tri
public INDArray tri(DataType dataType, int row, int column, int diagonal)
An array with ones at and below the given diagonal and zeros elsewhere.- Parameters:
dataType
- Data typerow
-column
-diagonal
-- Returns:
- output (FLOATING_POINT type)
-
tri
public INDArray tri(int row, int column)
An array with ones at and below the given diagonal and zeros elsewhere.- Parameters:
row
-column
-- Returns:
- output (FLOATING_POINT type)
-
triu
public INDArray triu(INDArray input, int diag)
Upper triangle of an array. Return a copy of a input tensor with the elements below the k-th diagonal zeroed.- Parameters:
input
- (NUMERIC type)diag
-- Returns:
- output (FLOATING_POINT type)
-
-