zef man page

zef — convert a matrix to echelon form

Synopsis

zef [Options] <Inp> <Out>

Description

This program reads in a matrix, performs a Gaussian elimination to put the matrix into semi-echelon form, and writes out the result.

A matrix is in semi-echelon form, if the first non-zero entry in each row entry is a 1, and all entries exactly below that 1 are zero. Here is an example:

000112312312342412123
012012312312231231233
000000001345121223233
102012330332333312212
001021230333323123123
000001230311212112121

A matrix is in (full) echelon form if the rows are further permuted so that the first non-zero entry in each row is later than the first non-zero entry in all previous rows. There is no real need to do this row permutation in the MeatAxe system, and the permutation is not done by this program.

At the end, the matrix may have fewer rows than it started with, since the rows may have been linearly dependent. The rows of the output matrix are always linearly independent and span the same space as the rows of the input matrix. A message:

RANK nnn

is printed at the end of the run to notify the operator of the size of the output matrix. This program may be used to find the rank of matrix, being faster than the null-space program. There is no need for the input matrix to be square, and the output may also not be square.

Options

-Q
Quiet, no messages.
-V
Verbose, more messages.
-T <MaxTime>
Set CPU time limit
-G
Produce output in GAP format. This option implies -Q.

Input Files

Inp
The matrix.

Output Files

Out
The reduced matrix.

Referenced By

zqt(1).

2.4.24 MeatAxe User Commands