Lie-Ableitung eines Skalarfeldes
(%i1) LieScalar ( [ l ] ) : = block ( [ f , h , x , k , Lfh ] ,
   if ( length ( l ) < 3 ) or ( length ( l ) > 4 ) then
      error ( "Aufruf mit 3 oder 4 Argumenten." ) ,
   f : l [ 1 ] , /* Vektorfeld */
   h : l [ 2 ] , /* Skalarfeld */
   x : l [ 3 ] , /* Variable   */
   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 ( h )
   else
       Lfh : jacobian ( [ h ] , x ) . f ,
       return ( LieScalar ( f , Lfh , x , k 1 ) )
) $
Relativer Grad
(%i2) RelativeDegree ( f , g , h , x ) : = block ( [ n , r : inf , lie ] ,
   n : length ( x ) ,
   for k : 1 thru n do (
       lie : ratsimp ( LieScalar ( g , h , x ) ) ,
       if not ( lie = 0 )
       then ( r : k , return ( r ) ) ,
       h : LieScalar ( f , h , x )
   ) ,
   r
) $
Beispiel: Isidori 1995, Bsp. 4.3.4, S. 167
(%i6) f : [ x3 x2 ^ 3 , x2 , x3 + x1 ^ 2 ] $
g : [ 0 , x3 ^ 2 , 1 ] $
h : x1 $
x : [ x1 , x2 , x3 ] $
Relativer Grad
(%i7) r : RelativeDegree ( f , g , h , x ) $
(%i9) qred : makelist ( LieScalar ( f , h , x , i ) , i , 0 , r 1 ) $
Q : jacobian ( qred , x ) ;

\[\operatorname{(Q) }\begin{pmatrix}1 & 0 & 0\\ 0 & -3 {{\ensuremath{\mathrm{x2}}}^{2}} & 1\end{pmatrix}\]

(%i11) l : makelist ( a [ i ] , i , r 1 , 0 , 1 ) $
k : moore_penrose_pseudoinverse ( Q ) . l ;

\[\operatorname{(k) }\begin{pmatrix}{a_1}\\ -\frac{3 {a_0} {{\ensuremath{\mathrm{x2}}}^{2}}}{9 {{\ensuremath{\mathrm{x2}}}^{4}}+1}\\ \frac{{a_0}}{9 {{\ensuremath{\mathrm{x2}}}^{4}}+1}\end{pmatrix}\]


Created with wxMaxima.