zcf man page
zcf — change field
Synopsis
zcf [Options] <Field> <Input> <Output>
Description
This program converts between various data types. Currently there are two kinds of conversions available:
- If Input is a matrix, then Field is changed to GF(q). The current field of the input file must be a subfield or a superfield of GF(q). In the latter case, all matrix entries must be in GF(q).
- If Input is a permutation of degree n, it is converted into the corresponding n times n permutation matrix over GF(q).
In either case, the result is written to Output.
Options
- -Q
Quiet, no messages.
- -V
Verbose, more messages.
- -T <MaxTime>
Set CPU time limit
Implementation Details
For matrices, the conversion is done in two steps. First, all entries of the matrix are converted to integers. Then, they are mapped to the new field and reassembled into rows. The result is written out row by row.
In case of permutations the output matrix is generated row by row by inserting ones at the positions specified by the permutation.
If the input is a matrix, the whole matrix must fit into memory. Additionally, the program needs n·m·s bytes of memory, where m and n are the dimensions of the input matrix and s=1 for the small arithmetic version and s=2 for the big version. In case of permutations, the input permutation and one row of the output file must fit into memory.