## Section: Software

Keywords : generic library, matrix computation, black box, sparse or structured matrix, exact arithmetic, finite field, integer, rational number, polynomial.

### LinBox: High Performance Software for Matrix Computations

Participant : G. Villard.

This software library is developed within an international initiative between Canada, United States, and France (see § 8.3 ).

LinBox is a C++ template library for exact and high-performance linear algebra computation with sparse and structured matrices. Base domains for the matrix coefficients are finite fields, the rational numbers, and univariate polynomials. Implementing standard interfaces the library uses a plug-and-play methodology [59] , offers connections to external softwares like Maple, and provides online servers. LinBox 1.0 (July 2005) is available. This is the first non-beta and stable release. The algorithmic solutions provided to the user have undergone a major revision and extension with the purpose of making the linear algebra functions easily invoked. Also the example directory contains illustrative uses of each function. The new algorithms released concern especially Dixon's rational solving, the characteristic polynomial, block Krylov solvers, and a hybrid algorithm for the Smith normal form. A Linbox/Maple interface has been developed by P. Giorgi (who left Arénaire early 2005) during his postdoctoral stay at the Symbolic Computation Group (Waterloo University, Canada). LinBox is part of the Roxane project (see § 8.1 ).

**Status:** Stable / **License:** LGPL / **OS:** Unix, Linux, Windows (Cygwin), WinNT / **Programming Language:** C++ / **Dependencies:** GMP, ATLAS / **URL:** http://www.linalg.org