00001 #ifndef AMRLSCANCELLER_H
00002 #define AMRLSCANCELLER_H
00003
00004 #include "RLSCanceller.h"
00005 #include "VecMat.h"
00006 namespace ublas = boost::numeric::ublas;
00007
00008
00009
00010
00011
00012 class AMRLSCanceller : public RLSCanceller{
00013 private:
00014 double Lambdaplus;
00015 double Lambdaminus;
00016 gplib::rmat S;
00017 gplib::rvec Psi;
00018 double Alpha;
00019 gplib::rmat factor1;
00020 gplib::rmat factor2;
00021 ublas::identity_matrix<double> I;
00022 public:
00023 virtual void AdaptFilter(const gplib::rvec &Input, const gplib::rvec &Desired);
00024 AMRLSCanceller(const int inputsize, const double MyDelta, const double MyLambda, const double MyAlpha);
00025 virtual ~AMRLSCanceller();
00026 };
00027
00028 #endif // RLSCANCELLER_H