public class SmpDoubleBlas extends Object implements DoubleBlas
| Constructor and Description |
|---|
SmpDoubleBlas() |
| 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 void assign(DoubleMatrix2D A, DoubleFunction function)
DoubleBlasassign in interface DoubleBlasA - the matrix to modify.function - a function object taking as argument the current cell's value.DoubleFunctionspublic void assign(DoubleMatrix2D A, DoubleMatrix2D B, DoubleDoubleFunction function)
DoubleBlasassign in interface DoubleBlasA - 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,DoubleFunctionspublic double dasum(DoubleMatrix1D x)
DoubleBlasdasum in interface DoubleBlasx - the first vector.public void daxpy(double alpha,
DoubleMatrix1D x,
DoubleMatrix1D y)
DoubleBlasdaxpy in interface DoubleBlasalpha - a scale factor.x - the first source vector.y - the second source vector, this is also the vector where
results are stored.public void daxpy(double alpha,
DoubleMatrix2D A,
DoubleMatrix2D B)
DoubleBlasdaxpy in interface DoubleBlasalpha - a scale factor.A - the first source matrix.B - the second source matrix, this is also the matrix where
results are stored.public void dcopy(DoubleMatrix1D x, DoubleMatrix1D y)
DoubleBlasdcopy in interface DoubleBlasx - the source vector.y - the destination vector.public void dcopy(DoubleMatrix2D A, DoubleMatrix2D B)
DoubleBlasdcopy in interface DoubleBlasA - the source matrix.B - the destination matrix.public double ddot(DoubleMatrix1D x, DoubleMatrix1D y)
DoubleBlasddot in interface DoubleBlasx - the first vector.y - the second vector.public void dgemm(boolean transposeA,
boolean transposeB,
double alpha,
DoubleMatrix2D A,
DoubleMatrix2D B,
double beta,
DoubleMatrix2D C)
DoubleBlasdgemm in interface DoubleBlastransposeA - 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)
DoubleBlasdgemv in interface DoubleBlastransposeA - 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)
DoubleBlas
A = { {6,5}, {7,6} }, x = {1,2}, y = {3,4}, alpha = 1 -->
A = { {9,9}, {13,14} }
dger in interface DoubleBlasalpha - a scalar.x - an m element vector.y - an n element vector.A - an m by n matrix.public double dnrm2(DoubleMatrix1D x)
DoubleBlasdnrm2 in interface DoubleBlasx - the vector.public void drot(DoubleMatrix1D x, DoubleMatrix1D y, double c, double s)
DoubleBlasdrot in interface DoubleBlasx - the first vector.y - the second vector.c - the cosine of the angle of rotation.s - the sine of the angle of rotation.public void drotg(double a,
double b,
double[] rotvec)
DoubleBlasdrotg in interface DoubleBlasa - rotational elimination parameter a.b - rotational elimination parameter b.rotvec - Must be at least of length 4. On output contains the values
{a,b,c,s}.public void dscal(double alpha,
DoubleMatrix1D x)
DoubleBlasdscal in interface DoubleBlasalpha - a scale factor.x - the first vector.public void dscal(double alpha,
DoubleMatrix2D A)
DoubleBlasdscal in interface DoubleBlasalpha - a scale factor.A - the matrix.public void dswap(DoubleMatrix1D x, DoubleMatrix1D y)
DoubleBlasdswap in interface DoubleBlasx - the first vector.y - the second vector.public void dswap(DoubleMatrix2D A, DoubleMatrix2D B)
DoubleBlasdswap in interface DoubleBlasA - the first matrix.B - the second matrix.public void dsymv(boolean isUpperTriangular,
double alpha,
DoubleMatrix2D A,
DoubleMatrix1D x,
double beta,
DoubleMatrix1D y)
DoubleBlasdsymv in interface DoubleBlasisUpperTriangular - is A upper triangular or lower triangular part to be used?alpha - scaling factor.A - the source matrix.x - the first source vector.beta - scaling factor.y - the second vector holding source and destination.public void dtrmv(boolean isUpperTriangular,
boolean transposeA,
boolean isUnitTriangular,
DoubleMatrix2D A,
DoubleMatrix1D x)
DoubleBlasdtrmv in interface DoubleBlasisUpperTriangular - 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)
DoubleBlasidamax in interface DoubleBlasx - the vector to search through.Jump to the Parallel Colt Homepage