Modifier and Type | Field and Description |
---|---|
static Blas |
seqBlas
Little trick to allow for "aliasing", that is, renaming this class.
|
Modifier | Constructor and Description |
---|---|
protected |
SeqBlas()
Makes this class non instantiable, but still let's others inherit from it.
|
Modifier and Type | Method and Description |
---|---|
void |
assign(DoubleMatrix2D A,
DoubleFunction function)
Assigns the result of a function to each cell; x[row,col] = function(x[row,col]).
|
void |
assign(DoubleMatrix2D A,
DoubleMatrix2D B,
DoubleDoubleFunction function)
Assigns the result of a function to each cell; x[row,col] = function(x[row,col],y[row,col]).
|
double |
dasum(DoubleMatrix1D x)
Returns the sum of absolute values; |x[0]| + |x[1]| + ...
|
void |
daxpy(double alpha,
DoubleMatrix1D x,
DoubleMatrix1D y)
Combined vector scaling; y = y + alpha*x.
|
void |
daxpy(double alpha,
DoubleMatrix2D A,
DoubleMatrix2D B)
Combined matrix scaling; B = B + alpha*A.
|
void |
dcopy(DoubleMatrix1D x,
DoubleMatrix1D y)
Vector assignment (copying); y = x.
|
void |
dcopy(DoubleMatrix2D A,
DoubleMatrix2D B)
Matrix assignment (copying); B = A.
|
double |
ddot(DoubleMatrix1D x,
DoubleMatrix1D y)
Returns the dot product of two vectors x and y, which is Sum(x[i]*y[i]).
|
void |
dgemm(boolean transposeA,
boolean transposeB,
double alpha,
DoubleMatrix2D A,
DoubleMatrix2D B,
double beta,
DoubleMatrix2D C)
Generalized linear algebraic matrix-matrix multiply; C = alpha*A*B + beta*C.
|
void |
dgemv(boolean transposeA,
double alpha,
DoubleMatrix2D A,
DoubleMatrix1D x,
double beta,
DoubleMatrix1D y)
Generalized linear algebraic matrix-vector multiply; y = alpha*A*x + beta*y.
|
void |
dger(double alpha,
DoubleMatrix1D x,
DoubleMatrix1D y,
DoubleMatrix2D A)
Performs a rank 1 update; A = A + alpha*x*y'.
|
double |
dnrm2(DoubleMatrix1D x)
Return the 2-norm; sqrt(x[0]^2 + x[1]^2 + ...).
|
void |
drot(DoubleMatrix1D x,
DoubleMatrix1D y,
double c,
double s)
Applies a givens plane rotation to (x,y); x = c*x + s*y; y = c*y - s*x.
|
void |
drotg(double a,
double b,
double[] rotvec)
Constructs a Givens plane rotation for (a,b).
|
void |
dscal(double alpha,
DoubleMatrix1D x)
Vector scaling; x = alpha*x.
|
void |
dscal(double alpha,
DoubleMatrix2D A)
Matrix scaling; A = alpha*A.
|
void |
dswap(DoubleMatrix1D x,
DoubleMatrix1D y)
Swaps the elements of two vectors; y <==> x.
|
void |
dswap(DoubleMatrix2D A,
DoubleMatrix2D B)
Swaps the elements of two matrices; B <==> A.
|
void |
dsymv(boolean isUpperTriangular,
double alpha,
DoubleMatrix2D A,
DoubleMatrix1D x,
double beta,
DoubleMatrix1D y)
Symmetric matrix-vector multiplication; y = alpha*A*x + beta*y.
|
void |
dtrmv(boolean isUpperTriangular,
boolean transposeA,
boolean isUnitTriangular,
DoubleMatrix2D A,
DoubleMatrix1D x)
Triangular matrix-vector multiplication; x = A*x or x = A'*x.
|
int |
idamax(DoubleMatrix1D x)
Returns the index of largest absolute value; i such that |x[i]| == max(|x[0]|,|x[1]|,...)..
|
public static final Blas seqBlas
SeqBlas.blas.dgemm(...);
is a bit awkward. Using the aliasing you can instead write
Blas B = SeqBlas.blas;
B.dgemm(...);
protected SeqBlas()
public void assign(DoubleMatrix2D A, DoubleFunction function)
Blas
public void assign(DoubleMatrix2D A, DoubleMatrix2D B, DoubleDoubleFunction function)
Blas
public double dasum(DoubleMatrix1D x)
Blas
public void daxpy(double alpha, DoubleMatrix1D x, DoubleMatrix1D y)
Blas
public void daxpy(double alpha, DoubleMatrix2D A, DoubleMatrix2D B)
Blas
public void dcopy(DoubleMatrix1D x, DoubleMatrix1D y)
Blas
public void dcopy(DoubleMatrix2D A, DoubleMatrix2D B)
Blas
public double ddot(DoubleMatrix1D x, DoubleMatrix1D y)
Blas
public void dgemm(boolean transposeA, boolean transposeB, double alpha, DoubleMatrix2D A, DoubleMatrix2D B, double beta, DoubleMatrix2D C)
Blas
dgemm
in interface Blas
transposeA
- set this flag to indicate that the multiplication shall be performed on A'.transposeB
- set this flag to indicate that the multiplication shall be performed on B'.alpha
- a scale factor.A
- the first source matrix.B
- the second source matrix.beta
- a scale factor.C
- the third source matrix, this is also the matrix where results are stored.public void dgemv(boolean transposeA, double alpha, DoubleMatrix2D A, DoubleMatrix1D x, double beta, DoubleMatrix1D y)
Blas
dgemv
in interface Blas
transposeA
- set this flag to indicate that the multiplication shall be performed on A'.alpha
- a scale factor.A
- the source matrix.x
- the first source vector.beta
- a scale factor.y
- the second source vector, this is also the vector where results are stored.public void dger(double alpha, DoubleMatrix1D x, DoubleMatrix1D y, DoubleMatrix2D A)
Blas
A = { {6,5}, {7,6} }, x = {1,2}, y = {3,4}, alpha = 1 --> A = { {9,9}, {13,14} }
public double dnrm2(DoubleMatrix1D x)
Blas
public void drot(DoubleMatrix1D x, DoubleMatrix1D y, double c, double s)
Blas
public void drotg(double a, double b, double[] rotvec)
Blas
public void dscal(double alpha, DoubleMatrix1D x)
Blas
public void dscal(double alpha, DoubleMatrix2D A)
Blas
public void dswap(DoubleMatrix1D x, DoubleMatrix1D y)
Blas
public void dswap(DoubleMatrix2D A, DoubleMatrix2D B)
Blas
public void dsymv(boolean isUpperTriangular, double alpha, DoubleMatrix2D A, DoubleMatrix1D x, double beta, DoubleMatrix1D y)
Blas
public void dtrmv(boolean isUpperTriangular, boolean transposeA, boolean isUnitTriangular, DoubleMatrix2D A, DoubleMatrix1D x)
Blas
dtrmv
in interface Blas
isUpperTriangular
- is A upper triangular or lower triangular?transposeA
- set this flag to indicate that the multiplication shall be performed on A'.isUnitTriangular
- true --> A is assumed to be unit triangular; false --> A is not assumed to be unit triangularA
- the source matrix.x
- the vector holding source and destination.public int idamax(DoubleMatrix1D x)
Blas
Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.