source: trunk/yat/regression/PolynomialInterpolation.h @ 1650

Last change on this file since 1650 was 1647, checked in by Jari Häkkinen, 13 years ago

Addresses #466. Added more interpolation algorithms. The full set of GSL 1.11 interpolation methods is now interfaced.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1#ifndef _theplu_yat_regression_polynomial_interpolation_
2#define _theplu_yat_regression_polynomial_interpolation_
3
4// $Id: PolynomialInterpolation.h 1647 2008-12-13 08:45:44Z jari $
5
6/*
7  Copyright (C) 2008 Jari Häkkinen
8
9  This file is part of the yat library, http://dev.thep.lu.se/yat
10
11  The yat library is free software; you can redistribute it and/or
12  modify it under the terms of the GNU General Public License as
13  published by the Free Software Foundation; either version 3 of the
14  License, or (at your option) any later version.
15
16  The yat library is distributed in the hope that it will be useful,
17  but WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  General Public License for more details.
20
21  You should have received a copy of the GNU General Public License
22  along with yat. If not, see <http://www.gnu.org/licenses/>.
23*/
24
25#include "GSLInterpolation.h"
26
27namespace theplu {
28namespace yat {
29namespace utility {
30  class VectorBase;
31}
32namespace regression {
33
34  /**
35     \brief Polynomial interpolation.
36
37     This method should only be used for interpolating small numbers
38     of points because polynomial interpolation introduces large
39     oscillations, even for well-behaved datasets. The number of terms
40     in the interpolating polynomial is equal to the number of points.
41
42     \see Please refer to the base class documentation for genereal
43     introduction to the GSL based interpolation methods.
44  */
45  class PolynomialInterpolation : public GSLInterpolation
46  {
47
48  public:
49    /**
50       \brief The default constructor
51    */
52    PolynomialInterpolation(const utility::VectorBase& x,
53                            const utility::VectorBase& y);
54
55    /**
56       \brief The destructor
57    */
58    ~PolynomialInterpolation(void);
59
60  private:
61    /**
62       \brief Copy Constructor. (not implemented)
63    */
64    PolynomialInterpolation(const PolynomialInterpolation&);
65
66  };
67
68}}} // of namespaces regression, yat, and theplu
69
70#endif
Note: See TracBrowser for help on using the repository browser.