LinBox: Introspective algorithms for very fast exact linear algebra
Linear algebra lies at the core of computation and modeling in science and engineering. Almost all of it done today is numeric linear algebra in which the data are measured values and the results are approximate and subject to varying amounts of error. This talk addresses exact linear algebra computation in which the data are whole numbers and the results are exact - computed without any error whatsoever. In the past two decades, significant new methods have arisen and are enabling solution of large problem instances where it could not before be dreamed of.
LinBox is a general purpose exact linear algebra library.
We will first present how the library can provide both high performance via highly efficient and specialized kernels (such as GMP for arbitrary precision, Givaro for finite fields, NTL for polynomials, BLAS for numerical linear algebra, M4RI for GF2 linear algebra ...) and genericity with respect to the many variants of matrix representation and underlying arithmetic: through carefully designed interfaces implemented using the C++ template mechanism, it is not necessary to write a separate function for each combination of algorithmic problem, field representation, and matrix representation. We will then show how those kernels can be used by special purpose algorithms and LinBox' higher level self-management of resources and structured inputs through adaptive and introspective schemes. Finally, we will demonstrate some LinBox capabilities enabled by some recent theoretical and practical advances as e.g. new expected bit complexity of computing determinants.
Linbox is available at linalg.org and is also usable through classic computer algebra systems such as GAP, Maple or SAGE.