Package org.apache.commons.math3.analysis.integration.gauss

# Class HermiteRuleFactory

java.lang.Object
org.apache.commons.math3.analysis.integration.gauss.BaseRuleFactory<Double>
org.apache.commons.math3.analysis.integration.gauss.HermiteRuleFactory

public class HermiteRuleFactory extends BaseRuleFactory<Double>
Factory that creates a Gauss-type quadrature rule using Hermite polynomials of the first kind. Such a quadrature rule allows the calculation of improper integrals of a function

\(f(x) e^{-x^2}\)

Recurrence relation and weights computation follow Abramowitz and Stegun, 1964.

The coefficients of the standard Hermite polynomials grow very rapidly. In order to avoid overflows, each Hermite polynomial is normalized with respect to the underlying scalar product. The initial interval for the application of the bisection method is based on the roots of the previous Hermite polynomial (interlacing). Upper and lower bounds of these roots are provided by

> I. Krasikov, Nonnegative quadratic forms and bounds on orthogonal polynomials, Journal of Approximation theory 111, 31-49

Since:
  3.3

## Constructor Summary

Constructors
Constructor
Description
`HermiteRuleFactory()`

## Method Summary

Modifier and Type
Method
Description
`protected Pair<Double[],Double[]>`
`computeRule(int numberOfPoints)`
Computes the rule for the given order.

### Methods inherited from class org.apache.commons.math3.analysis.integration.gauss.BaseRuleFactory

`addRule, getRule, getRuleInternal`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### HermiteRuleFactory

public HermiteRuleFactory()

## Method Details

### computeRule

protected Pair<Double[],Double[]> computeRule(int numberOfPoints) throws DimensionMismatchException
Computes the rule for the given order.

Specified by:
  `computeRule` in class `BaseRuleFactory<Double>`
Parameters:
  `numberOfPoints` - Order of the rule to be computed.
Returns:
  the computed rule.
Throws:
  `DimensionMismatchException` - if the elements of the pair do not have the same length.