\( \DeclareMathOperator{\abs}{abs} \newcommand{\ensuremath}[1]{\mbox{$#1$}} \)
(%i1) |
LieBracket
(
[
l
]
)
:
=
block
(
[
f
,
g
,
x
,
k
,
Df
,
Dg
,
ad
]
,
if ( length ( l ) < 3 ) or ( length ( l ) > 4 ) then error ( "Aufruf mit 3 oder 4 Argumenten." ) , f : l [ 1 ] , g : 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 ( g ) else Df : jacobian ( f , x ) , Dg : jacobian ( g , x ) , ad : list_matrix_entries ( Dg . f − Df . g ) , return ( LieBracket ( f , ad , x , k − 1 ) ) ) $ |
(%i4) |
f
:
[
sin
(
x3
)
,
cos
(
x3
)
,
0
]
;
g : [ 0 , 0 , 1 ] ; x : [ x1 , x2 , x3 ] ; |
\[\operatorname{(f) }\left[ \sin{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}\cos{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}0\right] \]
\[\operatorname{(g) }\left[ 0\operatorname{,}0\operatorname{,}1\right] \]
\[\operatorname{(x) }\left[ \ensuremath{\mathrm{x1}}\operatorname{,}\ensuremath{\mathrm{x2}}\operatorname{,}\ensuremath{\mathrm{x3}}\right] \]
(%i5) | LieBracket ( f , g , x ) ; |
\[\operatorname{ }\left[ -\cos{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}\sin{\left( \ensuremath{\mathrm{x3}}\right) }\operatorname{,}0\right] \]
(%i6) | LieBracket ( f , g , x , 2 ) ; |
\[\operatorname{ }\left[ 0\operatorname{,}0\operatorname{,}0\right] \]
Created with wxMaxima.