Class 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.
    • Method Detail

      • setA

        public boolean setA​(org.ejml.data.DMatrixRMaj A)
        Specified by:
        setA in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.DMatrixRMaj,​org.ejml.data.DMatrixRMaj>
        Overrides:
        setA in class LinearSolverLuBase_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 as solve(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.