Details

    • Type: Wish
    • Status: Closed
    • Priority: Trivial
    • Resolution: Fixed
    • Affects Version/s: 3.0
    • Fix Version/s: 3.1
    • Labels:
      None

      Description

      CM assumes that the user wants to integrate a complex function on a large interval, so the large interval has to be subdivided into many subintervals. CM does the partition, and performs convergence checks, using an iterative approach.

      However, if the function is smooth enough, no subdivision of the integration interval is required. Those use-cases could benefit from the efficiency gain of not performing a convergence check.

      The proposal is to provide a new interface "UnivariateSingleStepIntegrator":

      interface SingleIntervalIntegrator {
          /**
           * Method for implementing a single interval integration.
           * There is no convergence checks because it is not iterative.
           *
           * @param f Function to integrate.
           * @param lower Lower bound of the interval over which to integrate.
           * @param upper Upper bound of the interval over which to integrate.
           * @return the integrated value.
           */
          double integrate(UnivariateFunction f,
                           double lower,
                           double upper);
      }
      

      In effect, the implementation of the above "integrate" method of a new "LegendreGaussIntegratorSingleStepIntegrator" would the equivalent of "stage(1)" in the current "LegendreGaussIntegrator".

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                erans Gilles
                Reporter:
                erans Gilles
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: