CVM Class Library

NEW! MATLAB extensions for numerical solution of Ordinary Differential Equations.

Found this library useful? Please buy some prints of my photographs and support it! Thank you!

This C++ class library encapsulates concepts of vector and different matrices including square, band, symmetric and hermitian ones in Euclidean space of real and complex numbers. It utilizes BLAS and LAPACK Fortran libraries in order to achieve the best numerical performance possible. Along with basic vector and matrix arithmetic it contains different algorithms including norm computations, elementary transformations, solving of linear systems of kind Ax=b and AX=B, singular value decomposition, matrix rank and determinant computation, non-symmetric and symmetric eigenvalue problem (including Cholesky and Bunch-Kaufman factorization), LU factorization, QR, RQ, LQ and QL factorizations, different linear least square problems solutions, square matrix polynomials, square matrix inversion, pseudo (generalized) inversion and square matrix exponent. All these algorithms are implemented for real and complex numbers.

The library is distributed under the Boost Software License, Version 1.0. Current version is 6.0, October 6th, 2010 (see also history of changes and FAQ page). The following compilers and integrated development environments are currently supported:

For older compilers please use versions 5.6.2 and 5.2.

If you want to rebuild Fortran subroutines included into the library, you'll also need the Intel Fortran 11.1 or higher for Win32 and Linux platform (gfortran is also supported under Linux and MingW). The library can be linked with Intel MKL 10.2 or higher, with AMD ACML 4.3.0 or higher and also with native BLAS and LAPACK implementations. Your questions and bug reports are very welcome at ebwwbiw02@sneakemail.com.

Download

Binaries

Links to precompiled binaries for Win32, Win32 EM64T and Linux (IA32 and EM64T) platforms are given below (every archive contains both debug and release versions with regression test utilities). They were built using Intel Fortran and C++ compilers 11.1.067 for Windows and Intel Fortran 11.1.073 for Linux. Intel MKL 10.2.6.037 (Windows and Linux) libraries are dynamically linked with MKL binaries (redistributables included). AMD ACML 4.4.0 libraries are dynamically linked with ACML binaries (redistributables included). Native BLAS and LAPACK 3.2.2 libraries are statically linked (Intel Fortran 11.1.073 compiler used under Linux and gfortran 4.5.1 under MinGW):

   Native BLAS and LAPACK  Intel MKL  AMD ACML  AMD ACML MP
 Win32 (x86)  cvmlib.6.0.lapack.ia32.zip  cvmlib.6.0.mkl.ia32.zip  cvmlib.6.0.acml.ia32.zip  cvmlib.6.0.acml_mp.ia32.zip
 Win32 em64t  cvmlib.6.0.lapack.em64t.zip  cvmlib.6.0.mkl.em64t.zip  cvmlib.6.0.acml.em64t.zip  cvmlib.6.0.acml_mp.em64t.zip
 Win32 em64t int64  cvmlib.6.0.lapack.em64t.ilp64.zip  cvmlib.6.0.mkl.em64t.ilp64.zip  not provided by AMD  not provided by AMD
 Linux ia32  cvmlib.6.0.lapack.ia32.tar.gz  cvmlib.6.0.mkl.ia32.tar.gz  cvmlib.6.0.acml.ia32.tar.gz  cvmlib.6.0.acml_mp.ia32.tar.gz
 Linux em64t  cvmlib.6.0.lapack.em64t.tar.gz  cvmlib.6.0.mkl.em64t.tar.gz  cvmlib.6.0.acml.em64t.tar.gz  cvmlib.6.0.acml_mp.em64t.tar.gz
 Linux em64t int64  cvmlib.6.0.lapack.em64t.ilp64.tar.gz  cvmlib.6.0.mkl.em64t.ilp64.tar.gz  cvmlib.6.0.acml.em64t.ilp64.tar.gz  cvmlib.6.0.acml_mp.em64t.ilp64.tar.gz
 MinGW ia32  cvmlib.6.0.lapack.ia32.mingw.tar.gz      
 MinGW em64t  cvmlib.6.0.lapack.em64t.mingw.tar.gz      
 MinGW em64t int64  cvmlib.6.0.lapack.em64t.ilp64.mingw.tar.gz      

Pre-built Fortran Libraries

Links

Copyright (c) Sergei Nikolaev, 1992-2010. Welcome to my personal page.

SourceForge.net Logo