• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

blaspp/H03-May-2022-4,1343,145

contrib/H03-May-2022-1,1201,034

include/H03-May-2022-16,2957,809

macros/H03-May-2022-9,4188,397

matrix/H03-May-2022-11,1478,006

src/H03-May-2022-3,5062,307

testing/H03-May-2022-1,7391,284

AUTHORSH A D13-Mar-2008929 2820

COPYINGH A D13-Mar-200823.8 KiB459386

ChangeLogH A D10-Nov-201031.4 KiB959617

DoxyfileH A D13-Mar-200851.5 KiB1,277914

INSTALLH A D12-Aug-20079.3 KiB237179

MAINTAINERH A D13-Mar-200838 21

Makefile.amH A D10-Nov-20101.4 KiB5239

Makefile.inH A D03-May-202227.7 KiB882778

NEWSH A D10-Nov-20103 KiB7956

READMEH A D10-Nov-20107.2 KiB204148

README.W32H A D13-Mar-20083.2 KiB10672

RELEASE.NOTESH A D10-Nov-20102.1 KiB7848

aclocal.m4H A D10-Nov-201034.2 KiB964869

config.guessH A D08-Nov-200643.2 KiB1,5011,289

config.h.inH A D10-Nov-20102.8 KiB12282

config.subH A D08-Nov-200631.8 KiB1,6171,473

configureH A D03-May-2022847.7 KiB27,93521,689

configure.acH A D10-Nov-20108.4 KiB316275

depcompH A D12-Aug-200715.6 KiB531330

install-shH A D12-Aug-20079 KiB324189

lapackpp-onlyreal.vcprojH A D13-Mar-20087.6 KiB389388

lapackpp.issH A D10-Nov-20106 KiB149123

lapackpp.iss.inH A D13-Mar-20086.1 KiB149123

lapackpp.pc.inH A D13-Mar-2008497 2217

lapackpp.slnH A D13-Mar-20084.4 KiB7776

lapackpp.specH A D10-Nov-20101.9 KiB8462

lapackpp.spec.inH A D13-Mar-20081.9 KiB8466

lapackpp.vcprojH A D13-Mar-20087.9 KiB401400

ltmain.shH A D06-Jan-2010237.8 KiB8,4146,482

mainpage.doxygen.inH A D13-Mar-20088.7 KiB233168

missingH A D12-Aug-200710.8 KiB361268

README

