CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_1/src/Calibration/Tools/interface/GenericHouseholder.h

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