public class SmpFloatBlas extends Object implements FloatBlas
| Constructor and Description |
|---|
SmpFloatBlas() |
| Modifier and Type | Method and Description |
|---|---|
void |
assign(FloatMatrix2D A,
FloatFunction function)
Assigns the result of a function to each cell;
x[row,col] = function(x[row,col]).
|
void |
assign(FloatMatrix2D A,
FloatMatrix2D B,
FloatFloatFunction function)
Assigns the result of a function to each cell;
x[row,col] = function(x[row,col],y[row,col]).
|
float |
dasum(FloatMatrix1D x)
Returns the sum of absolute values; |x[0]| + |x[1]| + ...
|
void |
daxpy(float alpha,
FloatMatrix1D x,
FloatMatrix1D y)
Combined vector scaling; y = y + alpha*x.
|
void |
daxpy(float alpha,
FloatMatrix2D A,
FloatMatrix2D B)
Combined matrix scaling; B = B + alpha*A.
|
void |
dcopy(FloatMatrix1D x,
FloatMatrix1D y)
Vector assignment (copying); y = x.
|
void |
dcopy(FloatMatrix2D A,
FloatMatrix2D B)
Matrix assignment (copying); B = A.
|
float |
ddot(FloatMatrix1D x,
FloatMatrix1D y)
Returns the dot product of two vectors x and y, which is
Sum(x[i]*y[i]).
|
void |
dgemm(boolean transposeA,
boolean transposeB,
float alpha,
FloatMatrix2D A,
FloatMatrix2D B,
float beta,
FloatMatrix2D C)
Generalized linear algebraic matrix-matrix multiply;
C = alpha*A*B + beta*C.
|
void |
dgemv(boolean transposeA,
float alpha,
FloatMatrix2D A,
FloatMatrix1D x,
float beta,
FloatMatrix1D y)
Generalized linear algebraic matrix-vector multiply;
y = alpha*A*x + beta*y.
|
void |
dger(float alpha,
FloatMatrix1D x,
FloatMatrix1D y,
FloatMatrix2D A)
Performs a rank 1 update; A = A + alpha*x*y'.
|
float |
dnrm2(FloatMatrix1D x)
Return the 2-norm; sqrt(x[0]^2 + x[1]^2 + ...).
|
void |
drot(FloatMatrix1D x,
FloatMatrix1D y,
float c,
float s)
Applies a givens plane rotation to (x,y);
x = c*x + s*y; y = c*y - s*x.
|
void |
drotg(float a,
float b,
float[] rotvec)
Constructs a Givens plane rotation for (a,b).
|
void |
dscal(float alpha,
FloatMatrix1D x)
Vector scaling; x = alpha*x.
|
void |
dscal(float alpha,
FloatMatrix2D A)
Matrix scaling; A = alpha*A.
|
void |
dswap(FloatMatrix1D x,
FloatMatrix1D y)
Swaps the elements of two vectors; y <==> x.
|
void |
dswap(FloatMatrix2D A,
FloatMatrix2D B)
Swaps the elements of two matrices; B <==> A.
|
void |
dsymv(boolean isUpperTriangular,
float alpha,
FloatMatrix2D A,
FloatMatrix1D x,
float beta,
FloatMatrix1D y)
Symmetric matrix-vector multiplication; y = alpha*A*x + beta*y.
|
void |
dtrmv(boolean isUpperTriangular,
boolean transposeA,
boolean isUnitTriangular,
FloatMatrix2D A,
FloatMatrix1D x)
Triangular matrix-vector multiplication; x = A*x or x = A'*x.
|
int |
idamax(FloatMatrix1D x)
Returns the index of largest absolute value;
i such that |x[i]| == max(|x[0]|,|x[1]|,...)..
|
public void assign(FloatMatrix2D A, FloatFunction function)
FloatBlasassign in interface FloatBlasA - the matrix to modify.function - a function object taking as argument the current cell's value.FloatFunctionspublic void assign(FloatMatrix2D A, FloatMatrix2D B, FloatFloatFunction function)
FloatBlasassign in interface FloatBlasA - the matrix to modify.B - the secondary matrix to operate on.function - a function object taking as first argument the current cell's
value of this, and as second argument the current
cell's value of y,FloatFunctionspublic float dasum(FloatMatrix1D x)
FloatBlaspublic void daxpy(float alpha,
FloatMatrix1D x,
FloatMatrix1D y)
FloatBlaspublic void daxpy(float alpha,
FloatMatrix2D A,
FloatMatrix2D B)
FloatBlaspublic void dcopy(FloatMatrix1D x, FloatMatrix1D y)
FloatBlaspublic void dcopy(FloatMatrix2D A, FloatMatrix2D B)
FloatBlaspublic float ddot(FloatMatrix1D x, FloatMatrix1D y)
FloatBlaspublic void dgemm(boolean transposeA,
boolean transposeB,
float alpha,
FloatMatrix2D A,
FloatMatrix2D B,
float beta,
FloatMatrix2D C)
FloatBlasdgemm in interface FloatBlastransposeA - 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,
float alpha,
FloatMatrix2D A,
FloatMatrix1D x,
float beta,
FloatMatrix1D y)
FloatBlasdgemv in interface FloatBlastransposeA - 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(float alpha,
FloatMatrix1D x,
FloatMatrix1D y,
FloatMatrix2D A)
FloatBlas
A = { {6,5}, {7,6} }, x = {1,2}, y = {3,4}, alpha = 1 -->
A = { {9,9}, {13,14} }
public float dnrm2(FloatMatrix1D x)
FloatBlaspublic void drot(FloatMatrix1D x, FloatMatrix1D y, float c, float s)
FloatBlaspublic void drotg(float a,
float b,
float[] rotvec)
FloatBlaspublic void dscal(float alpha,
FloatMatrix1D x)
FloatBlaspublic void dscal(float alpha,
FloatMatrix2D A)
FloatBlaspublic void dswap(FloatMatrix1D x, FloatMatrix1D y)
FloatBlaspublic void dswap(FloatMatrix2D A, FloatMatrix2D B)
FloatBlaspublic void dsymv(boolean isUpperTriangular,
float alpha,
FloatMatrix2D A,
FloatMatrix1D x,
float beta,
FloatMatrix1D y)
FloatBlaspublic void dtrmv(boolean isUpperTriangular,
boolean transposeA,
boolean isUnitTriangular,
FloatMatrix2D A,
FloatMatrix1D x)
FloatBlasdtrmv in interface FloatBlasisUpperTriangular - 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(FloatMatrix1D x)
FloatBlasJump to the Parallel Colt Homepage