public class BLAS
extends Object
Constructor and Description |
---|
BLAS() |
Modifier and Type | Method and Description |
---|---|
static void |
axpy(double a,
Vector x,
Vector y)
y += a * x
|
static void |
copy(Vector x,
Vector y)
y = x
|
static double |
dot(Vector x,
Vector y)
dot(x, y)
|
static void |
dspmv(int n,
double alpha,
DenseVector A,
DenseVector x,
double beta,
DenseVector y)
y := alpha*A*x + beta*y
|
static void |
gemm(double alpha,
Matrix A,
DenseMatrix B,
double beta,
DenseMatrix C)
C := alpha * A * B + beta * C
|
static 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 |
gemv(double alpha,
Matrix A,
double[] x,
double beta,
double[] y)
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 * y
|
static void |
scal(double a,
Vector x)
x = a * x
|
static void |
spr(double alpha,
Vector v,
DenseVector U)
Adds alpha * x * x.t to a matrix in-place.
|
static void |
spr(double alpha,
Vector v,
double[] U)
Adds alpha * v * v.t to a matrix in-place.
|
static void |
syr(double alpha,
Vector x,
DenseMatrix A)
A := alpha * x * x^T^ + A
|
public static void axpy(double a, Vector x, Vector y)
a
- (undocumented)x
- (undocumented)y
- (undocumented)public static double dot(Vector x, Vector y)
x
- (undocumented)y
- (undocumented)public static void copy(Vector x, Vector y)
x
- (undocumented)y
- (undocumented)public static void scal(double a, Vector x)
a
- (undocumented)x
- (undocumented)public static void spr(double alpha, Vector v, DenseVector U)
U
- the upper triangular part of the matrix in a DenseVector
(column major)alpha
- (undocumented)v
- (undocumented)public static void dspmv(int n, double alpha, DenseVector A, DenseVector x, double beta, DenseVector y)
n
- The order of the n by n matrix A.A
- The upper triangular part of A in a DenseVector
(column major).x
- The DenseVector
transformed by A.y
- The DenseVector
to be modified in place.alpha
- (undocumented)beta
- (undocumented)public static void spr(double alpha, Vector v, double[] U)
U
- the upper triangular part of the matrix packed in an array (column major)alpha
- (undocumented)v
- (undocumented)public static void syr(double alpha, Vector x, DenseMatrix A)
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.public static void gemm(double alpha, Matrix A, DenseMatrix B, double beta, DenseMatrix C)
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.public static void gemm(double alpha, Matrix A, DenseMatrix B, double beta, double[] CValues)
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.public static void gemv(double alpha, Matrix A, double[] x, double beta, double[] y)
alpha
- (undocumented)A
- (undocumented)x
- (undocumented)beta
- (undocumented)y
- (undocumented)public static void gemv(double alpha, Matrix A, Vector x, double beta, DenseVector y)
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.