Class NumericalIntegrator

java.lang.Object
com.github.gbenroscience.math.numericalmethods.NumericalIntegrator

public class NumericalIntegrator extends Object
Author:
GBEMIRO Production-grade high-performance integrator for Java/Android. Uses MethodHandles for ultra-fast reflection-based function evaluation. Thread-safe parallel execution with function cloning. Features: - Auto-detection of singularities (poles, log blows-up, narrow spikes) - Optimal coordinate transformations (linear, logarithmic, semi-infinite) - Deep scan for hidden pathological behavior - Optional parallel evaluation on multi-core systems (thread-safe) - Strict timeout enforcement (1.5-5 seconds configurable) - 15+ digit accuracy for smooth functions, 3-6 digits for singular - Ultra-fast function evaluation via MethodHandles (2x faster than try-catch) Accuracy: 15-16 digits (smooth), 5-6 digits (log singularities), 3-4 digits (power laws)
  • Field Details

  • Constructor Details

    • NumericalIntegrator

      public NumericalIntegrator(double xLower, double xUpper)
    • NumericalIntegrator

      public NumericalIntegrator(Function function, MethodHandle gaussianHandle, double xLower, double xUpper, String[] vars, int[] slots)
  • Method Details

    • setParallelSum

      public void setParallelSum(boolean parallelSum)
    • isParallelSum

      public boolean isParallelSum()
    • setTimeoutMs

      public void setTimeoutMs(long timeoutMs)
    • integrate

      public double integrate(Function f) throws TimeoutException
      Compute definite integral of f from a to b. Handles singularities, oscillations, and pathological functions.
      Parameters:
      f - Function to integrate
      Returns:
      ∫[a,b] f(x) dx
      Throws:
      TimeoutException - if computation exceeds timeout
    • main

      public static void main(String[] args)