MeatAxe: zef - Echelon Form

MeatAxe 2.4

- Main Page
- Related Pages
- Modules
- Data Structures

zef - Echelon Form

## Command Line

    zef Options [-G] Inp Out

Options
  Standard options, see Standard Command Line Options.

-G
  GAP output.

Inp
  Input matrix.

Out
  Output matrix.

## Input Files

Inp
  Input matrix.

## Output Files

Out
  Output matrix.

## 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.