35 #ifndef AIMS_ESTIMATION_LMS_ESTIMATOR_H 36 #define AIMS_ESTIMATION_LMS_ESTIMATOR_H 62 template <
int D >
inline 68 ASSERT( x.dimY() == 1 && x.dimZ() == 1 && x.dimT() == 1 );
78 mat( 0, 0 ) = float( N );
80 for ( k = 1; k <= D; k++ )
82 for ( n = 0; n < N; n++ )
83 mat( k, 0 ) += x( n ).item( k - 1 );
84 mat( 0, k ) = mat( k, 0 );
88 for ( k1 = 1; k1 <= D; k1++ )
89 for ( k2 = 1; k2 <= k1; k2++ )
91 for ( n = 0; n < N; n++ )
92 mat( k1, k2 ) += x( n ).item( k1 - 1 ) * x( n ).item( k2 - 1 );
93 mat( k2, k1 ) = mat( k1, k2 );
97 for ( n = 0; n < N; n++ )
100 for ( k = 1; k <= D; k++ )
101 vec( k ) += y( n ) * x( n ).item( k - 1 );
106 for ( k = 1; k <= D; k++ )
107 b.
item( k - 1 ) = res( k );
virtual void doit(const AimsData< AimsVector< float, D > > &, const AimsData< float > &, float &, AimsVector< float, D > &)
AIMSDATA_API AimsData< float > AimsLinearResolutionLU(const AimsData< float > &matrix, const AimsData< float > &b)
void doit(const AimsData< AimsVector< float, D > > &x, const AimsData< float > &y, float &a, AimsVector< float, D > &b)
const T & item(int d) const