![]() |
![]() |
00001 #ifndef GenericHouseholder_h 00002 #define GenericHouseholder_h 00003 00012 #include <vector> 00013 #include <iostream> 00014 00015 using namespace std; 00016 00017 class GenericHouseholder 00018 { 00019 public: 00022 GenericHouseholder(bool normalise = false); 00023 00025 ~GenericHouseholder(); 00026 00028 vector<float> iterate(const vector<vector<float> >& eventMatrix, const vector<float>& energyVector, const int nIter); 00029 00031 vector<float> iterate(const vector<vector<float> >& eventMatrix, const vector<float>& energyVector); 00032 00033 private: 00038 bool decompose(const int m, const int n, vector<vector<float> >& qr, vector<float>& alpha, vector<int>& pivot); 00039 00042 void solve(int m, int n, const vector<vector<float> > &qr, const vector<float> &alpha, const vector<int> &pivot, vector<float> &r, vector<float> &y); 00043 00044 bool normaliseFlag; 00045 }; 00046 00047 #endif