|
Parallel Colt 0.9.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcern.colt.matrix.tfloat.algo.SmpFloatBlas
public class SmpFloatBlas
Parallel implementation of the Basic Linear Algebra System for symmetric multi processing boxes. In all cases, no or only marginal speedup is seen for small problem sizes; they are detected and the sequential algorithm is used.
Constructor Summary | |
---|---|
SmpFloatBlas()
|
Method Summary | |
---|---|
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]|,...).. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SmpFloatBlas()
Method Detail |
---|
public void assign(FloatMatrix2D A, FloatFunction function)
FloatBlas
assign
in interface FloatBlas
A
- the matrix to modify.function
- a function object taking as argument the current cell's value.FloatFunctions
public void assign(FloatMatrix2D A, FloatMatrix2D B, FloatFloatFunction function)
FloatBlas
assign
in interface FloatBlas
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,FloatFunctions
public float dasum(FloatMatrix1D x)
FloatBlas
dasum
in interface FloatBlas
x
- the first vector.public void daxpy(float alpha, FloatMatrix1D x, FloatMatrix1D y)
FloatBlas
daxpy
in interface FloatBlas
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(float alpha, FloatMatrix2D A, FloatMatrix2D B)
FloatBlas
daxpy
in interface FloatBlas
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(FloatMatrix1D x, FloatMatrix1D y)
FloatBlas
dcopy
in interface FloatBlas
x
- the source vector.y
- the destination vector.public void dcopy(FloatMatrix2D A, FloatMatrix2D B)
FloatBlas
dcopy
in interface FloatBlas
A
- the source matrix.B
- the destination matrix.public float ddot(FloatMatrix1D x, FloatMatrix1D y)
FloatBlas
ddot
in interface FloatBlas
x
- the first vector.y
- the second vector.
public void dgemm(boolean transposeA, boolean transposeB, float alpha, FloatMatrix2D A, FloatMatrix2D B, float beta, FloatMatrix2D C)
FloatBlas
dgemm
in interface FloatBlas
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, float alpha, FloatMatrix2D A, FloatMatrix1D x, float beta, FloatMatrix1D y)
FloatBlas
dgemv
in interface FloatBlas
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(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} }
dger
in interface FloatBlas
alpha
- a scalar.x
- an m element vector.y
- an n element vector.A
- an m by n matrix.public float dnrm2(FloatMatrix1D x)
FloatBlas
dnrm2
in interface FloatBlas
x
- the vector.public void drot(FloatMatrix1D x, FloatMatrix1D y, float c, float s)
FloatBlas
drot
in interface FloatBlas
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(float a, float b, float[] rotvec)
FloatBlas
drotg
in interface FloatBlas
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(float alpha, FloatMatrix1D x)
FloatBlas
dscal
in interface FloatBlas
alpha
- a scale factor.x
- the first vector.public void dscal(float alpha, FloatMatrix2D A)
FloatBlas
dscal
in interface FloatBlas
alpha
- a scale factor.A
- the matrix.public void dswap(FloatMatrix1D x, FloatMatrix1D y)
FloatBlas
dswap
in interface FloatBlas
x
- the first vector.y
- the second vector.public void dswap(FloatMatrix2D A, FloatMatrix2D B)
FloatBlas
dswap
in interface FloatBlas
A
- the first matrix.B
- the second matrix.public void dsymv(boolean isUpperTriangular, float alpha, FloatMatrix2D A, FloatMatrix1D x, float beta, FloatMatrix1D y)
FloatBlas
dsymv
in interface FloatBlas
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, FloatMatrix2D A, FloatMatrix1D x)
FloatBlas
dtrmv
in interface FloatBlas
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(FloatMatrix1D x)
FloatBlas
idamax
in interface FloatBlas
x
- the vector to search through.
|
Parallel Colt 0.9.4 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |