yat/regression/CSplineInterpolation.h

Code
Comments
Other
Rev Date Author Line
1645 13 Dec 08 jari 1 #ifndef _theplu_yat_regression_cspline_interpolation_
1645 13 Dec 08 jari 2 #define _theplu_yat_regression_cspline_interpolation_
193 27 Oct 04 peter 3
616 31 Aug 06 jari 4 // $Id$
616 31 Aug 06 jari 5
675 10 Oct 06 jari 6 /*
4359 23 Aug 23 peter 7   Copyright (C) 2004, 2005, 2006 Jari Häkkinen, Peter Johansson
4359 23 Aug 23 peter 8   Copyright (C) 2007 Peter Johansson
4359 23 Aug 23 peter 9   Copyright (C) 2008 Jari Häkkinen, Peter Johansson
193 27 Oct 04 peter 10
1437 25 Aug 08 peter 11   This file is part of the yat library, http://dev.thep.lu.se/yat
675 10 Oct 06 jari 12
675 10 Oct 06 jari 13   The yat library is free software; you can redistribute it and/or
675 10 Oct 06 jari 14   modify it under the terms of the GNU General Public License as
1486 09 Sep 08 jari 15   published by the Free Software Foundation; either version 3 of the
675 10 Oct 06 jari 16   License, or (at your option) any later version.
675 10 Oct 06 jari 17
675 10 Oct 06 jari 18   The yat library is distributed in the hope that it will be useful,
675 10 Oct 06 jari 19   but WITHOUT ANY WARRANTY; without even the implied warranty of
675 10 Oct 06 jari 20   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
675 10 Oct 06 jari 21   General Public License for more details.
675 10 Oct 06 jari 22
675 10 Oct 06 jari 23   You should have received a copy of the GNU General Public License
1487 10 Sep 08 jari 24   along with yat. If not, see <http://www.gnu.org/licenses/>.
675 10 Oct 06 jari 25 */
675 10 Oct 06 jari 26
1643 13 Dec 08 jari 27 #include "GSLInterpolation.h"
675 10 Oct 06 jari 28
193 27 Oct 04 peter 29 namespace theplu {
680 11 Oct 06 jari 30 namespace yat {
1643 13 Dec 08 jari 31 namespace utility {
1644 13 Dec 08 jari 32   class VectorBase;
1643 13 Dec 08 jari 33 }
383 12 Aug 05 jari 34 namespace regression {
383 12 Aug 05 jari 35
713 21 Dec 06 peter 36   /**
1644 13 Dec 08 jari 37      \brief Cubic spline with natural boundary conditions.
1644 13 Dec 08 jari 38
1644 13 Dec 08 jari 39      The resulting curve is piecewise cubic on each interval, with
1644 13 Dec 08 jari 40      matching first and second derivatives at the supplied
1644 13 Dec 08 jari 41      data-points. The second derivative is chosen to be zero at the
1644 13 Dec 08 jari 42      first point and last point.
1644 13 Dec 08 jari 43
1644 13 Dec 08 jari 44      \see Please refer to the base class documentation for genereal
1644 13 Dec 08 jari 45      introduction to the GSL based interpolation methods.
1652 16 Dec 08 jari 46
1652 16 Dec 08 jari 47      \since New in yat 0.5
713 21 Dec 06 peter 48   */
1645 13 Dec 08 jari 49   class CSplineInterpolation : public GSLInterpolation
1643 13 Dec 08 jari 50   {
193 27 Oct 04 peter 51
1643 13 Dec 08 jari 52   public:
713 21 Dec 06 peter 53     /**
1644 13 Dec 08 jari 54        \brief The default constructor
713 21 Dec 06 peter 55     */
1645 13 Dec 08 jari 56     CSplineInterpolation(const utility::VectorBase& x,
1645 13 Dec 08 jari 57                          const utility::VectorBase& y);
216 29 Dec 04 peter 58
713 21 Dec 06 peter 59     /**
1644 13 Dec 08 jari 60        \brief The destructor
713 21 Dec 06 peter 61     */
1645 13 Dec 08 jari 62     ~CSplineInterpolation(void);
193 27 Oct 04 peter 63
1643 13 Dec 08 jari 64   private:
713 21 Dec 06 peter 65     /**
1644 13 Dec 08 jari 66        \brief Copy Constructor. (not implemented)
713 21 Dec 06 peter 67     */
1645 13 Dec 08 jari 68     CSplineInterpolation(const CSplineInterpolation&);
1676 24 Dec 08 peter 69     // no assignment allowed
1676 24 Dec 08 peter 70     CSplineInterpolation& operator=(const CSplineInterpolation&);
207 02 Nov 04 peter 71
193 27 Oct 04 peter 72    };
193 27 Oct 04 peter 73
681 11 Oct 06 jari 74 }}} // of namespaces regression, yat, and theplu
193 27 Oct 04 peter 75
193 27 Oct 04 peter 76 #endif