Reorganizing algorithms into "blocked" versions that are significantly faster on modern hardware.

Specifically Level 3 BLAS, which performs matrix-matrix operations to maximize data reuse in cache.

In the early 1970s, the world of scientific computing was fragmented. While the Handbook for Automatic Computation by Wilkinson and Reinsch provided high-quality Algol 60 procedures for matrix computations, there was no standardized, portable, and rigorously tested library for the more widely used Fortran language.

EISPACK was designed to be a "pathway" system. Users would select a specific path of subroutines based on the characteristics of their matrix and the specific data required:

At the heart of EISPACK lies the , a robust iterative process that decomposes a matrix to find its eigenvalues. EISPACK’s implementation of this algorithm—specifically the versions handling the transformation to Hessenberg or tridiagonal form—remains a textbook example of balancing accuracy with computational economy. By using orthogonal transformations (like Householder reflections), the library ensures that rounding errors do not grow catastrophically during the process. Legacy and the Transition to LAPACK

In response, the NATS project (National Activity to Test Software), involving Argonne National Laboratory and various universities, began translating and refining these algorithms. The result was , a milestone in software engineering that prioritized numerical stability, documentation, and systematic testing over simple execution speed. Scope and Mathematical Coverage

Routines are modular, allowing users to calculate all eigenvalues, only a subset within a range, only the eigenvectors, or both. The Systematic Approach: The "Driver" Philosophy