MeatAxe: Using the MeatAxe Programs: General Remarks

MeatAxe 2.4

- Main Page
- Related Pages
- Modules
- Data Structures

Using the MeatAxe Programs: General Remarks

## Setting up the environment

It is recommended that you include the MeatAxe installation directory, where all the programs are installed, in your path. You may also define the following environment variables which are recognized by the MeatAxe programs:

`MTXLIB`
  Name of the MeatAxe library directory, see The library directory. You need to define this variable only if you want to use a library directory different from the default library directory chosen at compile time. This can be overridden by the -L command line option.

`MTXBIN`
  Name of the MeatAxe installation directory. This is necessary if the programs have been moved into another directory without recompiling and you want to use the automatic table file generation feature. The value of this variable can be overridden by the -B option.

## Arithmetic Tables

All programs use lookup tables for row operations and finite field arithmetic. These tables are read from a file named `pXXX.zzz`. where XXX is the field order. For example, tables for GF(25) are read from the file `p025.zzz`. If the table file does not exist, it will be created automatically. You may also use the maketab program to generate the table file manually. Table files may also be placed in the library directory (see below) because the programs look there before they try to generate a new file.

## File Types

All MeatAxe programs operate on files and do not require user interaction. There are two kinds of files:

- Binary (internal format) data files. Programs usually read and write data in binary format.

- Text files, used by some programs as zcv and zpr. The format of text files is described with the zcv program.

Typically, a program reads a number of input files and produces one or more output files. For example, the ZMU (multiply) program expects two input and one output file. Thus,

    zmu mat1 mat2 result

reads matrices from "mat1" and "mat2", and writes the product to "result". To find out which files are used by a specific program, look up the program description in section Program Index. You can also run any MeatAxe program with the "--help" option to get an on-line help.

## The library directory

When given a file name, all programs look for the file in the current directory first. If the file is not found there, some programs try to find it in the library directory, provided a library has been defined. This extended search applies, for example, to ZEV and zcv input files and also to the arithmetic table files.

The library is usually defined at compile-time by defining MTXLIB. This definition may be overridden at run-time by defining the environment variable MTXLIB. In either case MTXLIB must be a directory name including a trailing separator character (e.g., '/' for UNIX). When looking for files in the library, the programs simply append the file name to the value of MTXLIB in order to build the complete file name.