class DoublesCurveNelsonSiegel extends DoublesCurve {

  @Override
  public Double getYValue(final Double x) {
    final double x1 = x / _parameters[3];
    final double x2 = epsilon(-x1);
    return _parameters[0] + _parameters[1] * x2 + _parameters[2] * (x2 - Math.exp(-x1));
  }

  protected  DoublesCurveNelsonSiegel();
  public  DoublesCurveNelsonSiegel(final String name, final double beta0, final double beta1, final double beta2, final double lambda);
  public  DoublesCurveNelsonSiegel(final String name, final double[] parameters);

}