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)
DoubleBlas
assign
in interface DoubleBlas
A
- the matrix to modify.function
- a function object taking as argument the current cell's value.DoubleFunctions
public void assign(DoubleMatrix2D A, DoubleMatrix2D B, DoubleDoubleFunction function)
DoubleBlas
assign
in interface DoubleBlas
A
- 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,DoubleFunctions
public double dasum(DoubleMatrix1D x)
DoubleBlas
dasum
in interface DoubleBlas
x
- the first vector.public void daxpy(double alpha, DoubleMatrix1D x, DoubleMatrix1D y)
DoubleBlas
daxpy
in interface DoubleBlas
alpha
- 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)
DoubleBlas
daxpy
in interface DoubleBlas
alpha
- 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)
DoubleBlas
dcopy
in interface DoubleBlas
x
- the source vector.y
- the destination vector.public void dcopy(DoubleMatrix2D A, DoubleMatrix2D B)
DoubleBlas
dcopy
in interface DoubleBlas
A
- the source matrix.B
- the destination matrix.public double ddot(DoubleMatrix1D x, DoubleMatrix1D y)
DoubleBlas
ddot
in interface DoubleBlas
x
- the first vector.y
- the second vector.public void dgemm(boolean transposeA, boolean transposeB, double alpha, DoubleMatrix2D A, DoubleMatrix2D B, double beta, DoubleMatrix2D C)
DoubleBlas
dgemm
in interface DoubleBlas
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)
DoubleBlas
dgemv
in interface DoubleBlas
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)
DoubleBlas
A = { {6,5}, {7,6} }, x = {1,2}, y = {3,4}, alpha = 1 --> A = { {9,9}, {13,14} }
dger
in interface DoubleBlas
alpha
- a scalar.x
- an m element vector.y
- an n element vector.A
- an m by n matrix.public double dnrm2(DoubleMatrix1D x)
DoubleBlas
dnrm2
in interface DoubleBlas
x
- the vector.public void drot(DoubleMatrix1D x, DoubleMatrix1D y, double c, double s)
DoubleBlas
drot
in interface DoubleBlas
x
- 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)
DoubleBlas
drotg
in interface DoubleBlas
a
- 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)
DoubleBlas
dscal
in interface DoubleBlas
alpha
- a scale factor.x
- the first vector.public void dscal(double alpha, DoubleMatrix2D A)
DoubleBlas
dscal
in interface DoubleBlas
alpha
- a scale factor.A
- the matrix.public void dswap(DoubleMatrix1D x, DoubleMatrix1D y)
DoubleBlas
dswap
in interface DoubleBlas
x
- the first vector.y
- the second vector.public void dswap(DoubleMatrix2D A, DoubleMatrix2D B)
DoubleBlas
dswap
in interface DoubleBlas
A
- the first matrix.B
- the second matrix.public void dsymv(boolean isUpperTriangular, double alpha, DoubleMatrix2D A, DoubleMatrix1D x, double beta, DoubleMatrix1D y)
DoubleBlas
dsymv
in interface DoubleBlas
isUpperTriangular
- 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)
DoubleBlas
dtrmv
in interface DoubleBlas
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)
DoubleBlas
idamax
in interface DoubleBlas
x
- the vector to search through.Jump to the Parallel Colt Homepage