zor - Order

Command Line

zor Options [-q] [-m MaxOrder] Input 

Options
Standard options, see Standard Command Line Options
-q
Quick mode (see description).
-m MaxOrder
Set upper limit for the oder of cyclic subspaces (see description).
Input
Input file.

Input Files

Input
Matrix or permutation.

Description

This program reads a file, containing either permutations, or a square matrix, and calculates the order(s) and prints the message
ORDER IS xxxx
There are two options to reduce the run time of the program. Using the "-m" option you can specify a maximal expected order. If, during the algorithm described below, the order reaches this limit, the program will stop and print an appropriate message. The second option, "-q", makes zor stop if the dimension of W (see below) reaches 1/10 of the dimension of the whole space. In this case, the message is
ORDER IS A MULTIPLE OF NNN 
Note: The "-q" and "-m" options have no effect for permutations.

Implementation Details

If the input is a matrix, the order is found by calculating the orders on cyclic subspaces and taking the least common multiple. The algorithm works as follows:

Gaussian elimination is used to maintain a basis of W in echelon form. In order to avoid infinite loops, there is a limit on o'. If the vector does not return after 1000 multiplications the order is assumed to be infinite and the program stops with an error message. This happens also if the value of o exceeds 100000.

If the input file contains permutations, each one is read in and its order is calculated as the least common multiple of the orbit sizes. The result is printed in the format

ELEMENT nn HAS ORDER nnn

The whole matrix plus a second matrix of the same size must fit into memory. In the case of permutations, there must be enough memory for one permutation.


MeatAxe 2.4 documentation, generated on Tue May 12 01:29:54 2009