Class AdamsMoultonIntegrator.Corrector

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double[] after
      Current state after correction.
      private double[] before
      Current state before correction.
      private double[] previous
      Previous state.
      private double[] scaled
      Current scaled first derivative.
    • Constructor Summary

      Constructors 
      Constructor Description
      Corrector​(double[] previous, double[] scaled, double[] state)
      Simple constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double end()
      End visiting the Nordsieck vector.
      void start​(int rows, int columns, int startRow, int endRow, int startColumn, int endColumn)
      Start visiting a matrix.
      void visit​(int row, int column, double value)
      Visit one matrix entry.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • previous

        private final double[] previous
        Previous state.
      • scaled

        private final double[] scaled
        Current scaled first derivative.
      • before

        private final double[] before
        Current state before correction.
      • after

        private final double[] after
        Current state after correction.
    • Constructor Detail

      • Corrector

        Corrector​(double[] previous,
                  double[] scaled,
                  double[] state)
        Simple constructor.
        Parameters:
        previous - previous state
        scaled - current scaled first derivative
        state - state to correct (will be overwritten after visit)
    • Method Detail

      • start

        public void start​(int rows,
                          int columns,
                          int startRow,
                          int endRow,
                          int startColumn,
                          int endColumn)
        Start visiting a matrix.

        This method is called once before any entry of the matrix is visited.

        Specified by:
        start in interface RealMatrixPreservingVisitor
        Parameters:
        rows - number of rows of the matrix
        columns - number of columns of the matrix
        startRow - Initial row index
        endRow - Final row index (inclusive)
        startColumn - Initial column index
        endColumn - Final column index (inclusive)
      • visit

        public void visit​(int row,
                          int column,
                          double value)
        Visit one matrix entry.
        Specified by:
        visit in interface RealMatrixPreservingVisitor
        Parameters:
        row - row index of the entry
        column - column index of the entry
        value - current value of the entry
      • end

        public double end()
        End visiting the Nordsieck vector.

        The correction is used to control stepsize. So its amplitude is considered to be an error, which must be normalized according to error control settings. If the normalized value is greater than 1, the correction was too large and the step must be rejected.

        Specified by:
        end in interface RealMatrixPreservingVisitor
        Returns:
        the normalized correction, if greater than 1, the step must be rejected