Interface TrustRegionBase_F64.ParameterUpdate<S extends DMatrix>

All Known Implementing Classes:
TrustRegionUpdateCauchy_F64, TrustRegionUpdateDogleg_F64
Enclosing class:
TrustRegionBase_F64<S extends DMatrix,HM extends HessianMath>

public static interface TrustRegionBase_F64.ParameterUpdate<S extends DMatrix>
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    computeUpdate(DMatrixRMaj p, double regionRadius)
    Compute the value of p given a new parameter state x and the region radius.
    double
    Returns the predicted reduction from the quadratic model.

    reduction = m(0) - m(p) = -g(0)*p - 0.5*pT*H(0)*p
    double
    This function returns ||p||.
    void
    initialize(TrustRegionBase_F64<S,?> base, int numberOfParameters, double minimumFunctionValue)
    Must call this function first.
    void
    Initialize the parameter update.
    void
    setVerbose(@Nullable PrintStream out, int level)
     
  • Method Details

    • initialize

      void initialize(TrustRegionBase_F64<S,?> base, int numberOfParameters, double minimumFunctionValue)
      Must call this function first. Specifies the number of parameters that are being optimized.
      Parameters:
      minimumFunctionValue - The minimum possible value that the function can output
    • initializeUpdate

      void initializeUpdate()
      Initialize the parameter update. This is typically where all the expensive computations take place Useful internal class variables: Inputs are not passed in explicitly since it varies by implementation which ones are needed.
    • computeUpdate

      void computeUpdate(DMatrixRMaj p, double regionRadius)
      Compute the value of p given a new parameter state x and the region radius.
      Parameters:
      p - (Output) change in state
      regionRadius - (Input) Radius of the region
    • getPredictedReduction

      double getPredictedReduction()

      Returns the predicted reduction from the quadratic model.

      reduction = m(0) - m(p) = -g(0)*p - 0.5*pT*H(0)*p

      This computation is done inside the update because it can often be done more efficiently without repeating previous computations

    • getStepLength

      double getStepLength()
      This function returns ||p||.

      This computation is done inside the update because it can often be done more efficiently without repeating previous computations

      Returns:
      step length
    • setVerbose

      void setVerbose(@Nullable @Nullable PrintStream out, int level)