## Program Orbit

### Usage

Orbit 'file1' 'file2' [-i] [-r] [-l] [-k] [-t] [-L=n] [-S=n] [-p] [-u] [-g] [-R]

file1: matrix_TYP, contains a matrix X whose orbit is to be calculated

file2: bravais_TYP, contains generators of a group G
### Description

Calulates the orbit of the matrix X in file1 under the group G in file2,
where the action is specified by the options. Default option is action by
left multiplication.
### Options

-i : Use the generators given in file2 and their
inverses to calculate the orbit.
-r : Operate from the right.
-l : Operate from the left (default).
-k : Operate via conjugation, ie. x -> g x g^-1
-L=n : Calculate at most n elements of the orbit.
0 means infinity.
-S=n : If given as -S or -S=0 a generating set for
the stabilizer is calculated. If given as
-S=n at most n matrices of the stabilizer
are calculated.
S=-1 means ONLY the stabilizer is calculated.
-p : Operate on pairs of the form {M,-M}.
-u : Operate on the set of rows of the matrix given
in file1.
-f : Operates on quadratic forms via x -> g^-tr x g^-1
-g : Operate on sublattices of Z^n spanned by the columns
(rows) of the matrices gX (Xg) with g in G. Brakets
apply if given with the -r option.
-R : Give representatives of the G-orbits at the end of
the output.

### Remarks

WARNING: If the orbit is infinite use option -L!

See also for Is_finite and Order.

### Examples

- Find the stabilizer of a sublattice in the Bravais
group of the unit form F=I
_{6}.