Package org.apache.spark.ml.linalg
Class BLAS
Object
org.apache.spark.ml.linalg.BLAS
BLAS routines for MLlib's vectors and matrices.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
y += a * xstatic void
y = xstatic double
dot(x, y)static void
dspmv
(int n, double alpha, DenseVector A, DenseVector x, double beta, DenseVector y) y := alpha*A*x + beta*ystatic void
gemm
(double alpha, Matrix A, DenseMatrix B, double beta, double[] CValues) CValues[0: A.numRows * B.numCols] := alpha * A * B + beta * CValues[0: A.numRows * B.numCols]static void
gemm
(double alpha, Matrix A, DenseMatrix B, double beta, DenseMatrix C) C := alpha * A * B + beta * Cstatic void
y[0: A.numRows] := alpha * A * x[0: A.numCols] + beta * y[0: A.numRows]static void
gemv
(double alpha, Matrix A, Vector x, double beta, DenseVector y) y := alpha * A * x + beta * ystatic void
x = a * xstatic void
Adds alpha * v * v.t to a matrix in-place.static void
spr
(double alpha, Vector v, DenseVector U) Adds alpha * x * x.t to a matrix in-place.static void
syr
(double alpha, Vector x, DenseMatrix A) A := alpha * x * x^T^ + A
-
Constructor Details
-
BLAS
public BLAS()
-
-
Method Details
-
axpy
y += a * x- Parameters:
a
- (undocumented)x
- (undocumented)y
- (undocumented)
-
dot
dot(x, y)- Parameters:
x
- (undocumented)y
- (undocumented)- Returns:
- (undocumented)
-
copy
y = x- Parameters:
x
- (undocumented)y
- (undocumented)
-
scal
x = a * x- Parameters:
a
- (undocumented)x
- (undocumented)
-
spr
Adds alpha * x * x.t to a matrix in-place. This is the same as BLAS's ?SPR.- Parameters:
U
- the upper triangular part of the matrix in aDenseVector
(column major)alpha
- (undocumented)v
- (undocumented)
-
dspmv
public static void dspmv(int n, double alpha, DenseVector A, DenseVector x, double beta, DenseVector y) y := alpha*A*x + beta*y- Parameters:
n
- The order of the n by n matrix A.A
- The upper triangular part of A in aDenseVector
(column major).x
- TheDenseVector
transformed by A.y
- TheDenseVector
to be modified in place.alpha
- (undocumented)beta
- (undocumented)
-
spr
Adds alpha * v * v.t to a matrix in-place. This is the same as BLAS's ?SPR.- Parameters:
U
- the upper triangular part of the matrix packed in an array (column major)alpha
- (undocumented)v
- (undocumented)
-
syr
A := alpha * x * x^T^ + A- Parameters:
alpha
- a real scalar that will be multiplied to x * x^T^.x
- the vector x that contains the n elements.A
- the symmetric matrix A. Size of n x n.
-
gemm
C := alpha * A * B + beta * C- Parameters:
alpha
- a scalar to scale the multiplication A * B.A
- the matrix A that will be left multiplied to B. Size of m x k.B
- the matrix B that will be left multiplied by A. Size of k x n.beta
- a scalar that can be used to scale matrix C.C
- the resulting matrix C. Size of m x n. C.isTransposed must be false.
-
gemm
CValues[0: A.numRows * B.numCols] := alpha * A * B + beta * CValues[0: A.numRows * B.numCols]- Parameters:
alpha
- a scalar to scale the multiplication A * B.A
- the matrix A that will be left multiplied to B. Size of m x k.B
- the matrix B that will be left multiplied by A. Size of k x n.beta
- a scalar that can be used to scale matrix C.CValues
- the values of matrix C. C.isTransposed is supposed to be false.
-
gemv
y[0: A.numRows] := alpha * A * x[0: A.numCols] + beta * y[0: A.numRows]- Parameters:
alpha
- (undocumented)A
- (undocumented)x
- (undocumented)beta
- (undocumented)y
- (undocumented)
-
gemv
y := alpha * A * x + beta * y- Parameters:
alpha
- a scalar to scale the multiplication A * x.A
- the matrix A that will be left multiplied to x. Size of m x n.x
- the vector x that will be left multiplied by A. Size of n x 1.beta
- a scalar that can be used to scale vector y.y
- the resulting vector y. Size of m x 1.
-