Meschach: Matrix computations in C

Meschach is a C-language library of routines for performing matrix computations. It has a collection of data structures which are self-contained, can be created, destroyed and resized at will which includes permutations, vectors, matrices, integer vectors, complex vectors and matrices and sparse matrices.

Example of use

Meschach code looks like this:

    MAT  *A, *Acopy;
    VEC  *b, *x;
    PERM *pivot;

    A = m_input(MNULL);    /* read in matrix from stdin */
    Acopy = m_copy(A,MNULL);  /* create & copy matrix */
    b = v_input(VNULL);    /* read in vector from stdin */
    pivot = px_get(A->m);  /* get pivot permutation -- size = # rows of A */
    LUfactor(A,pivot);     /* LU factorisation */
    x = LUsolve(A,pivot,b,VNULL);  /* ... and solve A.x = b; result is in x */
    /* .... and print out solution with a comment */
    printf("# x =\n");    v_output(x);

For information on the manual, see the bottom of this page.

What's here?

The files in this directory include:


FAQ.meschach: Meschach's Frequently Asked Questions (with answers)

mesch12a.announce: Announcement notice for version 1.2

User's contributions

Partial online manual

mesch12b.index: Netlib index entry for new version

mesch12b.tar.Z: tar file containing complete library (compress'd)

mesch12b.tar.gz ....(gzip'd) ....(zip'd)

BinHex4.0'd Mac setup file for Think C courtesy of Brent Boyer (

meschach0.shar.Z: shar file containing core routines (compress'd)

meschach0.shar.gz ....(gzip'd)

meschach1.shar.Z: shar file containing basic matrix operations (compress'd)

meschach1.shar.gz ....(gzip'd)

meschach2.shar.Z: shar file containing matrix factorisations (compress'd)

meschach2.shar.gz ....(gzip'd)

meschach3.shar.Z: shar file containing sparse and iterative methods (compress'd)

meschach3.shar.gz ....(gzip'd)

meschach4.shar.Z: shar file containing complex operations (compress'd)

meschach4.shar.gz ....(gzip'd)

oldmeschach.shar.Z: shar file containing old iterative routines (compress'd)

oldmeschach.shar.gz ....(gzip'd)

rcs_logs: Change log a la RCS

version1.1b: Directory for version 1.1b

version1.2a: Directory for version 1.2a

For more information...

For more information about Meschach, email or

The Meschach 1.2 manual (Meschach: Matrix Computations in C)is published by the Centre for Mathematics and its Applications, School of Mathematical Sciences, Australian National University, Canberra, ACT 0200, Australia. To order your copy send a message to the above address by paper mail, or send an order over email to with your paper mail address. Cost: about A$30 (that's roughly US$22) + postage and handling. You can pay on delivery by international money order, credit/charge card etc. on delivery.

Note: There is also the tutorial chapter of the manual in ASCII form distributed with Meschach.

David Stewart, Department of Mathematics, University of Iowa.