npstat is hosted by Hepforge, IPPP Durham
NPStat  5.10.0
RecurrenceCoeffsQ.hh
1 #ifndef NPSTAT_RECURRENCECOEFFSQ_HH_
2 #define NPSTAT_RECURRENCECOEFFSQ_HH_
3 
4 //======================================================================
5 // RecurrenceCoeffsQ.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 // July 2023
14 //======================================================================
15 
16 #include <vector>
17 #include <utility>
18 
19 #include "npstat/nm/RecurrenceQ.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 calcRecurrenceCoeffsQ(const std::vector<MeasurePt>& measure,
28  unsigned maxdeg, quad_float norm,
30  std::vector<RecurrenceQ>* rcoeffs);
31 
32  template <class MeasurePt>
33  void calcRecurrenceStieltjesQ(const std::vector<MeasurePt>& measure,
34  unsigned maxdeg, quad_float norm,
35  std::vector<RecurrenceQ>* rcoeffs);
36 
37  template <class MeasurePt>
38  void calcRecurrenceLanczosQ(const std::vector<MeasurePt>& measure,
39  unsigned maxdeg, quad_float norm,
40  std::vector<RecurrenceQ>* rcoeffs);
41 
42  template <class MeasurePt>
43  std::pair<quad_float,quad_float> monicInnerProductsQ(
44  const std::vector<RecurrenceQ>& rcoeffs,
45  const std::vector<MeasurePt>& measure,
46  unsigned degree, quad_float norm);
47 
48  quad_float monicpolyQ(const std::vector<RecurrenceQ>& rcoeffs,
49  unsigned degree, quad_float x);
50  }
51 }
52 
53 #include "npstat/nm/RecurrenceCoeffsQ.icc"
54 
55 #endif // NPSTAT_RECURRENCECOEFFSQ_HH_
Enumeration of methods used to create orthogonal polynomials with discrete weights.
Definition: AbsArrayProjector.hh:14
OrthoPolyMethod
Definition: OrthoPolyMethod.hh:20