Class LinearSolverLuKJI_FDRM

  • All Implemented Interfaces:
    org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>, org.ejml.interfaces.linsol.LinearSolverDense<org.ejml.data.FMatrixRMaj>

    public class LinearSolverLuKJI_FDRM
    extends LinearSolverLuBase_FDRM
    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_FDRM 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.FMatrixRMaj A)
        Specified by:
        setA in interface org.ejml.interfaces.linsol.LinearSolver<org.ejml.data.FMatrixRMaj,​org.ejml.data.FMatrixRMaj>
        Overrides:
        setA in class LinearSolverLuBase_FDRM
      • solve

        public void solve​(org.ejml.data.FMatrixRMaj B,
                          org.ejml.data.FMatrixRMaj 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.FMatrixRMaj, org.ejml.data.FMatrixRMaj) 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.