00001 #ifndef __SingleUnitFastIca1__
00002 #define __SingleUnitFastIca1__
00003
00027 #include "SingleUnitFastIca.hpp"
00028
00029 class SingleUnitFastIca1 : public SingleUnitFastIca
00030 {
00031 protected:
00032
00033 double beta;
00034
00035 public:
00036
00037 SingleUnitFastIca1(double eps=1.0e-4):SingleUnitFastIca(eps){beta=0.0;}
00038 SingleUnitFastIca1(AContrastFunction* func, double eps):SingleUnitFastIca(eps){beta=0.0;}
00039 virtual ~SingleUnitFastIca1(){}
00040
00041
00042 virtual void init(int size){ SingleUnitFastIca::init(size); beta=0.0; }
00043
00044 virtual void startLearning(){ SingleUnitFastIca::startLearning(); beta=0.0; }
00045 virtual void learn(RealVector* sample);
00046 virtual bool endLearning();
00047 virtual bool endLearning(RealSMatrix* C, RealSMatrix* Cinv);
00048
00049
00050 virtual void output()
00051 {
00052 printf("Single Unit FastICA");
00053 }
00054 };
00055
00056 #endif