lapackpp-devel Mailing List for Lapack++ (Page 10)
Status: Beta
Brought to you by:
cstim
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(19) |
Sep
(11) |
Oct
|
Nov
(4) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(4) |
Mar
(32) |
Apr
(18) |
May
(3) |
Jun
|
Jul
(1) |
Aug
(4) |
Sep
(13) |
Oct
(5) |
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(6) |
Mar
(2) |
Apr
(6) |
May
(18) |
Jun
(15) |
Jul
(17) |
Aug
(45) |
Sep
(3) |
Oct
(4) |
Nov
(26) |
Dec
(4) |
2007 |
Jan
(11) |
Feb
(14) |
Mar
(1) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(2) |
2008 |
Jan
|
Feb
(2) |
Mar
|
Apr
(4) |
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
2010 |
Jan
(2) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
(7) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
(14) |
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(2) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Andrew O. <end...@gm...> - 2006-05-23 04:23:19
|
Hey I tried compiling a simple "hello world" program and I get these errors: tg-login1 /users/aoh> g++ test.cc -I/usr/local/apps/mpich-gm/include -L/usr/local/apps/mpich-gm/lib -lmpich -I/usr/local/apps/lapackpp-2.4.8/include/lapackpp -L/usr/local/apps/lapackpp-2.4.8/lib -llapackpp -I/users/aoh/random/include In file included from /usr/include/g++/backward/iostream.h:31, from test.cc:7: /usr/include/g++/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated. /usr/local/apps/intel/compiler8/lib/libimf.so.6: warning: log2l is not implemented and will always fail /usr/local/apps/intel/compiler8/lib/libimf.so.6: warning: exp2l is not implemented and will always fail /usr/local/apps/intel/compiler8/lib/libcxa.so.6: undefined reference to `__ashldi3' /usr/lib/liblapack.so.3: undefined reference to `z_abs' /usr/lib/liblapack.so.3: undefined reference to `c_sqrt' /usr/lib/liblapack.so.3: undefined reference to `f_cpstr' /usr/lib/liblapack.so.3: undefined reference to `f_iob' /usr/lib/liblapack.so.3: undefined reference to `f_cpystr' /usr/lib/liblapack.so.3: undefined reference to `f_concat' /usr/lib/liblapack.so.3: undefined reference to `f_stop' /usr/lib/liblapack.so.3: undefined reference to `z_exp' /usr/local/apps/intel/compiler8/lib/libcxa.so.6: undefined reference to `__ashrdi3' /usr/lib/liblapack.so.3: undefined reference to `c_exp' /usr/lib/liblapack.so.3: undefined reference to `z_sqrt' /usr/lib/liblapack.so.3: undefined reference to `c_abs' /usr/local/apps/intel/compiler8/lib/libcxa.so.6: undefined reference to `__muldi3' collect2: ld returned 1 exit status --- I attached the simple program. All I do is include some lapack++ header files. Thanks for your help!! Andy |
From: Christian S. <sti...@tu...> - 2006-05-17 15:22:26
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Arash Noorghorbani schrieb: > I think that this source need to "libgcc.a", that's why I asked you. > By your advise, I do what you say. But there is one problem now: > It seems that for compile twice use form 'liblapack32.dll' , first time > is ok, BUT for the second time, it said cannot open!! > > ------ Build started: Project: lapackpp, Configuration: Debug Win32 ------ > ... > Build log was saved at "file://d:\WORK\lapackpp-2.4.9\Debug\BuildLog.htm" > lapackpp - 0 error(s), 8 warning(s) so the lapackpp.dll library now compiled without errors. That's at least something. > ------ Build started: Project: tGenSolve, Configuration: Debug Win32 > Compiling... > Linking... > LINK : fatal error LNK1181: cannot open input file 'liblapack32.dll' I'm sorry; it turns out the project file in lapackpp-2.4.9 cannot build an actual DLL of lapackpp. I've just released a version lapackpp-2.4.10 that will now build an actual DLL. You will need a libblas32.lib and liblapack32.lib for that, but this is (already) contained in the setup.exe of 2.4.9 in "Program files\lapackpp\lib". But you won't need libg2c.a or libgcc.a anymore. It is up to you to adapt the linker input directory accordingly, but apart from that, the vcproj file in 2.4.10 should now work without further problems. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRGtAMmXAi+BfhivFAQIjQQP8DxRZR1ur5yNUKbhkW+8F+m1aUIsDycb4 6iQnipbJp+S3lNhkI6P03H7CutCPBO2hLJ9KwQQNGn0k9ayr59baKvN3LmaEcd4q h5/Bm9/bkFI++h4nLGLi+1YBrl1HIHmiqSJb1VXTgfEyVVfTGwjVpsAbqZ/NMHKS P9xR6+7hcKE= =yqIm -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-05-17 13:52:57
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Arash Noorghorbani schrieb: > I did not good understand one of your latest email, that you said to me > that prepare an upload link for libg2c.a and so I did not have it. > > Now I download it and ..., But Now it need 'libgcc.a'! > ________________________________________________________________ > LIB : fatal error LNK1181: cannot open input file 'libgcc.a' > ________________________________________________________________ > > Am I install mingw32_gcc_forteran or not? No. You have to edit the "Linker" input setting of the lapackpp project. Click "Properties", then "Linker", then "Input" and in the topmost line you see the input libraries. Remove the libgcc.a from that line. I can help with lapackpp-related problems, but I cannot teach you how to use your compiler. Sorry for that. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRGsqm2XAi+BfhivFAQLTcAQArF3QGM//0AVgqFs0jcvd08lSj5rzDKoH w3t2oy66xK//eT7fM+R1CczYyUT69tFleN84P/I/LGaLQpCbpAAP5XQwUfvucYOb 6Hbe0iojKpaz8iqXzbNWJ2A5vG2KXaRzypyPZKQ6f/s2vV10iZIg6UAxjNjVG608 tF4f6qcN9Fs= =I/qp -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-05-17 10:59:08
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Arash Noorghorbani schrieb: > Then I add all header files of SDK to Projects > and also add 4 dll of the first installation () to the projects and then > I get this error: for 'libg2c.a' > > ------ Build started: Project: lapackpp, Configuration: Debug Win32 ------ > (...) > Compiling resources... > Creating library... > LIB : fatal error LNK1181: cannot open input file 'libg2c.a' > Build log was saved at "file://d:\WORK\lapackpp-2.4.9\Debug\BuildLog.htm" > lapackpp - 1 error(s), 1 warning(s) Are you not quite familiar with the compiler? If you say in the Linker tab of the preferences that libg2c.a is an input file to the linker, then you need to put that file into a place that will be used by the linker, e.g. d:\WORK\lapackpp-2.4.9\ . > ------ Build started: Project: tGenSolve, Configuration: Debug Win32 ------ > Compiling... > (...) > Linking... > LINK : fatal error LNK1181: cannot open input file 'lapackpp.lib' > Build log was saved at > "file://d:\WORK\lapackpp-2.4.9\testing\Debug\BuildLog.htm" > tGenSolve - 1 error(s), 0 warning(s) Of course the tGenSolve project cannot open the file lapackpp.lib -- this will only be generated if the lapackpp project (the first one, above) finishes successfully, which it doesn't do so far. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRGsB5WXAi+BfhivFAQI5OwQAreQrA4Vkbm2DxuXYs9Z1TUmeFZD+puXw bdE+efulZWpo5nx5SRYdrSR972xor7Qs4dfx02V/Tv7AD/SYfPsO1vdoQxmCtIcU Ng7zIIsKw+Q6j3I7PugYxqTlbVcYk9c67qzT41Vq/XL/iSlRfC8+elVm2Kdz1eE2 5SgL9m1/j5s= =I32A -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-05-15 14:32:53
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Arash Noorghorbani schrieb: > I do all you said, I download tar file and make a project in VS8 Express, > d:\WORK\lapackpp-2.4.8\include\latmpl.h(156) : warning C4244: '=' : You are using lapackpp-2.4.8. I've just released a new version, lapackpp-2.4.9. The compiler errors are already fixed in that version. However, indeed there is a missing library: > LIB : fatal error LNK1181: cannot open input file 'libg2c.a' > Build log was saved at "file://d:\WORK\lapackpp-2.4.8\Debug\BuildLog.htm" > lapackpp - 1 error(s), 1 warning(s) That library is installed with the "mingw32-gcc-fortran" compiler, which is needed if you also compile the BLAS and LAPACK libraries. In your case, you don't need that full compiler package but only this particular libg2c.a file. For that reason I've uploaded it on http://sourceforge.net/project/showfiles.php?group_id=99696 so that you can download it from there and make sure it can be found during linking of the lapackpp.lib library. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRGiQ8mXAi+BfhivFAQLhYwP+MHo/Ekkc4ldS1XIR1ocaiYue/8qevJmO e8hnd1W+jn7dXFnVzVERXNBne45zywfzkhge7nfMykIPmyDIeAmm6IRZXLTKPHl8 uqaRHnmlOhlomLTad77fbvvaGo1Ral/5/ApbBqXbT71QJ77WKPCJTqrVmFFsp2OT 4AMoRD6E+M8= =Oacu -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-05-15 12:58:41
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Arash Noorghorbani schrieb: > It is a long time which i search for a suitable free implementation of > lappack, for some computation on graphs. > I see allot of package but non of them compiled on VS.Net 2005. > > Today I see lapackpp 2.8 which has an exe for setup. I was very glad, but > when I install it,i see that there is no documentation for it! The documentation is in the header files. An online copy of this generated HTML documentation is at http://www.sourceforge.net/projects/lapackpp > Can you send me any doc or ... ,. > Also I make a simple project,(which I properly sure that is has some wrong!) > for checking the lapackpp, but it don't work and I get a lot of errors. Which compiler, which Operating System?!???? Obviously you are using Microsoft Visual Studio C++ (MSVC). The pre-compiled setup.exe file of lapackpp does not work with MSVC, it only works with gcc. For MSVC, you need to compile the library by yourself. Download the tar.gz file and use the provided vcproj file. Christian > //_______________________________________________________ > > #include"C:\Program Files\lapackpp\include\lapackpp\vi.h" > > int main() > { > VectorInt ix(5); > int i=ix.size(); > return 0; > } > > //____________________________ERROR > ------ Build started: Project: lapackppTest, Configuration: Debug Win32 - > Linking... > lapackpp_test.obj : error LNK2019: unresolved external symbol "public: > __thiscall VectorInt::~VectorInt(void)" (??1VectorInt@@QAE@XZ) referenced > in function _main > > lapackpp_test.obj : error LNK2019: unresolved external symbol "public: > __thiscall VectorInt::VectorInt(unsigned int)" (??0VectorInt@@QAE@I@Z) > referenced in function _main > > D:\WORK\lapackppTest\Debug\lapackppTest.exe : fatal error LNK1120: 2 > unresolved externals > > Build log was saved at > "file://d:\WORK\lapackppTest\lapackppTest\Debug\BuildLog.htm" > lapackppTest - 3 error(s), 0 warning(s) > ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== > > > > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRGh65GXAi+BfhivFAQIFSQP8CCqP7e9yfQCgRAzQ8om4UyLpK+lRjX6W 2vL8/L09+SEIsfmkNv5lrNMP+WmlvsSOde1zqd+R4WUElbUJV1cHzcrbx5hIXbM0 ayEi2kAXKGaIknQPn4SUM7vRQZ3NKDsCA+gd73flCOzZgRs4Z3zNJiCRiZlB0/SV sdeTaIrKKBc= =O/YZ -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-05-08 07:56:10
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear Andrew, thanks for this detailed bug report. Indeed the output of the LaEigSolveVecIP function is not what we would expect. However, the documentation of that function immediately explains what is going on: http://lapackpp.sourceforge.net/html/laslv_8h.html#a16 and the laslv.h header file says: "This function calculates all eigenvalues and eigenvectors of a symmetric matrix A, not a general matrix A!", and since you passed a non-symmetric matrix into that function, it is clear that it won't calculate what you expected. Instead, you have to use the function LaEigSolve() and this will do what you expected. I've modified your test file so that you can see what is going on. The output of LaEigSolve() will fortunately match up with the MATLAB output again. The LaEigSolve() function will return potentially complex-valued eigenvalues, but this is perfectly correct for a general (non-symmetric) matrix. Only in your particular case all eigenvalues happened to be real-valued. As for the "Additionally, for each run, the values do not match each other" remark: This is also correct, because the function name suffix "IP" stands for "in-place" (and also the matrix argument is non-const) which means the given matrix M will be modified during calculation. This is useful if you don't need the matrix any longer, because then lapack internally doesn't have to allocate an extra copy of the matrix. If you don't want to have your original matrix modified, either use a non-"IP" version of that function (if it exists), or create a temporary copy and pass that one into the function (which is just what the non-IP functions will do for you). You can read the manual page of the underlying lapack function "dsyev" for more details by typing the command "man dsyev" (if the package "lapack-manpages" is installed). Thank you again for this detailed bug report. This made it very clear to me how to explain the problem here. I'm sorry if the documentation was not clear enough about this function. I should probably change the function name into something less ambiguous, like "LaEigSolveVeryMisleadingOnlyForSymmetricMatrixIP" :-) but I will try to improve the function documentation. Regards, Christian Stimming Andrew Oh schrieb: > Hey > > Attached is the C++ code and the M file I used. The C++ code has some > more detailed results in the commenting. > > The machine I ran this on is a SuSe 10.0 from Novell. This is what I > get when I type "uname -a" > > Linux mnp 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006 i686 i686 > i386 GNU/Linux > > But the RPMs I installed for SuSe all had the i586 suffix on them. > > These are the versions of the relevant compilers/rpms: > > gcc-4.0.2_20050901-3 > gcc-fortran-4.0.2_20050901-3 > f2c-0.11-1052 > > When I compile test.cpp I type: > > g++ test.cpp -I/usr/include -I/usr/include/lapackpp -L/usr/lib -llapackpp > > and execute by typing "./a.out". > > The m-file is just two simple lines and you can see the results in > MATLAB and compare to the values printed out by test.cpp. Thanks for > your help. > > Andy > ------------------------------------------------------------------------ > > M = [1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16]; > eig(M) -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRF76DGXAi+BfhivFAQLDFgP+Pk794zU4TTl2qKP4fgao8SPhr7p9jESj sac5X/Tc8okSt1l/oP4acisdp5J7pVmoUYPm0ygZTJO+U/xMLEcWlxRZ17FBlh/c ynYjT+lHq1KSAq2okBglQxL0L7ELQyzJ/zC9XqXbw/RJ73CpS6nN1cLbjDjcgML9 +GtUDp3gRRY= =Loys -----END PGP SIGNATURE----- |
From: Andrew O. <end...@gm...> - 2006-05-07 20:53:27
|
Hey Attached is the C++ code and the M file I used. The C++ code has some more detailed results in the commenting. The machine I ran this on is a SuSe 10.0 from Novell. This is what I get when I type "uname -a" Linux mnp 2.6.13-15.8-smp #1 SMP Tue Feb 7 11:07:24 UTC 2006 i686 i686 i386 GNU/Linux But the RPMs I installed for SuSe all had the i586 suffix on them. These are the versions of the relevant compilers/rpms: gcc-4.0.2_20050901-3 gcc-fortran-4.0.2_20050901-3 f2c-0.11-1052 When I compile test.cpp I type: g++ test.cpp -I/usr/include -I/usr/include/lapackpp -L/usr/lib -llapackpp and execute by typing "./a.out". The m-file is just two simple lines and you can see the results in MATLAB and compare to the values printed out by test.cpp. Thanks for your help. Andy On 5/7/06, Christian Stimming <sti...@tu...> wrote: > Am Samstag, 6. Mai 2006 22:25 schrieb Andrew Oh: > > I was wondering how I could access and make use of the complex matrix > > libraries. On your website you state: > > > > Note: To switch on the support for complex-valued matrices, you need > > to define the macro LA_COMPLEX_SUPPORT in your application. > > > > How should I go about doing this? > > #define LA_COMPLEX_SUPPORT > > Which OS, which compiler is this? > > > On a separate note. I tried finding the eigenvalues of some matrix A > > using LaEigSolveVecIP(), they did not match with the results I > > obtained from MATLAB. > > > > Also, when I looped LaEigSolveVecIP() several times for the same > > matrix A, the resulting sets of eigenvalues did not match with each > > other. > > > > What could be causing these discrepencies? Any help would be greatly > > appreciated. Thanks. > > Please give detailed instructions for reproducing this, i.e. please copy = the > Matlab and C++ code here, so that we can reproduce. Thanks a lot. > > Christian > |
From: Christian S. <sti...@tu...> - 2006-05-07 12:10:51
|
Am Samstag, 6. Mai 2006 22:25 schrieb Andrew Oh: > I was wondering how I could access and make use of the complex matrix > libraries. On your website you state: > > Note: To switch on the support for complex-valued matrices, you need > to define the macro LA_COMPLEX_SUPPORT in your application. > > How should I go about doing this? #define LA_COMPLEX_SUPPORT Which OS, which compiler is this? > On a separate note. I tried finding the eigenvalues of some matrix A > using LaEigSolveVecIP(), they did not match with the results I > obtained from MATLAB. > > Also, when I looped LaEigSolveVecIP() several times for the same > matrix A, the resulting sets of eigenvalues did not match with each > other. > > What could be causing these discrepencies? Any help would be greatly > appreciated. Thanks. Please give detailed instructions for reproducing this, i.e. please copy the Matlab and C++ code here, so that we can reproduce. Thanks a lot. Christian |
From: Andrew O. <end...@gm...> - 2006-05-06 20:26:03
|
Hey I was wondering how I could access and make use of the complex matrix libraries. On your website you state: Note: To switch on the support for complex-valued matrices, you need to define the macro LA_COMPLEX_SUPPORT in your application. How should I go about doing this? On a separate note. I tried finding the eigenvalues of some matrix A using LaEigSolveVecIP(), they did not match with the results I obtained from MATLAB. Also, when I looped LaEigSolveVecIP() several times for the same matrix A, the resulting sets of eigenvalues did not match with each other. What could be causing these discrepencies? Any help would be greatly appreciated. Thanks. |
From: Christian S. <sti...@tu...> - 2006-05-03 07:45:29
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, Andrew Oh schrieb: > Right now I'm trying to install lapack++ for SuSE 10.x, i586. I > already installed blas and lapack using the rpms that came with the > SuSE dvd and have a g77 compiler installed as well. > > I think that I just have to manually tell the compile program where > the blas and lapack libraries are located. Everything is in /usr/lib. > I'm not sure what would be the correct command. Here are some examples > I have tried. Can you post the last 20 lines of ./configure output, so that we know what is actually going wrong? I have a suse10.0 system at hand (which version do you have exactly?), and there I can compile lapackpp without any further ./configure arguments. The package with the fortran compiler is called "gcc-fortran-4.0.2" on that suse10.0 system. There is an issue with gcc-3.x packages vs. gcc-4.x packages -- both cannot be mixed. So if your standard gcc is 4.x, then you need to make sure you also installed the gcc-4.x fortran compiler, which on suse is probably called gcc-fortran and *not* g77. > ./configure --prefix=/whatever --with-blas=blas.a --with-lapack=lapack.a > > ./configure --prefix=/whatever --with-blas=blas.so --with-lapack=lapack.so > > ./configure --prefix=/whatever --with-blas=/usr/lib/blas.a > --with-lapack=/usr/lib/lapack.a > > ./configure --prefix=/whatever --with-blas=blas.a > --with-lapack=lapack.a --with-lapack-libs=/usr/lib > > and other variations. none of these have worked. Also, the LDFLAGS ( > i.e. -L/usr/lib ) is not recognized as an argument. So how can I get > ./configure to recognize blas and lapack? Thanks again. If the blas/lapack library has a different name, say blasfoo, then - --with-blas=blasfoo would work and add the "-lblasfoo" arguments to the linker commands. On the other hand, if the argument to --with-blas= starts with a minus, then the full string will directly be passed into the linker commands. THis means --with-blas="-L/usr/foolibs -lblasfoo" would add "-L/usr/foolibs -lblasfoo" into the linker commands. Same with lapack. But in your case this is probably not the problem. I guess you're rather seeing problems with the fortran compiler, but please post the output of configure and maybe the relevant parts of config.log. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRFhf9GXAi+BfhivFAQLPEQP/Xn5zZHJXFEhH2YzNhQTlvmMfAzCiVLJs sJ4COkX7kF+59YbwnmS+R6FP10/FtmLLLZ5kWNm/7ra2E7EI0Npsddju5L+yJGXW 5vawqBeCWXT9iiKfY4KxRlIBLZI8gGwhJn/qPnndDcXWK5JxWI9kuYV64kj6mtwh G6RKk4ScR0U= =g36n -----END PGP SIGNATURE----- |
From: Andrew O. <end...@gm...> - 2006-05-02 23:11:05
|
Hey Thanks for the previous problem you guys helped me with. I was able to get lapack++ up and running on a windows machine. Right now I'm trying to install lapack++ for SuSE 10.x, i586. I already installed blas and lapack using the rpms that came with the SuSE dvd and have a g77 compiler installed as well. I think that I just have to manually tell the compile program where the blas and lapack libraries are located. Everything is in /usr/lib. I'm not sure what would be the correct command. Here are some examples I have tried. ./configure --prefix=3D/whatever --with-blas=3Dblas.a --with-lapack=3Dlapac= k.a ./configure --prefix=3D/whatever --with-blas=3Dblas.so --with-lapack=3Dlapa= ck.so ./configure --prefix=3D/whatever --with-blas=3D/usr/lib/blas.a --with-lapack=3D/usr/lib/lapack.a ./configure --prefix=3D/whatever --with-blas=3Dblas.a --with-lapack=3Dlapack.a --with-lapack-libs=3D/usr/lib and other variations. none of these have worked. Also, the LDFLAGS ( i.e. -L/usr/lib ) is not recognized as an argument. So how can I get ./configure to recognize blas and lapack? Thanks again. |
From: Christian S. <sti...@tu...> - 2006-04-26 19:43:16
|
Dear Walter, thank you for your interesting question. Before I answer this, let me explain why lapack++ is in the state that it currently is: I'm not a math expert. I don't know much about numerics, or at least not more than what we learnt in the "math for engineering" lectures. I am a researcher in communication, and I am also an application programmer in C and C++ (but I have never learnt or programmed in Fortran). But I took over lapackpp because I needed a library for complex-valued matrices in C++, and the existing lapack++ code seemd "almost" usable. Eventually I managed to get it to do those complex-valued matrix operations that I needed, but everything else was kept pretty much the same and that is why the library looks how it currently looks... Am Mittwoch, 26. April 2006 19:33 schrieb Walter Schreppers: > I was wondering how the lapack++ conversion from the original fortran > lapack is being done. > Are the wrapper functions hand written or are their tools involved > (like swig) which automatically generate these? Are you referring to the data type conversions, or the function call conversions? The data types are accessed as follows: Any matrix is passed as a plain C array into the fortran function call, i. e. a "double" matrix is passed as a "double*" pointer that points to the start of the array. Same with all other matrix data types. This uses the fact that fortran and C "happen" to use the same storage format for all basic number types. (Complex numbers are the notable exception from this rule, though.) The function call conversions are actually all using hand-written wrappers. The C declarations of the fortran-lapack functions are in include/lapack*.h. The call of the correct fortran-lapack function then happens in the various C++ functions that accept the lapack++ matrix types as arguments, e.g. in blaspp/src/blas1pp.cc. Those again are all hand-written. I don't think either one could be created automatically -- there is too much weird argument passing involved. The C declarations of the fortran-lapack functions originally have been created by f2c. But some of them seemed wrong and were subsequently hand-corrected by myself according to the required arguments to the fortran functions that were documented in the lapack man pages. The current structure of lapack++ leads to the unfortunate result that for each desired fortran-lapack operation, I need to (1) write or retrieve from somewhere the C declaration, and then (2) write a C++ function that accept the lapack++ matrix as argument. And both steps for each and every number data type, if this is needed. Quite a lot of hand work. I thought about template functions here to save some typing (e.g. to replace step (2)), but actually it doesn't seem possible to replace any of this by templates. The reason is it would require "template specializations", and those are only allowed for class templates but *not* for function templates in C++. It would require template specializations, because eventually, for each number type, a different fortran-lapack function needs to be called. In order to properly distinguish this, one would need a separate specialized template for each number type where the correct fortran-lapack function will be called for that number type. But those function template specializations are not allowed in C++ (the reason for that being some ambiguity issues, if I remember correctly). There would be the option to put the call to lapack operations in a class... but the original intention of lapack++ was a direct representation of lapack, and the whole lapack concept is about operations that are called as functions. (Actually thinking about it, there might be one potential template solution: The lapack operations could be put into a class as static methods... I will think about this a bit more.) > The reason I ask is that we would be interested in creating a > multiprecision lapack library. We have already done this successfully > with the GSL routines using a precompiler > (http://www.win.ua.ac.be/~wschrep/precompiler ). Interesting. You could use your precompiler to add yet another matrix class in lapack++, only with your MpIeee number type instead of Double/Int/Whatever. The double matrix is defined in the files include/{vd,gmd}.h and matrix/src/{vd,gmd}.cc , which would need to be converted by the precompiler -- and actually the implementation of various member methods is done by C macros and template functions, all in matrix/src/gmtmpl.cc. Simply for saving typing, and having only one function implementation for all number types. > We wanted to tackle the lapack routines by modifying f2c (but this is > tedious work since the f2c implementation is quite cryptic due to old > style in coding). We hoped there might be an easier way using lapack++ > and some form of templates to get the job done. Do you want to call fortran-lapack functions that have been compiled in Fortran for MpIeee? For those, you would still need the C header declarations. Those might indeed be converted by your precompiler, but you would need to check them by hand. If you have them, you could try to convert the rest of the functions in lapack++ to use those MpIeee lapack-functions. It shouldn't be too difficult, but I'm not sure if that is what you want. > I tried TNT some time ago but it still contained many hardware double > variables in the code giving bad results when trying to use our > multiprecision number class MpIeee . Might also be an issue in lapackpp. I don't know. All the best, Christian |
From: <mk...@wp...> - 2006-04-23 09:44:58
|
> For any -lFOO in the gcc-command, the gcc will look for libFOO.so (if I > understood gcc correctly). In your case it is probably not correct to > have > -llapack.2.0 anyway -- it should probably rather simply be -llapack. > > First potential Workaround: After ./configure in lapackpp, edit the file > src/Makefile, look for the string "-llapack.2.0" and replace it by > "-llapack". > > Second potential Workaround: In /usr/lib, make a symlink with the name > "lapack.so" to the existing "lapack.so.2.0". > Ok. I tried the first workaround before posting the mail and it doesn't work. The second workaround worked well - I just had to do a couple of symlinks: liblapack.so.2.0 libcblas.so.3.0 libf77blas.so.3.0 libatlas.so.3.0 to their versions with just ".so". I started ./configure again and this time it compiled with no problems. Thanks a lot, Mateusz ---------------------------------------------------- U nas oferty wyjazdów i wycieczek z Gwarancją Najniższej Ceny! Masz pewność, że kupujesz najtaniej! http://klik.wp.pl/?adr=http%3A%2F%2Fturystyka.wp.pl%2Fwycieczki.html&sid=732 |
From: Christian S. <sti...@tu...> - 2006-04-23 08:13:57
|
Hi, Am Samstag, 22. April 2006 22:52 schrieb Mateusz Kore=F1: > /usr/bin/ld: cannot find -llapack.2.0 > collect2: ld returned 1 exit status > > The configure script does something like this: > > checking if ATLAS should be used... yes > checking for ATLAS library... /usr/lib (libatlas.so.3.0) > checking for f77blas library... /usr/lib (libf77blas.so.3.0) > checking for cblas library... /usr/lib (libcblas.so.3.0) > checking whether ATLAS is usable... yes > checking for cheev_... no > checking for cheev_ in -llapack... no > checking for cheev_ in -llapack32... no > checking for cheev_ in -llapack_rs6k... no > checking for any lapack library... -llapack.2.0 > > I've got liblapack.so.2.0 in my /usr/lib > > My guess is that gcc looks only for lib*.so with -l option and doesn't see > lib*.so.* =46or any -lFOO in the gcc-command, the gcc will look for libFOO.so (if I=20 understood gcc correctly). In your case it is probably not correct to have= =20 =2Dllapack.2.0 anyway -- it should probably rather simply be -llapack.=20 =46irst potential Workaround: After ./configure in lapackpp, edit the file= =20 src/Makefile, look for the string "-llapack.2.0" and replace it by=20 "-llapack".=20 Second potential Workaround: In /usr/lib, make a symlink with the name=20 "lapack.so" to the existing "lapack.so.2.0". Thirdly, you should check the output of=20 /sbin/ldconfig -p | grep lapack and see under which names the liblapack.so.2.0 is listed. Regards, Christian |
From: <mk...@wp...> - 2006-04-22 20:52:14
|
Hi, sorry to post about my ignorance on linux but I have a problem with linking the lapack/blas/atlas libraries during compilation. There it goes: g++ -shared -nostdlib /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crti.o /usr/lib/gcc-lib/i486-linux/3.3.5/crtbeginS.o .libs/dopla.o .libs/dtimmg.o .libs/eigslv.o .libs/genmd.o .libs/laprefs.o .libs/lasvd.o .libs/lautil.o .libs/linslv.o .libs/systime.o -Wl,--whole-archive ../matrix/src/.libs/liblamatrixpp.a ../blaspp/src/.libs/libblaspp.a -Wl,--no-whole-archive -llapack.2.0 -L/usr/lib -lcblas.3.0 -lf77blas.3.0 -latlas.3.0 -L/usr/lib/gcc-lib/i486-linux/3.3.5 -L/usr/lib/gcc-lib/i486-linux/3.3.5/../../.. -lfrtbegin /usr/lib/libg2c.so -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc-lib/i486-linux/3.3.5/crtendS.o /usr/lib/gcc-lib/i486-linux/3.3.5/../../../crtn.o -Wl,-soname -Wl,liblapackpp.so.1 -o .libs/liblapackpp.so.1.12.0 /usr/bin/ld: cannot find -llapack.2.0 collect2: ld returned 1 exit status The configure script does something like this: checking if ATLAS should be used... yes checking for ATLAS library... /usr/lib (libatlas.so.3.0) checking for f77blas library... /usr/lib (libf77blas.so.3.0) checking for cblas library... /usr/lib (libcblas.so.3.0) checking whether ATLAS is usable... yes checking for cheev_... no checking for cheev_ in -llapack... no checking for cheev_ in -llapack32... no checking for cheev_ in -llapack_rs6k... no checking for any lapack library... -llapack.2.0 I've got liblapack.so.2.0 in my /usr/lib My guess is that gcc looks only for lib*.so with -l option and doesn't see lib*.so.* Is there any way to make it right? I have Debian/GNU Linux 3.1 with gcc 3.3.5 (Debian) ---------------------------------------------------- Koncert zespołu TOOL! 24 czerwca w katowickim Spodku! http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Ftool.html&sid=733 |
From: Christian S. <sti...@tu...> - 2006-04-09 10:27:34
|
Hi, Am Sonntag, 9. April 2006 04:38 schrieb Andrew Oh: > Hey, I'm new to UNIX so I apologize in advance if my questions seem stupid. no problem. That's what this mailing list is for. > I installed the windows lapack++ file "lapackpp-2.4.7-setup.exe" into > C:\msys\1.0\lib\lapackpp. I copy and pasted all the header files as > well as the "liblapack32.dll" (the shared library) into > C:\msys\1.0\mingw\include\lapackpp > > To compile my program, I type in: > >>g++ program.cpp -IC:/msys/1.0\mingw/include/lapackpp > >>-LC:/msys/1.0\mingw/include/lapackpp -llapackpp > > The first argument with -I is for the header file location, the second > argument with -L is for the location of "liblapackpp.dll", and the > third argument with -l is for lapackpp. Right. Correct so far. > The program doesn't compile and I don't know what is wrong. I get > > >>C:\msys\1.0\mingw\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bi > >>n\ld.exe: > > cannot >>find -llapackpp Oh, sorry. My directions in the README were not completely correct. > I believe that I installed the header files correctly Yes. If that were a problem, you would have gotten error messages like "lapackpp.h: file not found". > but I'm not sure if I handled the "liblapackpp.dll" correctly. Yes. Sorry, my directions were incorrect; if the DLL is called liblapackpp32.dll, you need to write "-llapackpp32" in the compiler command i.e. the file name of the DLL without the leading "lib" and without the trailing ".dll" but everything in between. > Also, I do not know > anything about the "library itself"... namely lapackpp. I have no yet > encountered a "lapackpp.lib" or anything of that sort. The compiler "gcc" doesn't need a ".lib" library anymore. For gcc, it is sufficient to only have the ".dll" file available. The ".lib" is something which was needed for MSVC. (By the way, the source package "lapackpp-2.4.7.tar.gz" also includes a project file if you want to build the library on your own in MSVC; we cannot distribute a pre-compiled DLL for MSVC due to licensing restrictions.) > Also, one last thing I'm worried about is your README for the windows > installation. It mentions entering into the UNIX command line > > ./configure --prefix=/directory/ > make > make install > > Do I really need to worry about this? No. That is applicable only if you want to compile lapackpp32.dll yourself. > Or is just executing > 'lapackpp-2.4.7-setup.exe' enough to set everything up? Yes. Regards, Christian |
From: Andrew O. <end...@gm...> - 2006-04-09 02:38:24
|
Hey, I'm new to UNIX so I apologize in advance if my questions seem stupid. I installed the windows lapack++ file "lapackpp-2.4.7-setup.exe" into C:\msys\1.0\lib\lapackpp. I copy and pasted all the header files as well as the "liblapack32.dll" (the shared library) into C:\msys\1.0\mingw\include\lapackpp On your homepage in the Library Usage section you say: >>The resulting shared library is called "liblapackpp.so" or, on Windows, >> "liblapackpp32.dll". >>To use it in your program, you need to specify the location of the header files by the >>compiler argument -I (for gcc), the location of the shared library by the compiler >>argument -L and the library itself by -llapackpp . To compile my program, I type in: >>g++ program.cpp -IC:/msys/1.0\mingw/include/lapackpp >>-LC:/msys/1.0\mingw/include/lapackpp -llapackpp The first argument with -I is for the header file location, the second argument with -L is for the location of "liblapackpp.dll", and the third argument with -l is for lapackpp. The program doesn't compile and I don't know what is wrong. I get >>C:\msys\1.0\mingw\bin\..\lib\gcc-lib\mingw32\3.2.3\..\..\..\..\mingw32\bi= n\ld.exe: cannot >>find -llapackpp I believe that I installed the header files correctly but I'm not sure if I handled the "liblapackpp.dll" correctly. Also, I do not know anything about the "library itself"... namely lapackpp. I have no yet encountered a "lapackpp.lib" or anything of that sort. Also, one last thing I'm worried about is your README for the windows installation. It mentions entering into the UNIX command line ./configure --prefix=3D/directory/ make make install Do I really need to worry about this? Or is just executing 'lapackpp-2.4.7-setup.exe' enough to set everything up? I apologize if these is very convoluted, please let me know if I can clarify anything. Any help would be greatly appreciated. Thanks. |
From: Christian S. <sti...@tu...> - 2006-03-12 13:59:46
|
Hi, Am Sonntag, 12. M=810=8A1rz 2006 06:52 schrieb Cheng Guo: > In my program, large LaGenMatDouble matrices will be wrote on the hard > disk frequently for later use. I know that the "<<" operator has been > overload to write the matrix to text files, but I think this would be > less efficient than to write/read the matrix to/from binary files.Does > directly writing the LaGenMatDouble matrix to a binary file saves all > the information about the matrix or otherwise how to write and read the > matrix on hard disk efficiently? I'm not sure what kind of "binary file writing" you expect. The operator<<(= )=20 has been overloaded so that writing the matrix to somewhere would work in t= he=20 first place -- if operator<<() didn't exist, writing a matrix would not wor= k=20 at all. So: A normal C++ class doesn't support any kind of "writing to file= ",=20 neither binary nor text. For you convenience LaGenMatDouble offers you the= =20 operator<< to write in text format to a file. If you additionally need to=20 write in binary format, you need to write your own method to do so. Shouldn= 't=20 be too difficult, though -- simply iterate over all matrix elements. But=20 there is no standard way to do this, so you need to come up with your own=20 binary format anyway. Again: No such thing currently exists in lapack++, so= =20 you have to write these methods on your own anyway. Christian |
From: Cheng G. <cg...@it...> - 2006-03-12 05:52:34
|
Hi, In my program, large LaGenMatDouble matrices will be wrote on the hard disk frequently for later use. I know that the "<<" operator has been overload to write the matrix to text files, but I think this would be less efficient than to write/read the matrix to/from binary files.Does directly writing the LaGenMatDouble matrix to a binary file saves all the information about the matrix or otherwise how to write and read the matrix on hard disk efficiently? Regards, Cheng |
From: Christian S. <sti...@tu...> - 2006-02-27 08:52:40
|
Hi, jian Xu schrieb: > Hi Christian, > Under FC4, when I am a superuser and type > rpm -i lapackpp-2.4.7-1.src.rpm > > It responsed by: > warning: user stimming does not exist - using root > warning: user stimming does not exist - using root > > Then it stopped. Could you tell me how to avoid this? Thanks. I don't think the message here is a problem, as it says "warning" and not "error". If rpm stops because of an error, it clearly says "error". I rather think you are surprised that installing a src.rpm doesn't do more action? Is it that? In that case, please read the documentation of rpm concerning source rpms; you probably need to do "rpm -i lapackpp-2.4.7.src.rpm" and *then* "rpmbuild -ba lapackpp-2.4.7". Only the latter command will actually do a lot of action. And *then*, when you got the message "wrote blabla.rpm", you still need to "rpm -i blabla.rpm". RTFM. Really. Previously you said you couldn't install the rpm. Did you mean you couldn't install the binary rpm? Or did you mean you couldn't install the source rpm? Again, if you refer to your above message then this clearly is *not* an error. Christian > > Jian > > > On 2/26/06, Christian Stimming <sti...@tu...> wrote: > >>Am Sonntag, 26. Februar 2006 05:01 schrieb jian Xu: >> >>>Hi Christian, >>>Thank you very much for your help. It's working on my windows now! >>>Thanks a lot! >> >>Nice to hear. >> >> >>>However, I cannot get the .rpm work on my Fedora Core 4. When I type >>>rpm -i xxxx.rpm, it said "user Stimming doesn't exist" 8-), and then >>>exit. Could you tell me how to install in that case? Thank you >>>again. >> >>1. Please tell me the exact error message. >>2. Install from source rpm and/or the .tar.gz package. Instructions from >>source rpm are in the "rpm" man page. >> >>Christian |
From: Christian S. <sti...@tu...> - 2006-02-26 14:54:32
|
Am Sonntag, 26. Februar 2006 05:01 schrieb jian Xu: > Hi Christian, > Thank you very much for your help. It's working on my windows now! > Thanks a lot! Nice to hear. > However, I cannot get the .rpm work on my Fedora Core 4. When I type > rpm -i xxxx.rpm, it said "user Stimming doesn't exist" 8-), and then > exit. Could you tell me how to install in that case? Thank you > again. 1. Please tell me the exact error message. 2. Install from source rpm and/or the .tar.gz package. Instructions from source rpm are in the "rpm" man page. Christian > > Jian > > On 2/25/06, Christian Stimming <sti...@tu...> wrote: > > Hi, > > > > Am Samstag, 25. Februar 2006 17:03 schrieb jian Xu: > > > I'm a student in University of Illinois and trying to install lapack++ > > > on my Windows machine. Is there any windows specific installation > > > guide out there (including how to install lapack, blas)? > > > > exactly as written on http://lapackpp.sourceforge.net/ : "(see file > > README.W32)" > > > > > I just downloaded the lapack++ 2.4.7 windows setup file, but after I > > > run the setup.exe, looks like it only generates the .h files, I'm not > > > sure if it has any .dll files copied to somewhere. And do I need to > > > install lapack, blas libraries for windows seperately? > > > > The setup.exe already ships with suitable lapack and blas. Check your > > Windows directory -- it installed a lapackpp.dll, lapack.dll and > > blas.dll. > > > > Christian |
From: Christian S. <sti...@tu...> - 2006-02-25 18:09:39
|
Hi, Am Samstag, 25. Februar 2006 17:03 schrieb jian Xu: > I'm a student in University of Illinois and trying to install lapack++ > on my Windows machine. Is there any windows specific installation > guide out there (including how to install lapack, blas)? exactly as written on http://lapackpp.sourceforge.net/ : "(see file README.W32)" > I just downloaded the lapack++ 2.4.7 windows setup file, but after I > run the setup.exe, looks like it only generates the .h files, I'm not > sure if it has any .dll files copied to somewhere. And do I need to > install lapack, blas libraries for windows seperately? The setup.exe already ships with suitable lapack and blas. Check your Windows directory -- it installed a lapackpp.dll, lapack.dll and blas.dll. Christian |
From: jian X. <ji...@ui...> - 2006-02-25 16:03:20
|
Hello, I'm a student in University of Illinois and trying to install lapack++ on my Windows machine. Is there any windows specific installation guide out there (including how to install lapack, blas)? I just downloaded the lapack++ 2.4.7 windows setup file, but after I run the setup.exe, looks like it only generates the .h files, I'm not sure if it has any .dll files copied to somewhere. And do I need to install lapack, blas libraries for windows seperately? I really do need your help. Thank you very much! Jian |
From: Christian S. <sti...@tu...> - 2006-02-23 11:02:25
|
Hallo S=F6ren, hat sich das Problem erledigt? Aus der urspr=FCnglichen Frage ging ja=20 hervor, dass du einen Compiler verwendet hast, den ich noch nie=20 ausprobiert habe. Deshalb w=E4re ich sehr interessiert, zu erfahren, ob=20 und wie das schlu=DFendlich geklappt hat. Wie ist das ausgegangen? Christian Christian Stimming schrieb: > Hallo, >=20 > 1. Fragen zum Programm bitte immer an die Mailingliste=20 > lap...@li..., niemals nur an einzelne Entwickler; >=20 > 2. In welcher Programmzeile genau trat der Fehler auf? Gibt es da=20 > bereits einen Kommentar im source dazu? >=20 > 3. Was war das genau f=FCr ein Compiler? Etwas anderes als GNU gcc? Wen= n=20 > ja, dann bitte den Kommentar in latmpl.h Zeilen 39 bis 48 durchlesen un= d=20 > ggf. das #define vollst=E4ndig rauskommentieren und erneut versuchen. >=20 > Christian >=20 > S=F6ren Freudiger schrieb: >=20 >> Hallo CHristian >> irgendwie bekomme ich das lapack++ nicht compiliert. >> >> In der latmpl.h erhalte ich st=E4ndig folgende Fehlermeldung: >> >> warning C4346: 'matT::value_type' : dependent name is not a type=20 >> prefix with >> 'typename' to indicate a type >> >> Hast du eine Ahnung, was das sein koennte? Ich habe 2.4.5 und 2.4.6=20 >> getestet >> (letztere mit VS 2003 und 2005). >> >> Ohne Erfolg... >> >> Gru=DF, >> Soeren >> >> --=20 >> Dipl.-Ing. Soeren Freudiger >> Institut fuer ComputerAnwendungen im Bauingenieurwesen TU=20 >> Braunschweig, Pockelsstr. 3, D-38106 Braunschweig >> Tel.: +49 531/391-7595, >> Mobil: +49 176/210 17 444 >> >> email: fr...@ca... >> http://www.cab.bau.tu-bs.de/=20 >> >=20 |