Class ZeroCrossingSparsity



  • public class ZeroCrossingSparsity
    extends Constraints
    Constraints and line minimisations for functions with gradient discontinuity at co-ordinate zeros (hyperplanes). The ZeroCrossingSparsity class handles this by checking for zero crossings during the line search. If a gradient discontinuity causes a change of sign in the gradient, that dimension is constrained and becomes inactive (drops out of minimisation). It can later be reactivated if the algorithm determines that the gradient no longer changes sign at that point.
    • Field Detail

      • alphas

        public double[] alphas
      • clipped

        public int clipped
      • crossings

        public int[] crossings
      • numcrossings

        public int numcrossings
    • Constructor Detail

      • ZeroCrossingSparsity

        public ZeroCrossingSparsity(MinimiserBase minimiser)
    • Method Detail

      • setGThreshold

        public void setGThreshold(double gt)
      • initialise

        public void initialise()
        constrain all dimensions which are currently set to zero.
        Specified by:
        initialise in class Constraints
      • release

        public boolean release(Datum P)
        This finds the constrained dimension with the largest gradient, and if that absolute value of that gradient is bigger than 1, then releases that dimension so that it can take part in the optimization
        Overrides:
        release in class Constraints