Lie-Ableitung eines Kovektorfeldes
(%i1) LieCovector ( [ l ] ) : = block ( [ f , w , x , k , Df , Dw , Lfw ] ,
   if ( length ( l ) < 3 ) or ( length ( l ) > 4 ) then
      error ( "Aufruf mit 3 oder 4 Argumenten." ) ,
   f : l [ 1 ] ,
   w : l [ 2 ] ,
   x : l [ 3 ] ,
   if length ( l ) = 3 then k : 1 else k : l [ 4 ] ,
   if not ( nonnegintegerp ( k ) ) then
      error ( "Ordnung k muss natürliche Zahl sein." ) ,
   if k = 0 then return ( w )
   else
       Df : jacobian ( f , x ) ,
       Dw : jacobian ( w , x ) ,
       Lfw : list_matrix_entries ( w . Df + f . transpose ( Dw ) ) ,
       return ( LieCovector ( f , Lfw , x , k 1 ) )
) $
Beispiel: Inverses Pendel mit Motor
(%i5) f : [ x2 , ( m · G · l · sin ( x1 ) d · x2 + K · x3 ) / J , ( K · x2 + R · x3 ) / L ] $
ω : [ J · L / K , 0 , 0 ] $
x : [ x1 , x2 , x3 ] $
n : length ( x ) $
Reglerverstärkung (Approximation 0. Ordnung)
(%i6) σ : sum ( a [ i ] · LieCovector ( f , ω , x , i ) , i , 0 , n 1 ) ;

\[\operatorname{(\sigma ) }\left[ \frac{{a_2} G L l m \cos{\left( \ensuremath{\mathrm{x1}}\right) }}{K}+\frac{{a_0} J L}{K}\operatorname{,}\frac{{a_1} J L}{K}-\frac{{a_2} L d}{K}\operatorname{,}{a_2} L\right] \]


Created with wxMaxima.