\( \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 ) ) ) $ |
(%i2) |
Involutivep
(
L
,
x
)
:
=
block
(
[
F
,
G
,
i
,
j
,
r
,
n
]
,
r : length ( L ) , F : apply ( ' matrix , L ) , F : transpose ( F ) , G : copy ( F ) , for i : 1 thru r do for j : i + 1 thru r do block ( [ f1 , f2 ] , f1 : list_matrix_entries ( col ( F , i ) ) , f2 : list_matrix_entries ( col ( F , j ) ) , G : addcol ( G , LieBracket ( f1 , f2 , x ) ) ) , is ( rank ( F ) = rank ( G ) ) ) $ |
(%i6) |
f
:
[
x2
,
0
,
x4
,
−
(
G
·
sin
(
x3
)
)
/
l
]
$
g : [ 0 , 1 , 0 , − cos ( x3 ) / l ] $ x : [ x1 , x2 , x3 , x4 ] $ n : length ( x ) $ |
(%i7) | D : makelist ( LieBracket ( − f , g , x , i ) , i , 0 , n − 2 ) ; |
\[\operatorname{(D) }\left[ \left[ 0\operatorname{,}1\operatorname{,}0\operatorname{,}-\frac{\cos{\left( \ensuremath{\mathrm{x3}}\right) }}{l}\right] \operatorname{,}\left[ 1\operatorname{,}0\operatorname{,}-\frac{\cos{\left( \ensuremath{\mathrm{x3}}\right) }}{l}\operatorname{,}-\frac{\sin{\left( \ensuremath{\mathrm{x3}}\right) } \ensuremath{\mathrm{x4}}}{l}\right] \operatorname{,}\left[ 0\operatorname{,}0\operatorname{,}-\frac{2 \sin{\left( \ensuremath{\mathrm{x3}}\right) } \ensuremath{\mathrm{x4}}}{l}\operatorname{,}\frac{\cos{\left( \ensuremath{\mathrm{x3}}\right) } {{\ensuremath{\mathrm{x4}}}^{2}}}{l}-\frac{G {{\sin{\left( \ensuremath{\mathrm{x3}}\right) }}^{2}}}{{{l}^{2}}}+\frac{G {{\cos{\left( \ensuremath{\mathrm{x3}}\right) }}^{2}}}{{{l}^{2}}}\right] \right] \]
(%i8) | Involutivep ( D , x ) ; |
\[\operatorname{false}\]
Created with wxMaxima.