test_class.file: modules/ml/src/test/java/org/apache/ignite/ml/math/BlasTest.java
test_class.identifier: BlasTest
test_case.body: @Test
      public void testGemmDenseDenseDense() {
          // C := alpha * A * B + beta * C
          double alpha = 1.0;
          DenseMatrix a = new DenseMatrix(new double[][] {{10.0, 11.0}, {0.0, 1.0}});
          DenseMatrix b = new DenseMatrix(new double[][] {{1.0, 0.3}, {0.0, 1.0}});
          double beta = 0.0;
          DenseMatrix c = new DenseMatrix(new double[][] {{1.0, 2.0}, {2.0, 3.0}});
  
          DenseMatrix exp = (DenseMatrix)a.times(b);//.times(alpha).plus(c.times(beta));
  
          Blas.gemm(alpha, a, b, beta, c);
  
          Assert.assertEquals(exp, c);
      }
test_case.class_method_signature: BlasTest.testGemmDenseDenseDense()
test_case.full_signature: @Test public void testGemmDenseDenseDense()
test_case.identifier: testGemmDenseDenseDense
test_case.invocations: times gemm assertEquals
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGemmDenseDenseDense()
focal_class.declarator: f2jBlas = new F2jBLAS()
focal_class.modifier: private static transient
focal_class.original_string: private static transient BLAS f2jBlas = new F2jBLAS();
focal_class.type: BLAS
focal_class.var_name: f2jBlas
focal_class.declarator: nativeBlas = BLAS.getInstance()
focal_class.modifier: private static transient
focal_class.original_string: private static transient BLAS nativeBlas = BLAS.getInstance();
focal_class.type: BLAS
focal_class.var_name: nativeBlas
focal_class.file: modules/ml/src/main/java/org/apache/ignite/ml/math/Blas.java
focal_class.identifier: Blas
focal_class.class_method_signature: Blas.axpy(Double a, Vector x, Vector y)
focal_class.full_signature: public static void axpy(Double a, Vector x, Vector y)
focal_class.identifier: axpy
focal_class.modifiers: public static
focal_class.parameters: (Double a, Vector x, Vector y)
focal_class.return: void
focal_class.signature: void axpy(Double a, Vector x, Vector y)
focal_class.class_method_signature: Blas.axpy(Double a, double[] x, double[] y)
focal_class.full_signature: private static void axpy(Double a, double[] x, double[] y)
focal_class.identifier: axpy
focal_class.modifiers: private static
focal_class.parameters: (Double a, double[] x, double[] y)
focal_class.return: void
focal_class.signature: void axpy(Double a, double[] x, double[] y)
focal_class.class_method_signature: Blas.axpy(Double a, SparseVector x, double[] y)
focal_class.full_signature: private static void axpy(Double a, SparseVector x, double[] y)
focal_class.identifier: axpy
focal_class.modifiers: private static
focal_class.parameters: (Double a, SparseVector x, double[] y)
focal_class.return: void
focal_class.signature: void axpy(Double a, SparseVector x, double[] y)
focal_class.class_method_signature: Blas.dot(Vector x, Vector y)
focal_class.full_signature: public static Double dot(Vector x, Vector y)
focal_class.identifier: dot
focal_class.modifiers: public static
focal_class.parameters: (Vector x, Vector y)
focal_class.return: Double
focal_class.signature: Double dot(Vector x, Vector y)
focal_class.class_method_signature: Blas.copy(Vector x, Vector y)
focal_class.full_signature: public void copy(Vector x, Vector y)
focal_class.identifier: copy
focal_class.modifiers: public
focal_class.parameters: (Vector x, Vector y)
focal_class.return: void
focal_class.signature: void copy(Vector x, Vector y)
focal_class.class_method_signature: Blas.scal(Double a, Vector x)
focal_class.full_signature: public static void scal(Double a, Vector x)
focal_class.identifier: scal
focal_class.modifiers: public static
focal_class.parameters: (Double a, Vector x)
focal_class.return: void
focal_class.signature: void scal(Double a, Vector x)
focal_class.class_method_signature: Blas.spr(Double alpha, DenseVector v, DenseVector u)
focal_class.full_signature: public static void spr(Double alpha, DenseVector v, DenseVector u)
focal_class.identifier: spr
focal_class.modifiers: public static
focal_class.parameters: (Double alpha, DenseVector v, DenseVector u)
focal_class.return: void
focal_class.signature: void spr(Double alpha, DenseVector v, DenseVector u)
focal_class.class_method_signature: Blas.spr(Double alpha, SparseVector v, DenseVector u)
focal_class.full_signature: public static void spr(Double alpha, SparseVector v, DenseVector u)
focal_class.identifier: spr
focal_class.modifiers: public static
focal_class.parameters: (Double alpha, SparseVector v, DenseVector u)
focal_class.return: void
focal_class.signature: void spr(Double alpha, SparseVector v, DenseVector u)
focal_class.class_method_signature: Blas.syr(Double alpha, Vector x, DenseMatrix a)
focal_class.full_signature:  void syr(Double alpha, Vector x, DenseMatrix a)
focal_class.identifier: syr
focal_class.parameters: (Double alpha, Vector x, DenseMatrix a)
focal_class.return: void
focal_class.signature: void syr(Double alpha, Vector x, DenseMatrix a)
focal_class.class_method_signature: Blas.syr(Double alpha, DenseVector x, DenseMatrix a)
focal_class.full_signature: static void syr(Double alpha, DenseVector x, DenseMatrix a)
focal_class.identifier: syr
focal_class.modifiers: static
focal_class.parameters: (Double alpha, DenseVector x, DenseMatrix a)
focal_class.return: void
focal_class.signature: void syr(Double alpha, DenseVector x, DenseMatrix a)
focal_class.class_method_signature: Blas.syr(Double alpha, SparseVector x, DenseMatrix a)
focal_class.full_signature: public static void syr(Double alpha, SparseVector x, DenseMatrix a)
focal_class.identifier: syr
focal_class.modifiers: public static
focal_class.parameters: (Double alpha, SparseVector x, DenseMatrix a)
focal_class.return: void
focal_class.signature: void syr(Double alpha, SparseVector x, DenseMatrix a)
focal_class.class_method_signature: Blas.gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_class.full_signature: public static void gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_class.identifier: gemm
focal_class.modifiers: public static
focal_class.parameters: (double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_class.return: void
focal_class.signature: void gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_class.class_method_signature: Blas.gemv(double alpha, Matrix a, Vector x, double beta, Vector y)
focal_class.full_signature: public static void gemv(double alpha, Matrix a, Vector x, double beta, Vector y)
focal_class.identifier: gemv
focal_class.modifiers: public static
focal_class.parameters: (double alpha, Matrix a, Vector x, double beta, Vector y)
focal_class.return: void
focal_class.signature: void gemv(double alpha, Matrix a, Vector x, double beta, Vector y)
focal_class.class_method_signature: Blas.scal(Matrix m, double alpha)
focal_class.full_signature: private static void scal(Matrix m, double alpha)
focal_class.identifier: scal
focal_class.modifiers: private static
focal_class.parameters: (Matrix m, double alpha)
focal_class.return: void
focal_class.signature: void scal(Matrix m, double alpha)
focal_class.class_method_signature: Blas.scal(Vector v, double alpha)
focal_class.full_signature: private static void scal(Vector v, double alpha)
focal_class.identifier: scal
focal_class.modifiers: private static
focal_class.parameters: (Vector v, double alpha)
focal_class.return: void
focal_class.signature: void scal(Vector v, double alpha)
focal_class.class_method_signature: Blas.checkCardinality(Matrix a, Vector v)
focal_class.full_signature: public static void checkCardinality(Matrix a, Vector v)
focal_class.identifier: checkCardinality
focal_class.modifiers: public static
focal_class.parameters: (Matrix a, Vector v)
focal_class.return: void
focal_class.signature: void checkCardinality(Matrix a, Vector v)
focal_method.body: public static void gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c) {
          if (alpha == 0.0 && beta == 1.0)
              return;
          else if (alpha == 0.0)
              scal(c, beta);
          else {
  
              double[] fA = a.getStorage().data();
              double[] fB = b.getStorage().data();
              double[] fC = c.getStorage().data();
  
              assert fA != null;
  
              nativeBlas.dgemm("N", "N", a.rowSize(), b.columnSize(), a.columnSize(), alpha, fA,
                  a.rowSize(), fB, b.rowSize(), beta, fC, c.rowSize());
  
              if (c instanceof SparseMatrix)
                  MatrixUtil.unflatten(fC, c);
          }
      }
focal_method.class_method_signature: Blas.gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_method.full_signature: public static void gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_method.identifier: gemm
focal_method.invocations: scal data getStorage data getStorage data getStorage dgemm rowSize columnSize columnSize rowSize rowSize rowSize unflatten
focal_method.modifiers: public static
focal_method.parameters: (double alpha, Matrix a, Matrix b, double beta, Matrix c)
focal_method.return: void
focal_method.signature: void gemm(double alpha, Matrix a, Matrix b, double beta, Matrix c)