|
Colt 1.1.0 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--cern.colt.matrix.linalg.SeqBlas
Sequential implementation of the Basic Linear Algebra System.
Field Summary | |
static Blas |
seqBlas
Little trick to allow for "aliasing", that is, renaming this class. |
Method Summary | |
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]|,...).. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
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(...);
Method Detail |
public void assign(DoubleMatrix2D A, DoubleFunction function)
Blas
assign
in interface Blas
cern.colt.matrix.linalg.Blas
A
- the matrix to modify.function
- a function object taking as argument the current cell's value.Functions
public void assign(DoubleMatrix2D A, DoubleMatrix2D B, DoubleDoubleFunction function)
Blas
assign
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the matrix to modify.y
- 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,IllegalArgumentException
- if x.columns() != y.columns() || x.rows() != y.rows()Functions
public double dasum(DoubleMatrix1D x)
Blas
dasum
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the first vector.public void daxpy(double alpha, DoubleMatrix1D x, DoubleMatrix1D y)
Blas
daxpy
in interface Blas
cern.colt.matrix.linalg.Blas
alpha
- a scale factor.x
- the first source vector.y
- the second source vector, this is also the vector where results are stored.IllegalArgumentException
- x.size() != y.size()..public void daxpy(double alpha, DoubleMatrix2D A, DoubleMatrix2D B)
Blas
daxpy
in interface Blas
cern.colt.matrix.linalg.Blas
alpha
- a scale factor.A
- the first source matrix.B
- the second source matrix, this is also the matrix where results are stored.IllegalArgumentException
- if A.columns() != B.columns() || A.rows() != B.rows().public void dcopy(DoubleMatrix1D x, DoubleMatrix1D y)
Blas
dcopy
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the source vector.y
- the destination vector.IllegalArgumentException
- x.size() != y.size().public void dcopy(DoubleMatrix2D A, DoubleMatrix2D B)
Blas
dcopy
in interface Blas
cern.colt.matrix.linalg.Blas
A
- the source matrix.B
- the destination matrix.IllegalArgumentException
- if A.columns() != B.columns() || A.rows() != B.rows().public double ddot(DoubleMatrix1D x, DoubleMatrix1D y)
Blas
ddot
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the first vector.y
- the second vector.IllegalArgumentException
- if x.size() != y.size().public void dgemm(boolean transposeA, boolean transposeB, double alpha, DoubleMatrix2D A, DoubleMatrix2D B, double beta, DoubleMatrix2D C)
Blas
dgemm
in interface Blas
cern.colt.matrix.linalg.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.IllegalArgumentException
- if B.rows() != A.columns().IllegalArgumentException
- if C.rows() != A.rows() || C.columns() != B.columns().IllegalArgumentException
- if A == C || B == C.public void dgemv(boolean transposeA, double alpha, DoubleMatrix2D A, DoubleMatrix1D x, double beta, DoubleMatrix1D y)
Blas
dgemv
in interface Blas
cern.colt.matrix.linalg.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.IllegalArgumentException
- A.columns() != x.size() || A.rows() != y.size())..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} }
dger
in interface Blas
cern.colt.matrix.linalg.Blas
alpha
- a scalar.x
- an m element vector.y
- an n element vector.A
- an m by n matrix.public double dnrm2(DoubleMatrix1D x)
Blas
dnrm2
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the vector.public void drot(DoubleMatrix1D x, DoubleMatrix1D y, double c, double s)
Blas
drot
in interface Blas
cern.colt.matrix.linalg.Blas
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)
Blas
drotg
in interface Blas
cern.colt.matrix.linalg.Blas
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)
Blas
dscal
in interface Blas
cern.colt.matrix.linalg.Blas
alpha
- a scale factor.x
- the first vector.public void dscal(double alpha, DoubleMatrix2D A)
Blas
dscal
in interface Blas
cern.colt.matrix.linalg.Blas
alpha
- a scale factor.A
- the matrix.public void dswap(DoubleMatrix1D x, DoubleMatrix1D y)
Blas
dswap
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the first vector.y
- the second vector.IllegalArgumentException
- x.size() != y.size().public void dswap(DoubleMatrix2D A, DoubleMatrix2D B)
Blas
dswap
in interface Blas
cern.colt.matrix.linalg.Blas
A
- the first matrix.B
- the second matrix.IllegalArgumentException
- if A.columns() != B.columns() || A.rows() != B.rows().public void dsymv(boolean isUpperTriangular, double alpha, DoubleMatrix2D A, DoubleMatrix1D x, double beta, DoubleMatrix1D y)
Blas
dsymv
in interface Blas
cern.colt.matrix.linalg.Blas
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)
Blas
dtrmv
in interface Blas
cern.colt.matrix.linalg.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
idamax
in interface Blas
cern.colt.matrix.linalg.Blas
x
- the vector to search through.
|
Colt 1.1.0 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |