|
STK++ 1.0
|
00001 /* 00002 * STK_ProjectedVariance.h 00003 * 00004 * Created on: 20 juil. 2011 00005 * Author: aude 00006 */ 00007 00008 #ifndef STK_PROJECTEDVARIANCE_H_ 00009 #define STK_PROJECTEDVARIANCE_H_ 00010 00011 #include "STK_ILinearReduct.h" 00012 00013 #include "../../Algebra/include/STK_Svd.h" 00014 00015 00016 00017 00018 namespace STK 00019 { 00020 00032 class ProjectedVariance : public ILinearReduct 00033 { 00034 public: 00035 00036 00037 ProjectedVariance(Matrix const* p_data); 00041 ~ProjectedVariance(); 00042 00043 00047 virtual void run( Integer const& dim ); 00053 virtual void run( Vector const* weights, Integer const& dim); 00054 00056 void svdData(); 00057 00059 void svdWData(); 00060 00061 00062 protected: 00063 00064 00066 virtual void maximizeIndex(); 00067 00069 virtual void wmaximizeIndex(); 00070 00072 void dataReduced(); 00073 00075 Svd svdData_; 00076 00077 private: 00078 00080 void computeAxis(); 00081 00082 00083 }; 00084 00085 } // namespace STK 00086 00087 #endif /* STK_PROJECTEDVARIANCE_H_ */