[ https://issues.apache.org/jira/browse/MATH-797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13401938#comment-13401938 ] Sébastien Brisard commented on MATH-797: ---------------------------------------- Not really, no. Gauss integrator is the generic name for a bunch of integration schemes which read {noformat} b n - 1 / ==== [ \ I f(t) w(t) dt = > w f(t ) ] / i i / ==== a i = 0 {noformat} where {{w(t)}} is a weighting function. The Gauss points t[i] and weights w[i] are chosen so that the above formula is *exact* for {{f(t)}} polynomial, {{deg(f) <= 2 * n - 1}}. Various choices of {{w(t)}} lead to various Gauss integration rules * {{w(t) = 1}} is the so-called Gauss-Legendre rule, * {{w(t) = (1 - x^2)^(-1 / 2)}}: Gauss-Chebyshev, * etc... So, we basically need a mother class to handle Gauss points and Gauss weights, as well as the above formula. Then, to implement a new Gauss integration rule, we would only need to derive it from this mother class. > Single step integrators > ----------------------- > > Key: MATH-797 > URL: https://issues.apache.org/jira/browse/MATH-797 > Project: Commons Math > Issue Type: Wish > Affects Versions: 3.0 > Reporter: Gilles > Assignee: Gilles > Priority: Trivial > Fix For: 3.1 > > > 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": > {code} > 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); > } > {code} > In effect, the implementation of the above "integrate" method of a new "LegendreGaussIntegratorSingleStepIntegrator" would the equivalent of "stage(1)" in the current "LegendreGaussIntegrator". -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira