Class ProductFormInverse

java.lang.Object
org.ojalgo.optimisation.linear.ProductFormInverse
All Implemented Interfaces:
InvertibleFactor<Double>, Structure1D, Structure2D

final class ProductFormInverse extends Object implements InvertibleFactor<Double>
  • Field Details

  • Constructor Details

    • ProductFormInverse

      ProductFormInverse(int dim, double scalingThreshold)
  • Method Details

    • btran

      public void btran(PhysicalStore<Double> arg)
      Description copied from interface: InvertibleFactor
      Backwards-transformation

      Solve [x]T[A] = [b]T (equivalent to [A]T[x] = [b]) by transforming [b] into [x] in-place.

      Specified by:
      btran in interface InvertibleFactor<Double>
      Parameters:
      arg - [b] transformed into [x]
    • ftran

      public void ftran(PhysicalStore<Double> arg)
      Description copied from interface: InvertibleFactor
      Forward-transformation

      Solve [A][x] = [b] by transforming [b] into [x] in-place.

      Specified by:
      ftran in interface InvertibleFactor<Double>
      Parameters:
      arg - [b] transformed into [x]
    • getColDim

      public int getColDim()
      Specified by:
      getColDim in interface Structure2D
      Returns:
      The number of columns
    • getRowDim

      public int getRowDim()
      Specified by:
      getRowDim in interface Structure2D
      Returns:
      The number of rows
    • clearFactors

      private void clearFactors()
    • newFactor

      private ProductFormInverse.ElementaryFactor newFactor(R064Store values, int col, double diagonalElement)
    • reset

      void reset()
    • reset

      void reset(MatrixStore<Double> basis)
      Update the product form inverse to reflect a replaced column.
      Parameters:
      basis - Full basis, with the column already exchanged.
    • update

      void update(int col, SparseArray<Double> values)
      Update the product form inverse to reflect a replaced column.
      Parameters:
      col - The column, of the basis, that was exchanged.
      values - The (non zero) values of that column.
    • update

      void update(MatrixStore<Double> basis, int index, SparseArray<Double> values)
      Update the inverse to reflect a replaced column in the basis.
      Parameters:
      basis - Full basis, with the column already exchanged.
      index - The index, of the column, that was exchanged.
      values - The (non zero) values of that column.