@Test
public void testAlpha1() {
DoubleFunction1D[] l1, l2;
final double x = 2.34;
for (int i = 0; i <= 6; i++) {
l1 = LAGUERRE.getPolynomials(i, 0);
l2 = LAGUERRE.getPolynomials(i);
for (int j = 0; j <= i; j++) {
assertEquals(l1[j].applyAsDouble(x), l2[j].applyAsDouble(x), EPS);
}
}
final double alpha = 3.45;
l1 = LAGUERRE.getPolynomials(6, alpha);
final DoubleFunction1D f0 = d -> 1d;
final DoubleFunction1D f1 = d -> 1 + alpha - d;
final DoubleFunction1D f2 = d -> d * d / 2 - (alpha + 2) * d + (alpha + 2) * (alpha + 1) / 2.;
final DoubleFunction1D f3 =
d -> -d * d * d / 6 + (alpha + 3) * d * d / 2 - (alpha + 2) * (alpha + 3) * d / 2 + (alpha + 1) * (alpha + 2) * (alpha + 3) / 6;
assertEquals(l1[0].applyAsDouble(x), f0.applyAsDouble(x), EPS);
assertEquals(l1[1].applyAsDouble(x), f1.applyAsDouble(x), EPS);
assertEquals(l1[2].applyAsDouble(x), f2.applyAsDouble(x), EPS);
assertEquals(l1[3].applyAsDouble(x), f3.applyAsDouble(x), EPS);
}