Interface LinearAlgebraBackend

All Known Subinterfaces:
ComputeBackend
All Known Implementing Classes:
CpuComputeBackend

public interface LinearAlgebraBackend
Backend-neutral FP64 BLAS, sparse-BLAS, and reusable factorization surface. Dense matrices use row-major storage. Reduction order and final rounding may differ between providers.
  • Method Details

    • dscal

      default void dscal(int count, double alpha, double[] x, int offset, int stride)
    • dcopy

      default void dcopy(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride)
    • dswap

      default void dswap(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride)
    • dasum

      default double dasum(int count, double[] x, int offset, int stride)
    • idamax

      default int idamax(int count, double[] x, int offset, int stride)
      Returns the zero-based logical index of the first absolute maximum, or -1 when empty.
    • daxpy

      default void daxpy(int count, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride)
    • ddot

      default double ddot(int count, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride)
    • dnrm2

      default double dnrm2(int count, double[] x, int offset, int stride)
    • dgemv

      default void dgemv(MatrixTranspose transpose, int rows, int columns, double alpha, double[] matrix, double[] x, double beta, double[] y)
    • dgemv

      default void dgemv(MatrixTranspose transpose, int rows, int columns, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double[] x, int xOffset, int xStride, double beta, double[] y, int yOffset, int yStride)
      Region-aware GEMV with a row-major leading dimension and strided vectors.
    • dgemm

      default void dgemm(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[] left, double[] right, double beta, double[] result)
    • dgemm

      default void dgemm(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[] left, int leftOffset, int leftLeadingDimension, double[] right, int rightOffset, int rightLeadingDimension, double beta, double[] result, int resultOffset, int resultLeadingDimension)
      Region-aware GEMM with row-major offsets and leading dimensions.
    • dgemmBatched

      default void dgemmBatched(MatrixTranspose leftTranspose, MatrixTranspose rightTranspose, int rows, int columns, int shared, double alpha, double[][] left, double[][] right, double beta, double[][] result)
    • dger

      default void dger(int rows, int columns, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride, double[] matrix)
    • dsyr

      default void dsyr(MatrixTriangle triangle, int dimension, double alpha, double[] x, int offset, int stride, double[] matrix)
    • dsyr2

      default void dsyr2(MatrixTriangle triangle, int dimension, double alpha, double[] x, int xOffset, int xStride, double[] y, int yOffset, int yStride, double[] matrix)
    • dsyrk

      default void dsyrk(MatrixTranspose transpose, int dimension, int shared, double alpha, double[] matrix, double beta, double[] result)
    • dsyrk

      default void dsyrk(MatrixTranspose transpose, int dimension, int shared, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double beta, double[] result, int resultOffset, int resultLeadingDimension)
    • dsyr2k

      default void dsyr2k(MatrixTriangle triangle, MatrixTranspose transpose, int dimension, int shared, double alpha, double[] left, double[] right, double beta, double[] result)
    • dsymm

      default void dsymm(MatrixSide side, MatrixTriangle triangle, int rows, int columns, double alpha, double[] symmetric, double[] right, double beta, double[] result)
    • dtrsv

      default void dtrsv(MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int dimension, double[] matrix, double[] vector)
    • dtrsm

      default void dtrsm(MatrixSide side, MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int rows, int columns, double alpha, double[] matrix, double[] right)
    • dtrsm

      default void dtrsm(MatrixSide side, MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, int rows, int columns, double alpha, double[] matrix, int matrixOffset, int matrixLeadingDimension, double[] right, int rightOffset, int rightLeadingDimension)
      Region-aware triangular multi-right-side solve.
    • dcsrmv

      default void dcsrmv(double alpha, CsrMatrix matrix, double[] x, double beta, double[] y)
    • dcsrmm

      default void dcsrmm(double alpha, CsrMatrix matrix, double[] right, int rightColumns, double beta, double[] result)
    • dcsrgemm

      default CsrMatrix dcsrgemm(CsrMatrix left, CsrMatrix right)
    • dcsrsv

      default void dcsrsv(MatrixTriangle triangle, MatrixTranspose transpose, MatrixDiagonal diagonal, CsrMatrix matrix, double[] vector)
    • prepareDcsr

      default PreparedCsrMatrix prepareDcsr(CsrMatrix matrix)
    • prepareDge

      default PreparedDenseMatrix prepareDge(double[] matrix, int rows, int columns)
    • dcsrpotrf

      default SparseCholeskyFactor dcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle, SparseOrdering ordering)
    • dcsrpotrf

      default SparseCholeskyFactor dcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle)
    • prepareDcsrpotrf

      default PreparedSparseCholesky prepareDcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle, SparseOrdering ordering)
    • prepareDcsrpotrf

      default PreparedSparseCholesky prepareDcsrpotrf(CsrMatrix matrix, MatrixTriangle triangle)
    • dpotrf

      default CholeskyFactor dpotrf(double[] matrix, int dimension)
    • dpotrfBatched

      default CholeskyFactor[] dpotrfBatched(double[][] matrices, int dimension)
    • dgetrf

      default LuFactor dgetrf(double[] matrix, int dimension)
    • dgetrfBatched

      default LuFactor[] dgetrfBatched(double[][] matrices, int dimension)
    • dsytrf

      default SymmetricIndefiniteFactor dsytrf(double[] matrix, int dimension)
    • dgeqp3

      default PivotedQrFactor dgeqp3(double[] matrix, int rows, int columns)
    • dsyev

      default SymmetricEigenDecomposition dsyev(double[] matrix, int dimension)
    • dsygvd

      default SymmetricEigenDecomposition dsygvd(double[] matrix, double[] metric, int dimension)
    • dgesvd

      default SingularValueDecomposition dgesvd(double[] matrix, int rows, int columns)