[ https://issues.apache.org/jira/browse/MATH797?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=13401938#comment13401938
]
Sébastien Brisard commented on MATH797:

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 socalled GaussLegendre rule,
* {{w(t) = (1  x^2)^(1 / 2)}}: GaussChebyshev,
* 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: MATH797
> URL: https://issues.apache.org/jira/browse/MATH797
> 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 usecases 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
