npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
RecurrenceCoeffs.hh
1 #ifndef NPSTAT_RECURRENCECOEFFS_HH_
2 #define NPSTAT_RECURRENCECOEFFS_HH_
3 
4 //======================================================================
5 // RecurrenceCoeffs.hh
6 //
7 // This is an internal header which is subject to change without
8 // notice. Application code should never use classes or functions
9 // declared/defined in this header directly.
10 //
11 // Author: I. Volobouev
12 //
13 // May 2017
14 //======================================================================
15 
16 #include <vector>
17 #include <utility>
18 
19 #include "npstat/nm/Recurrence.hh"
21 
22 namespace npstat {
23  namespace Private {
24  // The following function should be the only one
25  // directly used by the rest of the package
26  template <class MeasurePt>
27  void calcRecurrenceCoeffs(const std::vector<MeasurePt>& measure,
28  unsigned maxdeg, long double norm,
30  std::vector<Recurrence>* rcoeffs);
31 
32  template <class MeasurePt>
33  void calcRecurrenceStieltjes(const std::vector<MeasurePt>& measure,
34  unsigned maxdeg, long double norm,
35  std::vector<Recurrence>* rcoeffs);
36 
37  template <class MeasurePt>
38  void calcRecurrenceLanczos(const std::vector<MeasurePt>& measure,
39  unsigned maxdeg, long double norm,
40  std::vector<Recurrence>* rcoeffs);
41 
42  template <class MeasurePt>
43  std::pair<long double,long double> monicInnerProducts(
44  const std::vector<Recurrence>& rcoeffs,
45  const std::vector<MeasurePt>& measure,
46  unsigned degree, long double norm);
47 
48  long double monicpoly(const std::vector<Recurrence>& rcoeffs,
49  unsigned degree, long double x);
50  }
51 }
52 
53 #include "npstat/nm/RecurrenceCoeffs.icc"
54 
55 #endif // NPSTAT_RECURRENCECOEFFS_HH_
Enumeration of methods used to create orthogonal polynomials with discrete weights.
Definition: AbsArrayProjector.hh:14
OrthoPolyMethod
Definition: OrthoPolyMethod.hh:20