CMS 3D CMS Logo

GenericHouseholder.h
Go to the documentation of this file.
1 #ifndef GenericHouseholder_h
2 #define GenericHouseholder_h
3 
10 #include <vector>
11 #include <iostream>
12 
14 public:
17  GenericHouseholder(bool normalise = false);
18 
21 
23  std::vector<float> iterate(const std::vector<std::vector<float> >& eventMatrix,
24  const std::vector<float>& energyVector,
25  const int nIter);
26 
28  std::vector<float> iterate(const std::vector<std::vector<float> >& eventMatrix,
29  const std::vector<float>& energyVector);
30 
31 private:
36  bool decompose(const int m,
37  const int n,
38  std::vector<std::vector<float> >& qr,
39  std::vector<float>& alpha,
40  std::vector<int>& pivot);
41 
44  void solve(int m,
45  int n,
46  const std::vector<std::vector<float> >& qr,
47  const std::vector<float>& alpha,
48  const std::vector<int>& pivot,
49  std::vector<float>& r,
50  std::vector<float>& y);
51 
53 };
54 
55 #endif
bool decompose(const int m, const int n, std::vector< std::vector< float > > &qr, std::vector< float > &alpha, std::vector< int > &pivot)
void solve(int m, int n, const std::vector< std::vector< float > > &qr, const std::vector< float > &alpha, const std::vector< int > &pivot, std::vector< float > &r, std::vector< float > &y)
GenericHouseholder(bool normalise=false)
std::vector< float > iterate(const std::vector< std::vector< float > > &eventMatrix, const std::vector< float > &energyVector, const int nIter)
run the Householder Algorithm several times (nIter). Returns the final vector of calibration coeffici...
~GenericHouseholder()
Destructor.