/**
* Copyright (C) 2009 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.analytics.math.function.special;
import com.opengamma.analytics.math.function.DoubleFunction1D;
import com.opengamma.analytics.math.function.RealPolynomialFunction1D;
import com.opengamma.util.tuple.Pair;
/**
*
*/
public abstract class OrthogonalPolynomialFunctionGenerator {
private static final RealPolynomialFunction1D ZERO = new RealPolynomialFunction1D(new double[] {0});
private static final RealPolynomialFunction1D ONE = new RealPolynomialFunction1D(new double[] {1});
private static final RealPolynomialFunction1D X = new RealPolynomialFunction1D(new double[] {0, 1});
public abstract DoubleFunction1D[] getPolynomials(int n);
public abstract Pair<DoubleFunction1D, DoubleFunction1D>[] getPolynomialsAndFirstDerivative(final int n);
protected DoubleFunction1D getZero() {
return ZERO;
}
protected DoubleFunction1D getOne() {
return ONE;
}
protected DoubleFunction1D getX() {
return X;
}
}