|  |  D.5.3.4 parametrizeOrbit Procedure from libraryorbitparam.lib(see  orbitparam_lib).
 
Example:Usage:
parametrizeOrbit(L,v); L list, v matrix.
Assume:
L is a list of strictly upper triangular n x n matrices of same size.
The vector space <L> genererated by the elements of L should be closed
under the Lie bracket.
v is matrix of constants of size n x 1.
 The basering has at least size(L) variables. However we will only use
tangentGens(L,v)[1] many of them.
 
Return:
list, with four entries
- int, dimension of the orbit
 - matrix A over the basering giving a parametrization of the orbit of v under the action of exp(<L>).
 - list of integers, with the (row)-indices of entries which can be deleted by the action
 - the variables of the parametrization to solve for
 
Theory:
We apply the theorem of Chevalley-Rosenlicht. First we determine tangent space generators,
then apply matrixExpto the generators, and finally take the product
to obtain the parametrization.
 |  | LIB "orbitparam.lib";
ring R = 0,(t(1..3)),dp;
matrix L1[3][3] = 0,1,0, 0,0,0, 0,0,0;
matrix L2[3][3] = 0,0,1, 0,0,0, 0,0,0;
matrix L3[3][3] = 0,1,1, 0,0,1, 0,0,0;
list L = L1,L2,L3;
matrix v[3][1] = 1,2,3;
parametrizeOrbit(L,v);
==> [1]:
==>    2
==> [2]:
==>    _[1,1]=1/6*t(1)^2+5/3*t(1)+t(2)+1
==>    _[2,1]=t(1)+2
==>    _[3,1]=3
==> [3]:
==>    [1]:
==>       2
==>    [2]:
==>       1
==> [4]:
==>    [1]:
==>       t(1)
==>    [2]:
==>       t(2)
ring R1 = 0,(t(1..2)),dp;
matrix L1[4][4] = 0,1,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0;
matrix L2[4][4] = 0,0,1,0, 0,0,0,1, 0,0,0,0, 0,0,0,0;
list L = L1,L2;
matrix v[4][1] = 1,2,3,4;
parametrizeOrbit(L,v);
==> [1]:
==>    2
==> [2]:
==>    _[1,1]=1/4*t(1)*t(2)+1/2*t(1)+3/4*t(2)+1
==>    _[2,1]=t(2)+2
==>    _[3,1]=t(1)+3
==>    _[4,1]=4
==> [3]:
==>    [1]:
==>       3
==>    [2]:
==>       2
==> [4]:
==>    [1]:
==>       t(1)
==>    [2]:
==>       t(2)
 | 
 
 |