Go to the documentation of this file.00001 #ifndef GenericHouseholder_h
00002 #define GenericHouseholder_h
00003
00012 #include <vector>
00013 #include <iostream>
00014
00015 class GenericHouseholder
00016 {
00017 public:
00020 GenericHouseholder(bool normalise = false);
00021
00023 ~GenericHouseholder();
00024
00026 std::vector<float> iterate(const std::vector<std::vector<float> >& eventMatrix, const std::vector<float>& energyVector, const int nIter);
00027
00029 std::vector<float> iterate(const std::vector<std::vector<float> >& eventMatrix, const std::vector<float>& energyVector);
00030
00031 private:
00036 bool decompose(const int m, const int n, std::vector<std::vector<float> >& qr, std::vector<float>& alpha, std::vector<int>& pivot);
00037
00040 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);
00041
00042 bool normaliseFlag;
00043 };
00044
00045 #endif