(%i1) load ( linearalgebra ) ;

\[\operatorname{ }"/usr/share/maxima/5.43.2/share/linearalgebra/linearalgebra.mac"\]

Lie-Ableitung eines Kovektorfeldes
(%i2) 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: Mobiler Roboter
(%i5) f : [ sin ( x3 ) , cos ( x3 ) , 0 ] ;
h : x1 ^ 2 + x2 ^ 2 ;
x : [ x1 , x2 , x3 ] ;

\[\operatorname{(f) }\left[ \sin{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}\cos{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}0\right] \]

\[\operatorname{(h) }{{\ensuremath{\mathrm{x2}}}^{2}}+{{\ensuremath{\mathrm{x1}}}^{2}}\]

\[\operatorname{(x) }\left[ \ensuremath{\mathrm{x1}}\operatorname{,}\ensuremath{\mathrm{x2}}\operatorname{,}\ensuremath{\mathrm{x3}}\right] \]

Gradient der Ausgangsabbildung als Kovektorfeld
(%i6) dh : list_matrix_entries ( jacobian ( [ h ] , x ) ) ;

\[\operatorname{(dh) }\left[ 2 \ensuremath{\mathrm{x1}}\operatorname{,}2 \ensuremath{\mathrm{x2}}\operatorname{,}0\right] \]

Lie-Ableitung des Kovektorfeldes
(%i7) LieCovector ( f , dh , x ) ;

\[\operatorname{ }\left[ 2 \sin{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}2 \cos{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}2 \ensuremath{\mathrm{x1}} \cos{\left( \ensuremath{\mathrm{x3}}\right) }-2 \ensuremath{\mathrm{x2}} \sin{\left( \ensuremath{\mathrm{x3}}\right) }\right] \]


Created with wxMaxima.