1
2   LAPACK++ v. 2.x
3   http://www.sourceforge.net/projects/lapackpp
4   Download page: http://sourceforge.net/project/showfiles.php?group_id=99696
5
6LAPACK++ is a library for high performance linear algebra
7computations.  This version includes support for solving linear
8systems using LU, Cholesky, QR matrix factorizations, and symmetric
9eigenvalue problems.
10
11
12Platforms
13=========
14
15- Linux/Unix gcc2.95.x, gcc3.x, gcc4.x
16- Windows 9x/NT/2000 under MinGW and gcc3.x (see file README.W32)
17- Windows 9x/NT/2000 under MSVC Visual Studio .NET; project file is included
18- Mac OS X (note: this platform required to set
19  FLIBS="-L/sw/lib -lfrtbegin -lg2c -lSystem" before
20  the ./configure completed successfully.)
21
22Some similar functionality as in LAPACK++ is offered by the
23library IT++, see http://itpp.sourceforge.net/, but one important
24high-performance feature missing in IT++ is the ability to create
25"submatrix views" and "shallow copies" of matrices, i.e. pass
26submatrices by reference instead of by value.
27
28
29Requirements
30============
31
32This package requires the packages "blas", "lapack" (without the
33"++"), and a Fortran compiler. On most Linuxes these are available
34as pre-compiled binaries under the name "blas" and "lapack". For
35SuSE 10.x, the Fortran compiler is available as package
36"gfortran".
37
38
39Compile and Install
40===================
41
42Windows: On Windows, an older .exe setup package with the pre-compiled
43DLL is provided. Watch out: This DLL works only with the gcc
44compiler, not with the Microsoft Visual Studio C++ (MSVC)
45compiler!
46
47For compiling on Windows with the Microsoft Visual Studio C++
48(MSVC) compiler:
49
50 1. Install the older .exe setup package because it contains the
51 auxiliary libraries LIBBLAS32.LIB and others. (Alternatively: Get it
52 from the SVN source in the contrib/ sub-folder.) The linker library
53 LIBBLAS32.LIB and LIBLAPACK32.Lib is installed into
54 c:\Program-Files\Lapackpp\lib\ whereas the corresponding
55 LIBBLAS32.DLL and LIBLAPACK32.DLL are installed into your Windows
56 system directory, e.g. c:\WINNT. These files are unchanged since
57 years, so you can safely use these four files from an earlier
58 release of lapackpp to compile a newer release from source code.
59
60 2. Unpack the tar.gz package with the source code, and
61
62 3. compile the source code using the provided
63 lapackpp.vcproj MSVC project file, which will also
64 compile two small test programs. You might have to adapt the
65 linker input directories (Project Properties -> Linker -> Input)
66 so that the LIBBLAS32.LIB linker library can be found in
67 c:\Program-Files\Lapackpp\lib\.
68
69 4. After successfully compiling the DLL, you need to copy the
70 LAPACKPP.DLL file to whatever location you consider
71 appropriate. This can either be your c:\WINNT directory, or the
72 working directory of your actual application that should use
73 lapackpp.
74
75Note: This has been tested only with MSVC 7.1. In older MSVC
76versions, lapackpp probably doesn't compile anymore. This might be
77due to problems with the data types for complex-valued matrices,
78and in that case you can try to compile the real-valued matrices
79only by using the included project file lapackpp-onlyreal.vcproj.
80
81For compiling on windows with gcc/mingw32, see README.WIN32.
82
83Linux/Unix: If you retrieved this package from SVN, you first need
84to run
85  ./autogen.sh
86and continue with compilation after that.
87
88For compilation, run the following commands:
89
90  ./configure --prefix=/your/install/path
91  make
92  make install
93
94Type "./configure --help" to see more configuration options. After
95successful compilation, you can run various test programs by the
96command "make check".
97
98The setup package was created with the Inno Setup Compiler
99http://www.jrsoftware.org/isdl.php . To create the .exe setup
100package by yourself, you need to run "make setup", which will run
101the InnoCompiler on the provided setup file lapackpp.iss.
102
103
104Documentation
105=============
106
107The documentation is in the header files. The comments in the
108header files are used by the doxygen tool for the auto-generated
109HTML documentation. An online copy of this generated HTML
110documentation is at http://www.sourceforge.net/projects/lapackpp
111
112Linux/Unix/mingw32: To have the HTML documentation of the API
113generated by doxygen in the directory api-doc/html, run
114
115  make srcdoc
116
117There is some old, outdated information about the original
118LAPACK++-1.1 in the LAPACK++ User's Manual and Class Reference
119Manual, all available from http://www.netlib.org/ or on
120http://math.nist.gov/lapack++/ , but please keep in mind that this
121is old and outdated!
122
123
124Library Usage
125=============
126
127The resulting shared library is called "liblapackpp.so" or, on
128Windows, "liblapackpp32.dll".
129
130To use it in your program, you need to specify the location of the
131header files by the compiler argument -I (for gcc), the location
132of the shared library by the compiler argument -L and the library
133itself by -llapackpp . All of these arguments can be obtained from
134the pkg-config helper program, see "man pkg-config".  A linker
135command might look like this:
136
137  gcc `pkg-config lapackpp --libs` foo.o
138
139If your application uses autoconf/automake, these compiler
140arguments can alternatively be obtained from the ACX_LAPACKPP
141macro from macros/acx_lapackpp.m4. A linker command might look
142like this:
143
144  gcc -L/usr/local/lib -llapackpp foo.o
145
146To switch on the support for complex-valued matrices, you need to
147define the macro LA_COMPLEX_SUPPORT in the source code of your
148application.
149
150
151Contact
152=======
153
154The developers can be reached by sending email to the mailing list
155lapackpp-devel@lists.sourceforge.net , also listed on
156http://sourceforge.net/mail/?group_id=99696
157
158
159Related projects
160================
161
162 * http://www.cvmlib.com/ CVM Class Library with a long history of
163   improvements
164
165 * http://sourceforge.net/projects/lpp/ Recently started; only
166   low-level classes
167
168
169LAPACK++ v1.1 vs. v2.x and higher
170=================================
171
172The original LAPACK++ (up to v1.1a) has been written by R. Pozo et
173al. at the University of Tennessee, Knoxvilee, TN., and Oak Ridge
174National Laboratory, Oak Ridge, TN, and is available on
175http://math.nist.gov/lapack++/
176
177However, they abandoned LAPACK in the year 2000 and stated: "Lapack++
178is no longer actively supported. The successor to this project is that
179Template Numerical Toolkit (TNT), see http://math.nist.gov/tnt for
180details." Unfortunately, the project TNT never really took off.
181
182Therefore this fork from the original LAPACK++ has been started. There
183are a whole number of changes now in here. Most notably, this local
184copy has complex matrices enabled again by adding a custom copy of
185stdc++'s complex type (see include/lacomplex.h and include/lacomplex).
186
187Along these lines, wrapper functions for more and more LAPACK and BLAS
188routines have been added. Also, this includes fixes in various wrong
189default arguments.
190
191
192Features
193========
194
195LAPACK++ v. 2.x supports various matrix classes for vectors,
196non-symmetric matrices, symmetric positive definite (SPD) matrices,
197symmetric matrices, banded, triangular, and tridiagonal matrices;
198however, Version 1.1 does not include all of the capabilities of
199original f77 LAPACK.  Emphasis is given to routines for solving linear
200systems consisting of non-symmetric matrices, symmetric positive
201definite systems, and solving linear least- square systems.
202
2032004-08-04, Christian Stimming <stimming@tuhh.de>
204

