📄 readme
字号:
LAPACK++ v. 2.x http://www.sourceforge.net/projects/lapackpp Download page: http://sourceforge.net/project/showfiles.php?group_id=99696LAPACK++ is a library for high performance linear algebracomputations. This version includes support for solving linearsystems using LU, Cholesky, QR matrix factorizations, and symmetriceigenvalue problems.Platforms=========- Linux/Unix gcc2.95.x, gcc3.x, gcc4.x- Windows 9x/NT/2000 under MinGW and gcc3.x (see file README.W32)- Windows 9x/NT/2000 under MSVC Visual Studio .NET; project file is included- Mac OS X (note: this platform required to set FLIBS="-L/sw/lib -lfrtbegin -lg2c -lSystem" before the ./configure completed successfully.)Some similar functionality as in LAPACK++ is offered by thelibrary IT++, see http://itpp.sourceforge.net/, but one importanthigh-performance feature missing in IT++ is the ability to create"submatrix views" and "shallow copies" of matrices, i.e. passsubmatrices by reference instead of by value.Requirements============This package requires the packages "blas", "lapack" (without the"++"), and a Fortran compiler. On most Linuxes these are availableas pre-compiled binaries under the name "blas" and "lapack". ForSuSE 10.x, the Fortran compiler is available as package"gfortran". For SuSE 9.x, the Fortran compiler is available aspackage "gcc-g77".Compile and Install===================Windows: On Windows, an .exe setup package with the pre-compiledDLL is provided. Watch out: This DLL works only with the gcccompiler, not with the Microsoft Visual Studio C++ (MSVC)compiler! For compiling on Windows with the Microsoft Visual Studio C++(MSVC) compiler: 1. Install the .exe setup package because it contains the auxiliary libraries LIBBLAS32.LIB and others. The linker library LIBBLAS32.LIB and LIBLAPACK32.Lib is installed into c:\Program-Files\Lapackpp\lib\ whereas the corresponding LIBBLAS32.DLL and LIBLAPACK32.DLL are installed into your Windows system directory, e.g. c:\WINNT. These files are unchanged since years, so you can safely use these four files from an earlier release of lapackpp to compile a newer release from source code. 2. Unpack the tar.gz package with the source code, and 3. compile the source code using the provided lapackpp.vcproj MSVC project file, which will also compile two small test programs. You might have to adapt the linker input directories (Project Properties -> Linker -> Input) so that the LIBBLAS32.LIB linker library can be found in c:\Program-Files\Lapackpp\lib\. 4. After successfully compiling the DLL, you need to copy the LAPACKPP.DLL file to whatever location you consider appropriate. This can either be your c:\WINNT directory, or the working directory of your actual application that should use lapackpp.Note: This has been tested only with MSVC 7.1. In older MSVCversions, lapackpp probably doesn't compile anymore. This might bedue to problems with the data types for complex-valued matrices,and in that case you can try to compile the real-valued matricesonly by using the included project file lapackpp-onlyreal.vcproj.For compiling on windows with gcc/mingw32, see README.WIN32.Linux/Unix: If you retrieved this package from CVS, you first needto run ./autogen.shand continue with compilation after that.For compilation, run the following commands: ./configure --prefix=/your/install/path make make installType "./configure --help" to see more configuration options. Aftersuccessful compilation, you can run various test programs by thecommand "make check".The setup package was created with the Inno Setup Compilerhttp://www.jrsoftware.org/isdl.php . To create the .exe setuppackage by yourself, you need to run "make setup", which will runthe InnoCompiler on the provided setup file lapackpp.iss.Documentation=============The documentation is in the header files. The comments in theheader files are used by the doxygen tool for the auto-generatedHTML documentation. An online copy of this generated HTMLdocumentation is at http://www.sourceforge.net/projects/lapackppLinux/Unix/mingw32: To have the HTML documentation of the APIgenerated by doxygen in the directory api-doc/html, run make srcdocThere is some old, outdated information about the originalLAPACK++-1.1 in the LAPACK++ User's Manual and Class ReferenceManual, all available from http://www.netlib.org/ or onhttp://math.nist.gov/lapack++/ , but please keep in mind that thisis old and outdated!Library Usage=============The resulting shared library is called "liblapackpp.so" or, onWindows, "liblapackpp32.dll". To use it in your program, you need to specify the location of theheader files by the compiler argument -I (for gcc), the locationof the shared library by the compiler argument -L and the libraryitself by -llapackpp . All of these arguments can be obtained fromthe pkg-config helper program, see "man pkg-config". A linkercommand might look like this: gcc `pkg-config lapackpp --libs` foo.oIf your application uses autoconf/automake, these compilerarguments can alternatively be obtained from the ACX_LAPACKPPmacro from macros/acx_lapackpp.m4. A linker command might looklike this: gcc -L/usr/local/lib -llapackpp foo.oTo switch on the support for complex-valued matrices, you need todefine the macro LA_COMPLEX_SUPPORT in the source code of yourapplication.Contact=======The developers can be reached by sending email to the mailing listlapackpp-devel@lists.sourceforge.net , also listed onhttp://sourceforge.net/mail/?group_id=99696Related projects================ * http://www.cvmlib.com/ CVM Class Library with a long history of improvements * http://sourceforge.net/projects/lpp/ Recently started; only low-level classesLAPACK++ v1.1 vs. v2.x and higher=================================The original LAPACK++ (up to v1.1a) has been written by R. Pozo etal. at the University of Tennessee, Knoxvilee, TN., and Oak RidgeNational Laboratory, Oak Ridge, TN, and is available onhttp://math.nist.gov/lapack++/However, they abandoned LAPACK in the year 2000 and stated: "Lapack++is no longer actively supported. The successor to this project is thatTemplate Numerical Toolkit (TNT), see http://math.nist.gov/tnt fordetails." Unfortunately, the project TNT never really took off.Therefore this fork from the original LAPACK++ has been started. Thereare a whole number of changes now in here. Most notably, this localcopy has complex matrices enabled again by adding a custom copy ofstdc++'s complex type (see include/lacomplex.h and include/lacomplex).Along these lines, wrapper functions for more and more LAPACK and BLASroutines have been added. Also, this includes fixes in various wrongdefault arguments.Features========LAPACK++ v. 2.x supports various matrix classes for vectors, non-symmetricmatrices, symmetric positive definite (SPD) matrices, symmetric matrices, banded, triangular, and tridiagonal matrices; however, Version 1.1 does not include all of the capabilities of original f77 LAPACK. Emphasis is given to routines for solving linear systems consisting of non-symmetric matrices, symmetric positive definite systems, and solving linear least-square systems. 2004-08-04, Christian Stimming <stimming@tuhh.de>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -