Package ffx.xray

Class RefinementMinimize

java.lang.Object
ffx.xray.RefinementMinimize
All Implemented Interfaces:
Terminatable, OptimizationListener

public class RefinementMinimize extends Object implements OptimizationListener, Terminatable
Refinement minimization class using OptimizationListener interface, constructs a RefinementEnergy object for this purpose
Since:
1.0
Author:
Timothy D. Fenn
  • Field Details

  • Constructor Details

  • Method Details

    • parseMode

      public static RefinementMinimize.RefinementMode parseMode(String str)
      Parse a string into a refinement mode.
      Parameters:
      str - Refinement mode string.
      Returns:
      An instance of RefinementMode.
    • getEps

      public Double getEps()
      Getter for the field eps.
      Returns:
      a Double object.
    • getNB

      public int getNB()
      get the number of B factor parameters being fit
      Returns:
      the number of B factor parameters
    • getNOcc

      public int getNOcc()
      get the number of occupancy parameters being fit
      Returns:
      the number of occupancy parameters
    • getNXYZ

      public int getNXYZ()
      get the number of xyz parameters being fit
      Returns:
      the number of xyz parameters
    • minimize

      public RefinementEnergy minimize()
      minimize assuming an eps of 1.0 and Integer.MAX_VALUE cycles
      Returns:
      RefinementEnergy result
    • minimize

      public RefinementEnergy minimize(double eps)
      minimize assuming Integer.MAX_VALUE cycles
      Parameters:
      eps - input gradient rms desired
      Returns:
      RefinementEnergy result
    • minimize

      public RefinementEnergy minimize(int maxiter)
      minimize assuming an eps of 1.0 and limited cycles
      Parameters:
      maxiter - maximum iterations allowed
      Returns:
      RefinementEnergy result
    • minimize

      public RefinementEnergy minimize(double eps, int maxiter)
      minimize with input eps and cycles
      Parameters:
      eps - input gradient rms desired
      maxiter - maximum iterations allowed
      Returns:
      RefinementEnergy result
    • minimize

      public RefinementEnergy minimize(int m, double eps, int maxiter)
      minimize with input cycles for matrix conditioning, eps and cycles
      Parameters:
      m - number of cycles of matrix updates
      eps - input gradient rms desired
      maxiter - maximum iterations allowed
      Returns:
      RefinementEnergy result
    • optimizationUpdate

      public boolean optimizationUpdate(int iter, int nBFGS, int nfun, double grms, double xrms, double f, double df, double angle, LineSearch.LineSearchResult info)
      This method is called by the optimizer after each step.

      It can be used to log status messages, update the user interface, or gracefully terminate the optimizer.

      Specified by:
      optimizationUpdate in interface OptimizationListener
      Parameters:
      iter - Number of iterations.
      nBFGS - Number of L-BFGS correction vectors.
      nfun - Number of function evaluations.
      grms - RMS gradient at current solution.
      xrms - RMS coordinate change at current solution.
      f - Function value at current solution.
      df - Change in the function value compared to the previous solution.
      angle - Current angle between gradient and search direction.
      info - Result of the line search (null at iteration == 0).
      Returns:
      A return value of false will terminate the optimization.
    • terminate

      public void terminate()
      This should be implemented as a blocking interrupt; when the method returns the Terminatable algorithm has reached a clean termination point. For example, between minimize or molecular dynamics steps.
      Specified by:
      terminate in interface Terminatable