| Package | Description |
|---|---|
| org.ejml.alg.dense.linsol | |
| org.ejml.alg.dense.misc | |
| org.ejml.alg.dense.mult | |
| org.ejml.data | |
| org.ejml.ops |
| Modifier and Type | Method and Description |
|---|---|
static void |
InvertUsingSolve.invert(LinearSolver<DenseMatrix64F> solver,
RowD1Matrix64F A,
DenseMatrix64F A_inv) |
static void |
InvertUsingSolve.invert(LinearSolver<DenseMatrix64F> solver,
RowD1Matrix64F A,
DenseMatrix64F A_inv,
DenseMatrix64F storage) |
| Modifier and Type | Method and Description |
|---|---|
static void |
TransposeAlgs.block(RowD1Matrix64F A,
RowD1Matrix64F A_tran,
int blockLength)
Performs a transpose across block sub-matrices.
|
double |
DeterminantFromMinor.compute(RowD1Matrix64F mat)
Computes the determinant for the specified matrix.
|
static double |
UnrolledDeterminantFromMinor.det(RowD1Matrix64F mat) |
static double |
UnrolledDeterminantFromMinor.det2(RowD1Matrix64F mat) |
static double |
UnrolledDeterminantFromMinor.det3(RowD1Matrix64F mat) |
static double |
UnrolledDeterminantFromMinor.det4(RowD1Matrix64F mat) |
static double |
UnrolledDeterminantFromMinor.det5(RowD1Matrix64F mat) |
static double |
UnrolledDeterminantFromMinor.det6(RowD1Matrix64F mat) |
static void |
TransposeAlgs.square(RowD1Matrix64F mat)
In-place transpose for a square matrix.
|
static void |
TransposeAlgs.standard(RowD1Matrix64F A,
RowD1Matrix64F A_tran)
A straight forward transpose.
|
| 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 |
MatrixMultProduct.inner_reorder_upper(RowD1Matrix64F a,
RowD1Matrix64F c) |
static void |
MatrixMultProduct.inner_reorder(RowD1Matrix64F a,
RowD1Matrix64F c) |
static void |
MatrixMultProduct.inner_small(RowD1Matrix64F a,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.mult_aux(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.mult_aux(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.mult_reorder(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.mult_reorder(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.mult_small(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.mult_small(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
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 |
MatrixMatrixMult.multAdd_aux(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.multAdd_aux(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.multAdd_reorder(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAdd_reorder(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAdd_small(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAdd_small(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
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 |
MatrixMatrixMult.multAddTransA_reorder(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
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 |
MatrixMatrixMult.multAddTransA_reorder(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAddTransA_small(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
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 |
MatrixMatrixMult.multAddTransA_small(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAddTransAB_aux(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.multAddTransAB_aux(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.multAddTransAB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAddTransAB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAddTransB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multAddTransB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multTransA_reorder(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
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 |
MatrixMatrixMult.multTransA_reorder(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multTransA_small(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
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 |
MatrixMatrixMult.multTransA_small(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multTransAB_aux(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.multTransAB_aux(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c,
double[] aux) |
static void |
MatrixMatrixMult.multTransAB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multTransAB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multTransB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMatrixMult.multTransB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c) |
static void |
MatrixMultProduct.outer(RowD1Matrix64F a,
RowD1Matrix64F c) |
static void |
VectorVectorMult.outerProd(D1Matrix64F x,
D1Matrix64F y,
RowD1Matrix64F A)
Sets A ∈ ℜ m × n equal to an outer product multiplication of the two
vectors.
|
static void |
SubmatrixOps.setSubMatrix(RowD1Matrix64F src,
RowD1Matrix64F dst,
int srcRow,
int srcCol,
int dstRow,
int dstCol,
int numSubRows,
int numSubCols) |
| Modifier and Type | Class and Description |
|---|---|
class |
DenseMatrix64F
DenseMatrix64F is a dense matrix with elements that are 64-bit floats (doubles).
|
| Modifier and Type | Method and Description |
|---|---|
static void |
SpecializedOps.addIdentity(RowD1Matrix64F A,
RowD1Matrix64F B,
double alpha)
Performs the following operation:
B = A + αI |
static DenseMatrix64F |
SpecializedOps.createReflector(RowD1Matrix64F u)
Creates a reflector from the provided vector.
Q = I - γ u uT γ = 2/||u||2 |
static double |
SpecializedOps.diagProd(RowD1Matrix64F T)
Computes the product of the diagonal elements.
|
static double |
NormOps.elementP(RowD1Matrix64F A,
double p)
Element wise p-norm:
norm = {∑i=1:m ∑j=1:n { |aij|p}}1/p |
static void |
CommonOps.mult(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = α * a * b cij = α ∑k=1:n { * aik * bkj} |
static void |
CommonOps.mult(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = a * b cij = ∑k=1:n { aik * bkj} |
static void |
CommonOps.multAdd(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + α * a * b cij = cij + α * ∑k=1:n { aik * bkj} |
static void |
CommonOps.multAdd(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + a * b cij = cij + ∑k=1:n { aik * bkj} |
static void |
CommonOps.multAddTransA(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + α * aT * b cij =cij + α * ∑k=1:n { aki * bkj} |
static void |
CommonOps.multAddTransA(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + aT * b cij = cij + ∑k=1:n { aki * bkj} |
static void |
CommonOps.multAddTransAB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + α * aT * bT cij = cij + α * ∑k=1:n { aki * bjk} |
static void |
CommonOps.multAddTransAB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + aT * bT cij = cij + ∑k=1:n { aki * bjk} |
static void |
CommonOps.multAddTransB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + α * a * bT cij = cij + α * ∑k=1:n { aik * bjk} |
static void |
CommonOps.multAddTransB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = c + a * bT cij = cij + ∑k=1:n { aik * bjk} |
static void |
CommonOps.multInner(RowD1Matrix64F a,
RowD1Matrix64F c)
Computes the matrix multiplication inner product:
c = aT * a cij = ∑k=1:n { aki * akj} |
static void |
CommonOps.multOuter(RowD1Matrix64F a,
RowD1Matrix64F c)
Computes the matrix multiplication outer product:
c = a * aT cij = ∑k=1:m { aik * ajk} |
static void |
CommonOps.multTransA(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = α * aT * b cij = α ∑k=1:n { aki * bkj} |
static void |
CommonOps.multTransA(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = aT * b cij = ∑k=1:n { aki * bkj} |
static void |
CommonOps.multTransAB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = α * aT * bT cij = α ∑k=1:n { aki * bjk} |
static void |
CommonOps.multTransAB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = aT * bT cij = ∑k=1:n { aki * bjk} |
static void |
CommonOps.multTransB(double alpha,
RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = α * a * bT cij = α ∑k=1:n { aik * bjk} |
static void |
CommonOps.multTransB(RowD1Matrix64F a,
RowD1Matrix64F b,
RowD1Matrix64F c)
Performs the following operation:
c = a * bT cij = ∑k=1:n { aik * bjk} |
static void |
CommonOps.setIdentity(RowD1Matrix64F mat)
Sets all the diagonal elements equal to one and everything else equal to zero.
|
static DenseMatrix64F[] |
SpecializedOps.splitIntoVectors(RowD1Matrix64F A,
boolean column)
Takes a matrix and splits it into a set of row or column vectors.
|
static void |
SpecializedOps.subvector(RowD1Matrix64F A,
int rowA,
int colA,
int length,
boolean row,
int offsetV,
RowD1Matrix64F v)
Extracts a row or column vector from matrix A.
|
static double |
CommonOps.trace(RowD1Matrix64F a)
This computes the trace of the matrix:
trace = ∑i=1:n { aii } |
Copyright © 2013. All Rights Reserved.