README.W32

1
21. Using Lapack++
3=================
4
51.1. Needed Components
6----------------------
7
8You need DLLs of BLAS and Lapack.
9The contrib folder contains a patch against the latest lapack.tgz package
10which allows creating DLLs from the original source package.
11
12Alternatively, use the self-installing setup.exe file of lapackpp;
13this will include a DLL for blas and for lapack.
14
15
162. Compiling Lapack++
17=====================
18
19This section is only for compiling lapackpp yourself; if you
20installed the self-installing setup.exe file, you don't need to
21consider this section.
22
23This section is for compiling with the gcc compiler. If you want
24to use the Microsoft Visual C++ compiler instead, use the provided
25project file lapackpp.vcproj. For installation copy the resulting
26Debug/lapackpp.lib into whatever location you consider
27appropriate.
28
29
302.1. Needed Components
31----------------------
32
332.1.1. MinGW32
34
35MinGW32 is a project with the goal to provide a free compiler system and a
36nearly complete shell environment which allows to execute the configure
37script. The resulting DLLs and EXEs only link against Windows libraries, so
38there are no licence issues when releasing binary packages.
39The compiler itself is the very well known GCC.
40
41MinGW creates an environment just like under Linux (with quite the same
42file hierarchie, including a home directory).
43Paths including hard drive identifiers are used like this:
44c:\SOMEPATH -> /c/SOMEPATH
45d:\SOMEPATH -> /d/SOMEPATH
46and so on.
47
48The root directory of MinGW is a a subdirectory of the one you installed
49mingw to, in most cases "c:\msys\1.0". So "/" from inside the shell actually
50refers to that directory.
51
52You can get MinGW from http://www.mingw.org/
53
54Install instructions:
55- download and install MSYS 1.0.9
56  (there is an executable, which wants to install itself to "c:/msys".
57  This is a good choice, so from here on I assume you have choosen this path,
58  too)
59- download and install  MinGW-3.1.0-1.exe (when asked for the install path
60  please make sure you use "c:/msys/1.0/mingw" !!)
61- download and install msysDTK-1.0.1.exe (it finds its install path by itself)
62
63There are many more packages on their download site, but you don't need them,
64since most of them are already included in the packages we just installed.
65
66
672.1.2. BLAS, Lapack
68-------------------
69You only need the DLLs of BLAS and Lapack.
70The contrib folder contains a patch against the latest lapack.tgz package
71which allows creating DLLs from the original source package.
72
73Download lapack.tgz from http://www.netlib.org/lapack/.
74
75
76
772.2. Compiling
78==============
79
80Just type
81
82  ./configure YOUR_OPTIONS
83  make
84
85This will create the DLL needed by other projects. It will be copied
86to your Windows system folder when you type "make install".
87
88Some common options for ./configure concern the library name of blas
89and lapack, and also additional library search paths in LDFLAGS if
90your MinGW installation is in a non-standard path. E.g.:
91
92  ./configure --disable-atlas --with-blas=blas32 --with-lapack=lapack32 \
93    LDFLAGS="-L/mingw/lib -L/c/WINNT/system32"
94
95
962.3 Installation
97================
98
99Type
100
101  make install
102
103to have the header files copied to the chosen prefix (default
104/usr/local) and to have the DLL liblapackpp32.dll copied into your
105Windows system folder.
106