java.lang.Object
Localiser.algorithms.genericLocaliser.simplex.Simplex
All Implemented Interfaces:
MinimisationAlgorithm

public class Simplex extends Object implements MinimisationAlgorithm
Time delay based simplex method for localisation. Note that a lot of the code here has been referenced directly from static MCMC functions. This is because both MCMC and Simplex are based on the forward time delay problem hence are mathematically very similar. Simplex is much faster than MCMC but does not provide a full 3D probability distribution.
Author:
Jamie Macaulay
  • Field Details

  • Constructor Details

    • Simplex

      public Simplex()
    • Simplex

      public Simplex(MinimisationFunction chi2)
      Constructor for the Simplex
      Parameters:
      chi2 -
  • Method Details

    • setMinimisationFunction

      public void setMinimisationFunction(MinimisationFunction chi2)
      Description copied from interface: MinimisationAlgorithm
      Set the minimisation function. This sets up the problem for the algorithm to solve.
      Specified by:
      setMinimisationFunction in interface MinimisationAlgorithm
      Parameters:
      chi2 - - the minimisation function specific to the problem whihc needs solved
    • runAlgorithm

      public boolean runAlgorithm()
      Description copied from interface: MinimisationAlgorithm
      Run the algorithm to find a solution to the set minimisation function. This
      Specified by:
      runAlgorithm in interface MinimisationAlgorithm
      Returns:
      true if the algorithm competed sucessfully.
    • getResult

      public double[][] getResult()
      Description copied from interface: MinimisationAlgorithm
      Get the result. There maybe multiple results if ambiguities exist. The number of dimensions is defined in the minimisation function.
      Specified by:
      getResult in interface MinimisationAlgorithm
      Returns:
      the result
    • getErrors

      public LocaliserError[] getErrors()
      Description copied from interface: MinimisationAlgorithm
      Get the errors. Should be the same number of dimensions as the result. If errors have not been calculated leave as null The number of dimensions is defined in the minimisation function.
      Specified by:
      getErrors in interface MinimisationAlgorithm
      Returns:
      the errors in the result
    • getChi2

      public double[] getChi2()
      Description copied from interface: MinimisationAlgorithm
      The chi2 value for each result
      Specified by:
      getChi2 in interface MinimisationAlgorithm
      Returns:
      the chi2 value for each result.
    • getAlgorithmTime

      public long getAlgorithmTime()
    • notifyStatus

      public void notifyStatus(int status, double progress)
      Description copied from interface: MinimisationAlgorithm
      A progress function which can be used to update different threads.
      Specified by:
      notifyStatus in interface MinimisationAlgorithm
      Parameters:
      status - - the current status flag.
      progress - - the progress of the algorithm from 0 to 1.0.
    • hasParams

      public boolean hasParams()
      Description copied from interface: MinimisationAlgorithm
      A progress function which can be used to update different threads.
      Specified by:
      hasParams in interface MinimisationAlgorithm
    • getSettingsPane

      public LocaliserPane<?> getSettingsPane()
      Description copied from interface: MinimisationAlgorithm
      A settings pane for the algorithm if it has user changeable parameters.
      Specified by:
      getSettingsPane in interface MinimisationAlgorithm
      Returns:
      a settings pane.
    • getChi2Function

      public org.apache.commons.math.analysis.MultivariateRealFunction getChi2Function()
      Get the simplex chi2 fucntion
      Returns:
      - the simplex chi2 function.