Class NDLinalg


  • public class NDLinalg
    extends Object
    • Constructor Detail

      • NDLinalg

        public NDLinalg()
    • 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 - regularizer
        fast - 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 count
        maxUpper - 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 triangular
        adjoint - 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 type
        row -
        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)
      • triu

        public INDArray triu​(INDArray input)
        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)
        Returns:
        output (FLOATING_POINT type)