Package org.ejml.dense.row.linsol.lu
Class LinearSolverLuKJI_DDRM
java.lang.Object
org.ejml.dense.row.linsol.LinearSolverAbstract_DDRM
org.ejml.dense.row.linsol.lu.LinearSolverLuBase_DDRM
org.ejml.dense.row.linsol.lu.LinearSolverLuKJI_DDRM
- All Implemented Interfaces:
org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,org.ejml.data.DMatrixRMaj>,org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.DMatrixRMaj>
public class LinearSolverLuKJI_DDRM extends LinearSolverLuBase_DDRM
To avoid cpu cache issues the order in which the arrays are traversed have been changed.
There seems to be no performance benit relative to
LinearSolverLu_DDRM in this approach
and b and x can't be the same instance, which means it has slightly less functionality.-
Field Summary
-
Constructor Summary
Constructors Constructor Description LinearSolverLuKJI_DDRM(LUDecompositionBase_DDRM decomp) -
Method Summary
Methods inherited from class org.ejml.dense.row.linsol.lu.LinearSolverLuBase_DDRM
getDecomposition, improveSol, invert, modifiesA, modifiesB, quality
-
Constructor Details
-
Method Details
-
setA
public boolean setA(org.ejml.data.DMatrixRMaj A)- Specified by:
setAin interfaceorg.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,org.ejml.data.DMatrixRMaj>- Overrides:
setAin classLinearSolverLuBase_DDRM
-
solve
public void solve(org.ejml.data.DMatrixRMaj B, org.ejml.data.DMatrixRMaj X)An other implementation of solve() that processes the matrices in a different order. It seems to have the same runtime performance assolve(org.ejml.data.DMatrixRMaj, org.ejml.data.DMatrixRMaj)and is more complicated. It is being kept around to avoid future replication of work.- Parameters:
B- A matrix that is n by m. Not modified.X- An n by m matrix where the solution is writen to. Modified.
-