| Package | Description |
|---|---|
| org.ejml.alg.dense.mult | |
| org.ejml.data | |
| org.ejml.ops |
| Modifier and Type | Method and Description |
|---|---|
static void |
VectorVectorMult.addOuterProd(double gamma,
D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F A)
Adds to A ∈ ℜ m × n the results of an outer product multiplication
of the two vectors.
|
static void |
VectorVectorMult.householder(double gamma,
D1Matrix64F u,
D1Matrix64F x,
D1Matrix64F y)
Multiplies a householder reflection against a vector:
y = (I + γ u uT)x |
static double |
VectorVectorMult.innerProd(D1Matrix64F x,
D1Matrix64F y)
Computes the inner product of the two vectors.
|
static double |
VectorVectorMult.innerProdA(D1Matrix64F x,
D1Matrix64F A,
D1Matrix64F y)
xTAy
|
static double |
VectorVectorMult.innerProdTranA(D1Matrix64F x,
D1Matrix64F A,
D1Matrix64F y)
xTATy
|
static void |
MatrixVectorMult.mult(RowD1Matrix64F a,
D1Matrix64F b,
D1Matrix64F c)
Performs a matrix vector multiply.
c = A * b and c = A * bT ci = Sum{ j=1:n, aij * bj} where A is a matrix, b is a column or transposed row vector, and c is a column vector. |
static void |
MatrixVectorMult.multAdd(RowD1Matrix64F A,
D1Matrix64F B,
D1Matrix64F C)
Performs a matrix vector multiply.
C = C + A * B or C = C + A * BT ci = Sum{ j=1:n, ci + aij * bj} where A is a matrix, B is a column or transposed row vector, and C is a column vector. |
static void |
MatrixVectorMult.multAddTransA_reorder(RowD1Matrix64F A,
D1Matrix64F B,
D1Matrix64F C)
An alternative implementation of
MatrixVectorMult.multAddTransA_small(org.ejml.data.RowD1Matrix64F, org.ejml.data.D1Matrix64F, org.ejml.data.D1Matrix64F) that performs well on large
matrices. |
static void |
MatrixVectorMult.multAddTransA_small(RowD1Matrix64F A,
D1Matrix64F B,
D1Matrix64F C)
Performs a matrix vector multiply.
C = C + AT * B or C = CT + AT * BT ci = Sum{ j=1:n, ci + aji * bj} where A is a matrix, B is a column or transposed row vector, and C is a column vector. |
static void |
MatrixVectorMult.multTransA_reorder(RowD1Matrix64F A,
D1Matrix64F B,
D1Matrix64F C)
An alternative implementation of
MatrixVectorMult.multTransA_small(org.ejml.data.RowD1Matrix64F, org.ejml.data.D1Matrix64F, org.ejml.data.D1Matrix64F) that performs well on large
matrices. |
static void |
MatrixVectorMult.multTransA_small(RowD1Matrix64F A,
D1Matrix64F B,
D1Matrix64F C)
Performs a matrix vector multiply.
C = AT * B where B is a column vector. or C = AT * BT where B is a row vector. |
static void |
VectorVectorMult.outerProd(D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F A)
Sets A ∈ ℜ m × n equal to an outer product multiplication of the two
vectors.
|
| Modifier and Type | Class and Description |
|---|---|
class |
BlockMatrix64F
A row-major block matrix declared on to one continuous array.
|
class |
DenseMatrix64F
DenseMatrix64F is a dense matrix with elements that are 64-bit floats (doubles).
|
class |
RowD1Matrix64F
Interface for a row-major matrix that uses a single array internally.
|
| Modifier and Type | Field and Description |
|---|---|
D1Matrix64F |
D1Submatrix64F.original |
| Modifier and Type | Method and Description |
|---|---|
void |
D1Matrix64F.set(D1Matrix64F b)
Sets the value of this matrix to be the same as the value of the provided matrix.
|
| Constructor and Description |
|---|
D1Submatrix64F(D1Matrix64F original) |
D1Submatrix64F(D1Matrix64F original,
int row0,
int row1,
int col0,
int col1) |
| Modifier and Type | Method and Description |
|---|---|
static void |
CommonOps.add(D1Matrix64F a,
D1Matrix64F b,
D1Matrix64F c)
Performs the following operation:
c = a + b cij = aij + bij |
static void |
CommonOps.add(D1Matrix64F a,
double val)
Performs an in-place scalar addition:
a = a + val aij = aij + val |
static void |
CommonOps.add(D1Matrix64F a,
double val,
D1Matrix64F c)
Performs scalar addition:
c = a + val cij = aij + val |
static void |
CommonOps.add(D1Matrix64F a,
double beta,
D1Matrix64F b,
D1Matrix64F c)
Performs the following operation:
c = a + β * b cij = aij + β * bij |
static void |
CommonOps.add(double alpha,
D1Matrix64F a,
D1Matrix64F b,
D1Matrix64F c)
Performs the following operation:
c = α * a + b cij = α * aij + bij |
static void |
CommonOps.add(double alpha,
D1Matrix64F a,
double beta,
D1Matrix64F b,
D1Matrix64F c)
Performs the following operation:
c = α * a + β * b cij = α * aij + β * bij |
static void |
CommonOps.addEquals(D1Matrix64F a,
D1Matrix64F b)
Performs the following operation:
a = a + b aij = aij + bij |
static void |
CommonOps.addEquals(D1Matrix64F a,
double beta,
D1Matrix64F b)
Performs the following operation:
a = a + β * b aij = aij + β * bij |
static void |
CommonOps.changeSign(D1Matrix64F a)
Changes the sign of every element in the matrix.
aij = -aij |
static double |
SpecializedOps.diffNormF_fast(D1Matrix64F a,
D1Matrix64F b) |
static double |
SpecializedOps.diffNormF(D1Matrix64F a,
D1Matrix64F b)
Computes the F norm of the difference between the two Matrices:
Sqrt{∑i=1:m ∑j=1:n ( aij - bij)2} |
static double |
SpecializedOps.diffNormP1(D1Matrix64F a,
D1Matrix64F b)
Computes the p=1 p-norm of the difference between the two Matrices:
∑i=1:m ∑j=1:n | aij - bij| where |x| is the absolute value of x. |
static void |
CommonOps.divide(double alpha,
D1Matrix64F a)
Performs an in-place element by element scalar division.
aij = aij/α |
static void |
CommonOps.divide(double alpha,
D1Matrix64F a,
D1Matrix64F b)
Performs an element by element scalar division.
bij = *aij /α |
static void |
CommonOps.elementDiv(D1Matrix64F a,
D1Matrix64F b)
Performs the an element by element division operation:
aij = aij / bij |
static void |
CommonOps.elementDiv(D1Matrix64F a,
D1Matrix64F b,
D1Matrix64F c)
Performs the an element by element division operation:
cij = aij / bij |
static double |
CommonOps.elementMax(D1Matrix64F a)
Returns the value of the element in the matrix that has the largest value.
Max{ aij } for all i and j |
static double |
CommonOps.elementMaxAbs(D1Matrix64F a)
Returns the absolute value of the element in the matrix that has the largest absolute value.
Max{ |aij| } for all i and j |
static double |
CommonOps.elementMin(D1Matrix64F a)
Returns the value of the element in the matrix that has the minimum value.
Min{ aij } for all i and j |
static double |
CommonOps.elementMinAbs(D1Matrix64F a)
Returns the absolute value of the element in the matrix that has the smallest absolute value.
Min{ |aij| } for all i and j |
static void |
CommonOps.elementMult(D1Matrix64F a,
D1Matrix64F b)
Performs the an element by element multiplication operation:
aij = aij * bij |
static void |
CommonOps.elementMult(D1Matrix64F a,
D1Matrix64F b,
D1Matrix64F c)
Performs the an element by element multiplication operation:
cij = aij * bij |
static double |
CommonOps.elementSum(D1Matrix64F mat)
Computes the sum of all the elements in the matrix:
sum(i=1:m , j=1:n ; aij) |
static double |
CommonOps.elementSumAbs(D1Matrix64F mat)
Computes the sum of the absolute value all the elements in the matrix:
sum(i=1:m , j=1:n ; |aij|) |
static double |
SpecializedOps.elementSumSq(D1Matrix64F m)
Sums up the square of each element in the matrix.
|
static double |
NormOps.fastElementP(D1Matrix64F A,
double p)
Same as
NormOps.elementP(org.ejml.data.RowD1Matrix64F, double) but runs faster by not mitigating overflow/underflow related problems. |
static double |
NormOps.fastNormF(D1Matrix64F a)
This implementation of the Frobenius norm is a straight forward implementation and can
be susceptible for overflow/underflow issues.
|
static void |
CommonOps.fill(D1Matrix64F a,
double value)
Sets every element in the matrix to the specified value.
aij = value |
static boolean |
MatrixFeatures.hasNaN(D1Matrix64F m)
Checks to see if any element in the matrix is NaN.
|
static boolean |
MatrixFeatures.hasUncountable(D1Matrix64F m)
Checks to see if any element in the matrix is NaN of Infinite.
|
static boolean |
MatrixFeatures.isEquals(D1Matrix64F a,
D1Matrix64F b)
Checks to see if each element in the two matrices are equal:
aij == bij
|
static boolean |
MatrixFeatures.isEquals(D1Matrix64F a,
D1Matrix64F b,
double tol)
Checks to see if each element in the two matrices are within tolerance of
each other: tol ≥ |aij - bij|.
|
static boolean |
MatrixFeatures.isIdentical(D1Matrix64F a,
D1Matrix64F b,
double tol)
Checks to see if each corresponding element in the two matrices are
within tolerance of each other or have the some symbolic meaning.
|
static boolean |
MatrixFeatures.isNegative(D1Matrix64F a,
D1Matrix64F b,
double tol)
Checks to see if the two matrices are the negative of each other:
aij = -bij |
static boolean |
MatrixFeatures.isSquare(D1Matrix64F mat)
Checks to see if it is a square matrix.
|
static boolean |
MatrixFeatures.isVector(D1Matrix64F mat)
Checks to see if the matrix is a vector or not.
|
static double |
NormOps.normF(D1Matrix64F a)
Computes the Frobenius matrix norm:
normF = Sqrt{ ∑i=1:m ∑j=1:n { aij2} } |
static double |
SpecializedOps.qualityTriangular(boolean upper,
D1Matrix64F T)
Computes the quality of a triangular matrix, where the quality of a matrix
is defined in
LinearSolver.quality(). |
static void |
MatrixComponent.renderMatrix(D1Matrix64F M,
BufferedImage image,
double maxValue) |
static void |
CommonOps.scale(double alpha,
D1Matrix64F a)
Performs an in-place element by element scalar multiplication.
aij = α*aij |
static void |
CommonOps.scale(double alpha,
D1Matrix64F a,
D1Matrix64F b)
Performs an element by element scalar multiplication.
bij = α*aij |
void |
MatrixComponent.setMatrix(D1Matrix64F A) |
static void |
RandomMatrices.setRandom(D1Matrix64F mat,
double min,
double max,
Random rand)
Sets each element in the matrix to a value drawn from an uniform distribution from 'min' to 'max' inclusive.
|
static void |
MatrixVisualization.show(D1Matrix64F A,
String title)
Creates a window visually showing the matrix's state.
|
static void |
CommonOps.sub(D1Matrix64F a,
D1Matrix64F b,
D1Matrix64F c)
Performs the following subtraction operation:
c = a - b cij = aij - bij |
static void |
CommonOps.subEquals(D1Matrix64F a,
D1Matrix64F b)
Performs the following subtraction operation:
a = a - b aij = aij - bij |
Copyright © 2013. All Rights Reserved.