package org.spaceroots.mantissa.algebra;
/**
* This class implements Legendre polynomials.
* Legendre polynomials can be defined by the following recurrence
* relations:
*
* P0(X) = 1
* P1(X) = X
* (k+1) Pk+1(X) = (2k+1) X Pk(X) - k Pk-1(X)
*
* @version $Id: Legendre.java 1709 2006-12-03 21:16:50Z luc $
* @author L. Maisonobe
*/
public class Legendre
extends OrthogonalPolynomial {
/** Generator for the Legendre polynomials. */
private static final CoefficientsGenerator generator =
new CoefficientsGenerator(new RationalNumber(1l),
new RationalNumber(0l),
new RationalNumber(1l)) {
public void setRecurrenceCoefficients(int k) {
// the recurrence relation is
// (k+1) Pk+1(X) = (2k+1) X Pk(X) - k Pk-1(X)
long kP1 = k + 1;
setRecurrenceCoefficients(new RationalNumber(0l),
new RationalNumber(2 * k + 1, kP1),
new RationalNumber(k, kP1));
}
};
/** Simple constructor.
* Build a degree 0 Legendre polynomial
*/
public Legendre() {
super(0, generator);
}
/** Simple constructor.
* Build a degree d Legendre polynomial
* @param degree degree of the polynomial
*/
public Legendre(int degree) {
super(degree, generator);
}
private static final long serialVersionUID = 4014485393845978429L;
}
Ads help maintain this website.