Abstract. The C/Fortran library LIBLAC provides a set of convenient, structured data types and basic operations for numerical linear algebra. The library is intended to facilitate the ANSI C implementation of high-level applications which involve hierarchically structured data like partitioned vectors or block matrices. By maintaining compatibility with Fortran 77 conventions (e.g., matrices are stored by columns, and vectors may have arbitrary memory strides), the task of sharing data with existing Fortran 77 code is greatly simplified. Basic operations for data access, data copying/conversion, and input/output are supported in fully generic form. In addition, safe and user-friendly interfaces to Level 1-3 BLAS [2,3,4] and LAPACK  are provided, i.e., the use of existing libraries of highly efficient Fortran 77 subroutines is encouraged for performing common lower level computations. LIBLAC is easily portable to platforms supporting ANSI C and Standard Fortran 77, and it fully encapsulates the platform-dependent details of the C/Fortran interface, thereby resolving the inherent portability problems of mixed-language programs. The performance of typical applications is competitive with Fortran 77/BLAS.
|Correspondence should be addressed to email@example.com|