Uploaded image for project: 'Commons Math'
  1. Commons Math
  2. MATH-414

ConvergenceException in NormalDistributionImpl.cumulativeProbability()

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.1
    • Fix Version/s: 2.2
    • Labels:
      None
    • Environment:

      Jdk 1.6.

      Description

      I get a ConvergenceException in NormalDistributionImpl.cumulativeProbability() for very large/small parameters including Infinity, -Infinity.
      For instance in the following code:

      @Test
      public void testCumulative() {
      final NormalDistribution nd = new NormalDistributionImpl();
      for (int i = 0; i < 500; i++) {
      final double val = Math.exp;
      try

      { System.out.println("val = " + val + " cumulative = " + nd.cumulativeProbability(val)); }

      catch (MathException e)

      { e.printStackTrace(); fail(); }

      }
      }

      In version 2.0, I get no exception.

      My suggestion is to change in the implementation of cumulativeProbability(double) to catch all ConvergenceException (and return for very large and very small values), not just MaxIterationsExceededException.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              gustav.ryd Gustav Ryd
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - 2h
                2h
                Remaining:
                Remaining Estimate - 2h
                2h
                Logged:
                Time Spent - Not Specified
                Not Specified