lapackpp-devel Mailing List for Lapack++ (Page 14)
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: Christian S. <sti...@tu...> - 2005-03-14 08:57:32
|
Dear Jean-Baptiste, Jean-Baptiste Charlety schrieb: > Dear Christian, > i have forgotten a step : i had to use the tool libtoolize to copy files > like config.guess and config.sub in lapackpp repertory. Maybe those > which were supplied in the distribution were too old ? You mean when you retrieved your sourcecode from CVS, you needed to call libtoolize? That's intentional; in fact, exactly for that reason the README says that in this case you need to call "make -f Makefile.dist" which in turn will call libtoolize. The reason for this is that all these files are auto-generated by your installed version of the autotools. If they were copied into CVS, you would get conflicts as soon as different developers are working with different versions of the autotools. And since these are auto-generated anyway, they can be generated by each developer individually. Anyway, this only concerns people who use the source from CVS. All others will get a tarball which includes all these necessary files. Best regards, Christian |
From: Christian S. <sti...@tu...> - 2005-03-11 19:45:50
|
Dear Jean-Baptiste, thank you very much for this feedback. I added the FLIBS to the documentati= on,=20 and I changed this mysterious _A variable into a different name. An upcomin= g=20 release 2.1.3 will include these fixes.=20 Thanks again for pointing this out. Christian Stimming Am Donnerstag, 10. M=E4rz 2005 11:16 schrieb Jean-Baptiste Charlety: > Hi, > it's me again. i've tried to compile lapackpp on Mac OS X. > There were to minor problems : > > _ Test to link a program in FORTRAN in configure script fails : i had to > set FLIBS to : FLIBS=3D"-L/sw/lib -lfrtbegin -lg2c -lSystem" before this > test. > > _ For an obscure reason, gfgrc returns a compilation error. It does not > accept the variable name "_A". I did not waste time in searching a > magical g++ flag to solve this problem, so i renamed the variable _Algmc > (it's a LaGenMatComplex). > > Now it is ok. I send you this "report" as a piece of feedback. I've only > tested this solution on one apple G5 with this version of Mac Os : > powerpc-apple-Darwin 7.8.0 (i think it's Mac Os 10.2). > > Best regards, > Jean-Baptiste > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=3D6595&alloc_id=3D14396&op=3Dclick > _______________________________________________ > lapackpp-devel mailing list > lap...@li... > https://lists.sourceforge.net/lists/listinfo/lapackpp-devel |
From: Jean-Baptiste C. <Jea...@in...> - 2005-03-10 11:18:32
|
Hi, it's me again. i've tried to compile lapackpp on Mac OS X. There were to minor problems : _ Test to link a program in FORTRAN in configure script fails : i had to set FLIBS to : FLIBS="-L/sw/lib -lfrtbegin -lg2c -lSystem" before this test. _ For an obscure reason, gfgrc returns a compilation error. It does not accept the variable name "_A". I did not waste time in searching a magical g++ flag to solve this problem, so i renamed the variable _Algmc (it's a LaGenMatComplex). Now it is ok. I send you this "report" as a piece of feedback. I've only tested this solution on one apple G5 with this version of Mac Os : powerpc-apple-Darwin 7.8.0 (i think it's Mac Os 10.2). Best regards, Jean-Baptiste |
From: Christian S. <sti...@tu...> - 2005-02-26 10:19:14
|
Am Freitag, 25. Februar 2005 19:19 schrieb Arun ramakrishnan: > i have installed lapack++ > but i dont know how to turn on complex types. > it says " Note: To switch on the support for complex-valued matrices, > you need to define the macro LA_COMPLEX_SUPPORT in your application " Add #define LA_COMPLEX_SUPPORT everywhere before you have the #include <lapackpp.h> or similar include directives. > the non-trivial question is about a suitable library for my requirements. > *calculating pseudoinverses for complex matrices That's supported by lapack++ relatively well. The best way to do this is calculating the SVD of the matrix and using this for the pseudoinverse. > *calculating eigenvalues and their corresponding LEFT eigenvectors > for a GENERALISED eigenvalue problem involving complex matrices. > i require the final code to be compiled in gcc on a linux platform. > it would be nice if you can tell me as to which of the following > packages would suit my requirements. > 1. lapack++ Lapack++ currently calculates eigenvalues only for symmetric real-valued matrices. It wouldn't be too difficult to add support for general (non-symmetric) eigenvalue calculation, both real and complex, since the underlying lapack (without the ++) already has many functions for this. However, I don't have time right now and also I don't have any test cases for this. If you intend to add this for yourself, you would have to be familiar how FORTRAN functions are called from a C program, but then it would be a job of 2-3 hours (so not too difficult). I would happily accept any program code and add it to future releases. > 2. MTL > 3. PETSc and SLEPc I don't know these packages. If they fulfil your requirement right away, then I'd suggest you should simply use them and not care any more about lapack+ + :-) Best regards, Christian Stimming |
From: Christian S. <sti...@tu...> - 2005-02-04 10:53:23
|
Hi Jean-Baptiste, thanks for this feedback. I changed the header file and made a new release 2.1.2 which includes this change. http://sourceforge.net/project/showfiles.php?group_id=99696 If you encounter any further problems, do not hesitate to contact me again. Best regards, Christian Jean-Baptiste Charlety schrieb: > Hi ! > > Christian Stimming wrote: > >> Hi, >> >> good to hear that other people are using our software :-) > > > We are currently using Lapack++ library in first SICONOS project > software prototype. Lapack++ is interesting for us because we need C++ > classes to represent matrices and vectors of floating numbers, which are > usable with FORTRAN routines (column oriented data storage) .In fact, we > were about to leave out Lapack++ in July 2004, because version 1.1 was > no more in development (and was unsatisfactory). > We discovered last summer that you have decided to continue the > development of this library thanks to Google, and that's a good news ! > >> I didn't see any of these linker errors so far, so your environment is >> probably different than mine. What compiler is this? > > > My compiler is : g++ (GCC) 3.3.3 20040412 (Red Hat Linux 3.3.3-7) (my OS > : Linux Fedora core 2) > >> And how do you include your Lapack++ headers?> I'd guess you are using >> #include <lapack++.h> >> or something comparable to this, and yes, there were some changes in >> the inclusion order inside that header file. This might result in the >> fact that the _LA_GEN_MAT_COMPLEX_H_ macro is now defined, which will >> make this function visible, whereas in previous versions it might have >> been invisible. > > > You are right, I include my lapack++ headers like that. > >> I don't understand why the function definitions have been written in >> the header file in the first place. I'd have expected them to be >> written in the cpp file, but that's how they came from lapack++ >> version 1.1. > > > I agree with you, this is pretty strange, and must be awful to debug ! > >> Nevertheless the linker error should also disappear if you make the >> function declaration "inline", i.e. you write >> >> inline LaGenMatComplex& LaRandUniform(LaGenMatComplex &A, double low, >> double high) >> { // .... >> >> Does this fix the problem, too? > > > Yes ! It's ok with the addition of "inline", thank you ! I did not get > this idea yesterday. > >> If it does, I'll quickly make a new release with this bugfix. >> >> Christian > > > Best regards, > Jean-Baptiste > |
From: Christian S. <sti...@tu...> - 2005-02-04 08:56:16
|
Hi, good to hear that other people are using our software :-) I didn't see any of these linker errors so far, so your environment is probably different than mine. What compiler is this? And how do you include your Lapack++ headers? I'd guess you are using #include <lapack++.h> or something comparable to this, and yes, there were some changes in the inclusion order inside that header file. This might result in the fact that the _LA_GEN_MAT_COMPLEX_H_ macro is now defined, which will make this function visible, whereas in previous versions it might have been invisible. Jean-Baptiste Charlety schrieb: > ..../lapackpp-2.1.1/include/lapackpp/genmd.h:88: multiple definition of > `LaRandUniform(LaGenMatComplex&, double, double)' > > If i comment out this function in genmd.h, the linker error disappears. > Have you an idea to solve this problem more properly ? I don't understand why the function definitions have been written in the header file in the first place. I'd have expected them to be written in the cpp file, but that's how they came from lapack++ version 1.1. Nevertheless the linker error should also disappear if you make the function declaration "inline", i.e. you write inline LaGenMatComplex& LaRandUniform(LaGenMatComplex &A, double low, double high) { // .... Does this fix the problem, too? If it does, I'll quickly make a new release with this bugfix. Christian |
From: Jean-Baptiste C. <Jea...@in...> - 2005-02-03 17:36:43
|
hi, i'm trying to link my software with the last version of Lapack++ (2.1.0) and i get a linker error that i did not have with previous version (2.0.3) : ..../lapackpp-2.1.1/include/lapackpp/genmd.h:88: multiple definition of `LaRandUniform(LaGenMatComplex&, double, double)' If i comment out this function in genmd.h, the linker error disappears. Have you an idea to solve this problem more properly ? cheers, JB Charlety |
From: Christian S. <sti...@tu...> - 2005-01-21 11:02:43
|
Hallo, Armand Niederberger schrieb: > - zur INSTALLATION: Unsere Admins haben's installiert, weil ich nicht=20 > auf die n=F6tigen Rechte verf=FCge, um =FCberhaupt etwas (f=FCr alle=20 > Institutsmitglieder) zu installieren. Problem hier: Sobald du etwas ben=F6tigst, was in der aktuellen Version=20 unvollst=E4ndig/fehlerhaft drin ist, dann musst du relativ schnell neue=20 lapackpp-Versionen installieren. Das werden die Admins dir nicht machen,=20 sondern da mu=DFt du in der Lage sein, f=FCr dich pers=F6nlich eine Versi= on=20 von lapackpp in deinem Home-Verzeichnis zu compilieren und zu=20 installieren (Stichwort --prefix=3D$HOME/usr). Aber: > - AUTOMATISCH GENERIERTE DOC: Nach Deiner EMail habe ich lapackpp in ei= n=20 > eigenes Verzeichnis installiert und versucht gem=E4ss README die srcdoc= zu=20 > erstellen. Das in der README angegebene Verzeichnis api-doc/html=20 > existiert nicht;=20 richtig, es soll ja erst noch erstellt werden > aus dem Source-Verzeichnis konnte ich make srcdoc=20 > ebenfalls nicht ausf=FChren. ... >=20 >> itpsrvr: /scr/atlas/armand/00_lapackpp_src/lapackpp-2.1.0 > make srcdo= c >> >>> make -C include lacomplex.h >>> make[1]: Entering directory=20 >>> `/scr/atlas/armand/00_lapackpp_src/lapackpp-2.1.0/include' >>> make[1]: `lacomplex.h' is up to date. >>> make[1]: Leaving directory=20 >>> `/scr/atlas/armand/00_lapackpp_src/lapackpp-2.1.0/include' >>> doxygen >>> make: doxygen: Command not found >>> make: *** [srcdoc] Error 127 Entschuldigung, aber auf diesem Level kann ich keinen Support leisten.=20 F=FCr allgemeine Unix-Kommandos und gewisse Grundkenntnisse mit make,=20 Makefiles und den Umgang damit kann ich keinen Support anbieten, das=20 musst du dir schon selber anlesen. http://www.linuxwiki.de/make=20 http://www.linuxwiki.de/automake und andere. Dein Problem hier ist nicht=20 spezifisch f=FCr Lapack++. In diesem Fall m=FCsstest du anhand der Zeile "doxygen: Command not found= "=20 (und anhand der st=E4ndigen Kommentare, da=DF die Dokumentation "von doxy= gen=20 erst erstellt wird") darauf kommen, da=DF bei dir ein Kommando/Programm=20 namens "doxygen" erforderlich ist, aber es fehlt. (mehr dazu: Google) > - DOCS: (das mit dem #include <lapack++.h> stand in den beiden ersten=20 > Docs zur Version 1.1) Wie ein Blick auf das Erstellungsdatum dir sagen m=FCsste, mu=DFt du alle= =20 diese steinalten Dokumente bitte mit Vorsicht genie=DFen. Im Zweifelsfall= =20 ist alles falsch, was da drin steht. > - FEHLERMELDUNGEN: Zumal mir keine Doc zur aktuellen Version vorliegt=20 Doch, http://lapackpp.sourceforge.net/ kannst du doch auch aufrufen.=20 Mehr gibts eben nicht. > versuchte ich gem=E4ss der User's Guide (von Version 1.1) Lapack++ in e= in=20 > Dummy-Programm [sample01.cpp] einzubinden (siehe. Attachment). > Dann wollte ich es Compilieren mit (wir versuchten verschiedenes - die=20 > Fehlermeldungen blieben unver=E4ndert...) Ich wiederhole: Testprogramme im lapackpp-Paket im Unterverzeichnis=20 testing/. Dort siehst du, da=DF <lapack++.h> nicht verwendet wird, sonder= n=20 stattdessen nur #include "lafnames.h" /* macros for LAPACK++ filenames */ #include LA_GEN_MAT_DOUBLE_H #include LA_VECTOR_DOUBLE_H #include "blas++.h" #include LA_SOLVE_DOUBLE_H <lapack++.h> ist fehlerhaft in der von dir verwendeten Version. In der=20 aktuellen CVS-Version ist das korrigiert. CVS=20 http://www.linuxwiki.de/cvs k=F6nnte noch f=FCr dich bei Lapack++ notwend= ig=20 werden. Ansonsten hast du meine Frage noch nicht beantwortet, was f=FCr=20 Matrix-Operationen du =FCberhaupt machen willst. Eventuell kann ich dir=20 dann direkt sagen, da=DF du es mit dieser Sachkenntnis lieber nicht in=20 Lapackpp versuchen sollst, oder eben da=DF es wohl gut klappen k=F6nnte. Ich will dir ja nicht die Lust am Programmieren nehmen, aber ich will=20 von vorneherein klarstellen, da=DF ich nur reine Lapack++-spezifischen=20 Fragen bearbeiten und beantworten kann und will. Wenn dir der Umgang mit=20 selbstcompilierten Bibliotheken aus .tar.gz-Paketen oder gar aus dem CVS=20 v=F6llig fremd ist, mu=DFt du dir das schon selber beibringen -- mit den=20 lapack++-spezifischen Dingen bin ich neben meiner eigenen=20 Forschungsarbeit schon genug besch=E4ftigt. Christian |
From: Christian S. <sti...@tu...> - 2005-01-19 21:09:02
|
Hallo Armand, Am Mittwoch, 19. Januar 2005 18:24 schrieben Sie: > Hallo! > ich bin daran mich ins Thema meiner Dissertation einzuarbeiten und > m=F6chte f=FCr die numerischen Simulationen gerne Lapack++ v2.x.x > verwenden.=20 Lapack++ (oder =E4quivalent auch lapackpp) ist ein OpenSource-Projekt, das = sich=20 wie die meisten ihrer Art weiterhin in der Entwicklung befindet. Ich kann=20 keinerlei Garantie geben, da=DF das Programm tats=E4chlich die gew=FCnschte= n=20 =46eatures hat. Was f=FCr numerische Sachen wollen Sie / willst du denn mac= hen?=20 Die einfachen Matrix-Operationen sind f=FCr reelle und komplexe Zahlen drin= ,=20 aber alles schwierigere ist nicht zwangsl=E4ufig auch korrekt vorhanden. > Nachdem unsere Admins Lapack++ installiert haben=20 Deine Admins haben das installiert? Du solltest aber in der Lage sein, das= =20 lapackpp-2.x.y.tar.gz-Paket auch selber auszupacken und zu kompilieren. Nur= =20 dann kannst du n=E4mlich auch die Dokumentation (Kopie auf=20 http://lapackpp.sf.net) selber erstellen. Und da gibts auch die=20 Beispieldateien in den Unterverzeichnissen "testing". > kapiere ich > noch immer nicht ganz, wie ich Lapack++ in meine C++ Programme > einbinden kann; ich erhalte relativ kreative Fehlermeldungen, welche > mich darauf hinweisen, dass irgendwelche Klassen wohl nicht oder falsch > eingebunden wurden.=20 Bitte genaue Fehlermeldung schicken, sonst geht gar nichts. > K=F6nntest Du mir bitte sagen wo ich Lapack++ > Beispielprogramme finden kann, damit ich sehe was zus=E4tzlich zum in > diversen Docs beschriebenen #include <lapack++.h> noch eingebunden > werden muss - meine Suche im Internet war bisher erfolglos. Welche "diverse Docs" meinst du? Bitte exaktere Angaben, sonst kann man nur= =20 raten. Christian > Besten Dank und Gruss aus Hannover > Armand > > ----- > Armand Niederberger > Institut f=FCr Theoretische Physik > Appelstrasse 2 > 30167 Hannover > Tel. +49 511 762 5891 > Fax. +49 511 762 3023 > EMail: Arm...@it... |
From: Christian S. <sti...@tu...> - 2004-12-19 21:12:02
|
Weird. The parameter number 8 is "LDU: The leading dimension for the array U." and the parameter description of "man dgesdd" explains that this parameter is active only if "jobz", i.e. the mode of operation, is unequal to "N", but in this particular function we've set it to that value. The workspace size would be parameter #12. The formula for the workspace size is not the same as in my documentation, but it results in a much larger array anyway. So this shouldn't be a problem.. or maybe you can play around with it a little bit. Christian Am Sonntag, 19. Dezember 2004 18:02 schrieb Jacob (Jack) Gryn: > Hi, > > At the time I wrote the e-mail, I didn't have the error output infront of > me, so I was only trying to get it from memory. The error was actually as > follows: > > ** On entry to DGESDD parameter number 8 had an illegal value > > Jack > > -----Original Message----- > From: Christian Stimming [mailto:sti...@tu...] > Sent: Sunday, December 19, 2004 8:39 AM > To: Jacob (Jack) Gryn; lap...@li... > Subject: Re: [Lapackpp-devel] LaSVD_IP() Error for only 'sigma' matrix > > Am Sonntag, 19. Dezember 2004 00:59 schrieb Jacob (Jack) Gryn: > > The function: > > > > void LaSVD_IP(LaGenMatDouble& A, LaVectorDouble &Sigma); > > > > When run on a 3x3 matrix, doesn't seem to work, it gives some sort of > > error > > > about parameter 7 to the lapack call has an invalid parameter. (Probably > > lwork again). For now, I'm just using the call that stores U, Sigma and > > VT. > > The parameter 7 is &U(0,0), i.e. the pointer to the temporary U. I thought > that one will not be referenced at all. Nevertheless, there might be an > error > if U is defined with 0x0 dimension, so that accessing the first element > gives > some weird results. > > I just changed the code in CVS so that the temporary U and VT have > dimension > > 1x1, so that U(0,0) will return the reference to a valid memory location. > Hopefully that should fix it. > > Christian > > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > lapackpp-devel mailing list > lap...@li... > https://lists.sourceforge.net/lists/listinfo/lapackpp-devel |
From: Jacob \(Jack\) G. <jg...@cs...> - 2004-12-19 17:02:42
|
Hi, At the time I wrote the e-mail, I didn't have the error output infront of me, so I was only trying to get it from memory. The error was actually as follows: ** On entry to DGESDD parameter number 8 had an illegal value Jack -----Original Message----- From: Christian Stimming [mailto:sti...@tu...] Sent: Sunday, December 19, 2004 8:39 AM To: Jacob (Jack) Gryn; lap...@li... Subject: Re: [Lapackpp-devel] LaSVD_IP() Error for only 'sigma' matrix Am Sonntag, 19. Dezember 2004 00:59 schrieb Jacob (Jack) Gryn: > The function: > > void LaSVD_IP(LaGenMatDouble& A, LaVectorDouble &Sigma); > > When run on a 3x3 matrix, doesn't seem to work, it gives some sort of error > about parameter 7 to the lapack call has an invalid parameter. (Probably > lwork again). For now, I'm just using the call that stores U, Sigma and > VT. The parameter 7 is &U(0,0), i.e. the pointer to the temporary U. I thought that one will not be referenced at all. Nevertheless, there might be an error if U is defined with 0x0 dimension, so that accessing the first element gives some weird results. I just changed the code in CVS so that the temporary U and VT have dimension 1x1, so that U(0,0) will return the reference to a valid memory location. Hopefully that should fix it. Christian |
From: Christian S. <sti...@tu...> - 2004-12-19 13:46:57
|
Am Sonntag, 19. Dezember 2004 00:59 schrieb Jacob (Jack) Gryn: > The function: > > void LaSVD_IP(LaGenMatDouble& A, LaVectorDouble &Sigma); > > When run on a 3x3 matrix, doesn't seem to work, it gives some sort of error > about parameter 7 to the lapack call has an invalid parameter. (Probably > lwork again). For now, I'm just using the call that stores U, Sigma and > VT. The parameter 7 is &U(0,0), i.e. the pointer to the temporary U. I thought that one will not be referenced at all. Nevertheless, there might be an error if U is defined with 0x0 dimension, so that accessing the first element gives some weird results. I just changed the code in CVS so that the temporary U and VT have dimension 1x1, so that U(0,0) will return the reference to a valid memory location. Hopefully that should fix it. Christian |
From: Christian S. <sti...@tu...> - 2004-12-19 13:25:52
|
Dear Terrance, (correspondence about the lapackpp package please always over the mailing list [archives, ideas from others], never individually.) Am Samstag, 18. Dezember 2004 21:47 schrieb Terrrance O'Regan: > I logged in annonomously to CVS but I mot sure what to sign out or how to > install. If you could explain that would be great, but if you're busy I > will wait until the new release. As http://sourceforge.net/cvs/?group_id=99696 says: You issue these two commands: cvs -d:pserver:ano...@cv...:/cvsroot/lapackpp login which is the "login", and the password should be left empty, and then cvs -z3 -d:pserver:ano...@cv...:/cvsroot/lapackpp co lapackpp which will give you a local copy of the current CVS status. In the file "ChangeLog", you will see the latest change to that CVS source code. If you already see a change by me yesterday, then you got these fixes. To compile from CVS, see the README. > I am mainly using Lapackpp in the hopes that it will give me a super fast > matrix inverter as I am going to be inverting a huge matrix thousands of > times (and eventually use the complex functions). > > As of now my simply SOR algorithm is faster than LaLinearSolve for my very > large sparse matrix. > > So I will test the non general matrix functions. Also, is Lapackpp the > right thing for me, or should I consider using Lapack in the old fortran > code (I believe I can use Lapack via C++)? The objective of lapackpp is to be a C++ wrapper to the original Fortran Blas/ Lapack functions. So you need lapackpp if your application is in C++ and you want a C++ class interface to Blas/Lapack. If you don't need this, i.e. you can access Fortran directly, then by all means rather do this. I guess you will have much more flexibility and you have one source of errors less. Also, I think the Fortran interface of blas/lapack has extra data types for sparse matrices, but the Lapack++ does not have this. In that case you would surely be better off by directly using the fortran type for this. As for inversion of sparse matrices: I don't know the "SOR algorithm". If you have an algorithm that performs faster than LaLinearSolve then simply use it. I tried to program a simple Gauss solver, and LaLinearSolve performed faster by a factor of 100, so I gave up on my own code and started Lapackpp. If in your application you can come up with faster algorithms, then lucky you. :-)) Christian |
From: Jacob \(Jack\) G. <jg...@cs...> - 2004-12-18 23:59:24
|
Hi, The function: void LaSVD_IP(LaGenMatDouble& A, LaVectorDouble &Sigma); When run on a 3x3 matrix, doesn't seem to work, it gives some sort of error about parameter 7 to the lapack call has an invalid parameter. (Probably lwork again). For now, I'm just using the call that stores U, Sigma and VT. Sorry I can't be more specific at the moment, I didn't get a chance to report this when I found the problem. Jack |
From: Christian S. <sti...@tu...> - 2004-12-18 12:09:10
|
Dear Terrance, Am Samstag, 18. Dezember 2004 03:29 schrieb Terrrance O'Regan: > Hello everyone, I am just beginning to use Lapackpp. So far I am able to > create LaGenMatDouble and LaVectorDouble objects and use them with > LaLinearSolve to solve a set of linear equations. Now I want to use > LaSymmMatDouble (and eventually banded for drift-diffusion) with > LaLinearSolve. I started the lapackpp-2 project a year ago because I needed the (complex-valued) general matrices. Therefore I was only able to double-check the code related to these general matrices. The point with all more specialized matrices is that their code is untested in the lapackpp-2 context -- I cannot tell whether they work and whether they work correctly. Of course, it wouldn't help to only make sure that the functions are there. I also would have to check numerically whether the results are actually the promised results. As you intend to use LaLinearSolve with LaSymmMatDouble, you just ran over such an untested area of lapackpp. > However, when I do this I get this error: > > C:/DOCUME~1/TERRAN~1/LOCALS~1/Temp/ccQLbaaa.o(.text+0x316):possoin.cpp: > undefined reference to `LaLinearSolve(LaSymmMatDouble const&, > LaGenMatDouble&, LaGenMatDouble&)' > > I thought LaLinearSolve is overloaded such that I can use different objects > and it automatically chooses which inversion scheme is appropriate? Is > there another header file I need to include? These are the header files I > am using now: The header files are fine, otherwise you would have gotten a compiler error like "LaLinearSolve(LaSymmMatDouble ...) is undefined, candidates are: ...". But the header files seem fine. The error message is a linker error, which means that the header file contained the declaration for such a function, but the definition (the "function body") could not be found inside the lapackpp library. This is an error in lapackpp. I just checked this out a bit more, and it turns out that the function body had been disabled in the original lapack++-1.1 package. I have no idea why, although the code was slightly broken, too. I fixed this now, so that these functions are accessible again and the testing code in testing/tSymmSolve.cc works without errors. I checked this into CVS, so you can use this by checking out the code from anonymus CVS, see the website http://sf.net/projects/lapackpp on how to do this. (Note: There's a 24 hour delay until the code is available in anonymous CVS. If you need it faster, I can only send a .tar.gz file to you privately.) Are you familiar enough with compiling from CVS? If not, then you would have to wait until I can make a new release, which I don't have time for before next Wednesday. HOWEVER: I have no idea whether these functions are really doing correctly what they claim to do. Please please please check now whether the calculations are actually correct. As I said, I don't use non-general matrices, so I have no test case to verify these. > Also, I am working from documentation from Lapack++ v.1.1. Things seem to > have changed a bit in the newer versions, is there any more up to date > documentation. The only up to date documentation is the one generated from source code. A copy is on http://lapackpp.sf.net and you can create your local copy by "make srcdoc", if you have doxygen installed. There is no other "user guide" that is up to date, sorry. I'm using lapackpp as an auxiliary library, too, so I cannot spend extra time on writing user documentation. If anyone contributes something like this, I would happily publish it along with the lapackpp sources, including the proper credits. Christian |
From: Terrrance O'R. <to...@us...> - 2004-12-18 02:30:57
|
Hello everyone, I am just beginning to use Lapackpp. So far I am able to create LaGenMatDouble and LaVectorDouble objects and use them with LaLinearSolve to solve a set of linear equations. Now I want to use LaSymmMatDouble (and eventually banded for drift-diffusion) with LaLinearSolve. However, when I do this I get this error: C:/DOCUME~1/TERRAN~1/LOCALS~1/Temp/ccQLbaaa.o(.text+0x316):possoin.cpp: undefined reference to `LaLinearSolve(LaSymmMatDouble const&, LaGenMatDouble&, LaGenMatDouble&)' I thought LaLinearSolve is overloaded such that I can use different objects and it automatically chooses which inversion scheme is appropriate? Is there another header file I need to include? These are the header files I am using now: #include "lafnames.h" #include LA_GEN_MAT_DOUBLE_H #include LA_VECTOR_DOUBLE_H #include LA_SYMM_MAT_DOUBLE_H #include LA_SOLVE_DOUBLE_H #include LA_EXCEPTION_H #include LA_UTIL_H Also, I am working from documentation from Lapack++ v.1.1. Things seem to have changed a bit in the newer versions, is there any more up to date documentation. Thanks for the help, Terrance |
From: Christian S. <sti...@tu...> - 2004-12-15 18:02:40
|
Dear Mohamad, I am confident that you fill find plenty of documentation for these c++=20 tools. As for an example, I would mostly direct you to our package=20 package simthetic-mimolib, where you can download the configure.in and=20 Makefile.am files directly from CVS=20 http://cvs.sourceforge.net/viewcvs.py/simthetic/mimolib/ or rather=20 download a full package on=20 http://sourceforge.net/project/showfiles.php?group_id=3D89810&package_id=3D= 109380 Christian mohamad chaitou schrieb: > Thank you Christian, > I follow your advices and i began reading some tutorials about "automak= e=20 > and autoconf". It will be very helpful for me if you can send me an=20 > example of a configure.ac file and a Makefale.am which use the lapack++= =20 > library. > Thank you again and again... >=20 > Christian Stimming a =E9crit : >=20 >> mohamad chaitou schrieb: >> >>> The compile command i have used is very simple (maybe stupid) because= =20 >>> i don't know how to deal with dependencies between these files! >>> here its: >> >> >> >> C++ doesn't work this way, or in other words not that simple. You need= =20 >> to get a textbook about how to use a C++ compiler, especially how to >> 1. specify the directories to find the header files, >> 2. specify the libraries to link against, and >> 3. specify the directories where to find the libraries to link against. >> >> This is not a lapack++ problem but a general problem of how to write a= =20 >> C++ program that uses other libraries. >> >>> g++ -Wall -c tEigSolve.cc >> >> >> >> In this case you are missing the specification of where to find=20 >> lapackpp's header files, which would usually look like this >> >> g++ -I/usr/include/lapackpp -c tEigSolve.cc >> >> Apart from this problem, this step obviously worked. This step is=20 >> called "compiling" and if you report a bug, it is important to note=20 >> the the "compiling" went ok. >> >>> g++ tEigSolve.o >> >> >> >> This other step obviously gave you errors. This step is called=20 >> "linking", so you got "linker errors". The point is that your c++=20 >> program uses extra libraries (lapack++'s libraries in this case), and=20 >> you must tell the linker which libraries to use and where to find it.=20 >> For example >> >> g++ -L/usr/lib -llamatrix++ -llapack++ -lblas++ -llapack -lblas=20 >> tEigSolve.o >> >> However, usually you don't call the compiler by hand. Instead, you use= =20 >> some Makefile which contains the compiler commands (see "info make" on= =20 >> your system). And even further, you don't even write the Makefile by=20 >> hand, but you have them generated by automake and autoconf (see "info=20 >> automake" and "info autoconf"). In that case, autoconf is configured=20 >> by a top-level file called "configure.in" or "configure.ac", and=20 >> configuration for Lapack++ use can be done through the macro=20 >> ACX_LAPACKPP which is included in the filename acx_lapackpp.m4. That's= =20 >> how we are using this in our package simthetic-mimolib=20 >> http://cvs.sourceforge.net/viewcvs.py/simthetic/mimolib/ >> >> Christian >> >> >> >=20 >=20 >=20 >=20 > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now.=20 > http://productguide.itmanagersjournal.com/ > _______________________________________________ > lapackpp-devel mailing list > lap...@li... > https://lists.sourceforge.net/lists/listinfo/lapackpp-devel >=20 |
From: mohamad c. <moh...@in...> - 2004-12-15 16:19:00
|
Thank you Christian, I follow your advices and i began reading some tutorials about "automake=20 and autoconf". It will be very helpful for me if you can send me an=20 example of a configure.ac file and a Makefale.am which use the lapack++=20 library. Thank you again and again... Christian Stimming a =E9crit : > mohamad chaitou schrieb: > >> The compile command i have used is very simple (maybe stupid) because=20 >> i don't know how to deal with dependencies between these files! >> here its: > > > C++ doesn't work this way, or in other words not that simple. You need=20 > to get a textbook about how to use a C++ compiler, especially how to > 1. specify the directories to find the header files, > 2. specify the libraries to link against, and > 3. specify the directories where to find the libraries to link against. > > This is not a lapack++ problem but a general problem of how to write a=20 > C++ program that uses other libraries. > >> g++ -Wall -c tEigSolve.cc > > > In this case you are missing the specification of where to find=20 > lapackpp's header files, which would usually look like this > > g++ -I/usr/include/lapackpp -c tEigSolve.cc > > Apart from this problem, this step obviously worked. This step is=20 > called "compiling" and if you report a bug, it is important to note=20 > the the "compiling" went ok. > >> g++ tEigSolve.o > > > This other step obviously gave you errors. This step is called=20 > "linking", so you got "linker errors". The point is that your c++=20 > program uses extra libraries (lapack++'s libraries in this case), and=20 > you must tell the linker which libraries to use and where to find it.=20 > For example > > g++ -L/usr/lib -llamatrix++ -llapack++ -lblas++ -llapack -lblas=20 > tEigSolve.o > > However, usually you don't call the compiler by hand. Instead, you use=20 > some Makefile which contains the compiler commands (see "info make" on=20 > your system). And even further, you don't even write the Makefile by=20 > hand, but you have them generated by automake and autoconf (see "info=20 > automake" and "info autoconf"). In that case, autoconf is configured=20 > by a top-level file called "configure.in" or "configure.ac", and=20 > configuration for Lapack++ use can be done through the macro=20 > ACX_LAPACKPP which is included in the filename acx_lapackpp.m4. That's=20 > how we are using this in our package simthetic-mimolib=20 > http://cvs.sourceforge.net/viewcvs.py/simthetic/mimolib/ > > Christian > > > |
From: Christian S. <sti...@tu...> - 2004-12-15 10:02:45
|
mohamad chaitou schrieb: > The compile command i have used is very simple (maybe stupid) because i > don't know how to deal with dependencies between these files! > here its: C++ doesn't work this way, or in other words not that simple. You need to get a textbook about how to use a C++ compiler, especially how to 1. specify the directories to find the header files, 2. specify the libraries to link against, and 3. specify the directories where to find the libraries to link against. This is not a lapack++ problem but a general problem of how to write a C++ program that uses other libraries. > g++ -Wall -c tEigSolve.cc In this case you are missing the specification of where to find lapackpp's header files, which would usually look like this g++ -I/usr/include/lapackpp -c tEigSolve.cc Apart from this problem, this step obviously worked. This step is called "compiling" and if you report a bug, it is important to note the the "compiling" went ok. > g++ tEigSolve.o This other step obviously gave you errors. This step is called "linking", so you got "linker errors". The point is that your c++ program uses extra libraries (lapack++'s libraries in this case), and you must tell the linker which libraries to use and where to find it. For example g++ -L/usr/lib -llamatrix++ -llapack++ -lblas++ -llapack -lblas tEigSolve.o However, usually you don't call the compiler by hand. Instead, you use some Makefile which contains the compiler commands (see "info make" on your system). And even further, you don't even write the Makefile by hand, but you have them generated by automake and autoconf (see "info automake" and "info autoconf"). In that case, autoconf is configured by a top-level file called "configure.in" or "configure.ac", and configuration for Lapack++ use can be done through the macro ACX_LAPACKPP which is included in the filename acx_lapackpp.m4. That's how we are using this in our package simthetic-mimolib http://cvs.sourceforge.net/viewcvs.py/simthetic/mimolib/ Christian |
From: mohamad c. <moh...@in...> - 2004-12-15 09:33:33
|
The compile command i have used is very simple (maybe stupid) because i=20 don't know how to deal with dependencies between these files! here its: g++ -Wall -c tEigSolve.cc g++ tEigSolve.o Thank you in adavnce for any kind of help! Christian Stimming a =E9crit : > Questions about the program *always* to the mailinglist, *never* to=20 > individual developers. Thanks. > > mohamad chaitou schrieb: > >> Hi Christian, >> Thank you for your invaluable help. The tests are passed very well,=20 >> but when i had tried to compile a simple program i got many errors of=20 >> kinds "undefined references". for example when compiling the file=20 >> "$HOME/lapackpp-2.0.3/testing/tEigSolve.cc" errors like the following=20 >> appears: >> (tEigSolve.o(.text+0x284): In function `eig_residual(LaSymmMatDouble=20 >> const&, double, LaVectorDouble const&)': >> : undefined reference to =AB Mach_eps_double() =BB). what could be = the=20 >> problem? >> I hope some suggestions from you, >> Thank you a lot, > > > Please send your full compile command line so that we can see how you=20 > compiled your test program. > > Christian > >> >> >> >> Christian Stimming a =E9crit : >> >>> Dear Mohamad, >>> >>> when using Lapack++ and using the complex-valued matrices, you need=20 >>> to define the constant LA_COMPLEX_SUPPORT because otherwise lapack++=20 >>> would have the complex numbers disabled. Either you insert >>> #define LA_COMPLEX_SUPPORT >>> into your personal source code before including the headers, or you=20 >>> call gcc with -DLA_COMPLEX_SUPPORT. If you want to run the example=20 >>> files, you can have this done automatically by the command "make=20 >>> check". >>> >>> Christian >>> >>> mohamad chaitou schrieb: >>> >>>> HI all, >>>> I'm new to C++. I've just installed Lapackpp-2.0.3. The=20 >>>> installation seems to be fine but when i tried to do a test (i've=20 >>>> tried the command "gcc tEigSolve.cc" under the directory=20 >>>> lapackpp-2.0.3/testing) i have got many syntax errors!!, these=20 >>>> errors come from files: vc.h, gmc.h, lavc.h, blas1pp.h, blaspp.h=20 >>>> and blas++.h. Most of these errors claim about the struct=20 >>>> "COMPLEX", when declaring a pointer or a reference to "COMPLEX"=20 >>>> saying that this is a syntax error! >>>> Please give me some feedback, >>>> Thanks in advances! >>>> >>>> >>>> >>>> ------------------------------------------------------- >>>> SF email is sponsored by - The IT Product Guide >>>> Read honest & candid reviews on hundreds of IT Products from real=20 >>>> users. >>>> Discover which products truly live up to the hype. Start reading=20 >>>> now. http://productguide.itmanagersjournal.com/ >>>> _______________________________________________ >>>> lapackpp-devel mailing list >>>> lap...@li... >>>> https://lists.sourceforge.net/lists/listinfo/lapackpp-devel >>>> >>> >>> >> >> >> > > |
From: Christian S. <sti...@tu...> - 2004-12-15 09:19:26
|
Questions about the program *always* to the mailinglist, *never* to=20 individual developers. Thanks. mohamad chaitou schrieb: > Hi Christian, > Thank you for your invaluable help. The tests are passed very well, but= =20 > when i had tried to compile a simple program i got many errors of kinds= =20 > "undefined references". for example when compiling the file=20 > "$HOME/lapackpp-2.0.3/testing/tEigSolve.cc" errors like the following=20 > appears: > (tEigSolve.o(.text+0x284): In function `eig_residual(LaSymmMatDouble=20 > const&, double, LaVectorDouble const&)': > : undefined reference to =AB Mach_eps_double() =BB). what could be t= he=20 > problem? > I hope some suggestions from you, > Thank you a lot, Please send your full compile command line so that we can see how you=20 compiled your test program. Christian >=20 >=20 >=20 > Christian Stimming a =E9crit : >=20 >> Dear Mohamad, >> >> when using Lapack++ and using the complex-valued matrices, you need to= =20 >> define the constant LA_COMPLEX_SUPPORT because otherwise lapack++=20 >> would have the complex numbers disabled. Either you insert >> #define LA_COMPLEX_SUPPORT >> into your personal source code before including the headers, or you=20 >> call gcc with -DLA_COMPLEX_SUPPORT. If you want to run the example=20 >> files, you can have this done automatically by the command "make check= ". >> >> Christian >> >> mohamad chaitou schrieb: >> >>> HI all, >>> I'm new to C++. I've just installed Lapackpp-2.0.3. The installation=20 >>> seems to be fine but when i tried to do a test (i've tried the=20 >>> command "gcc tEigSolve.cc" under the directory=20 >>> lapackpp-2.0.3/testing) i have got many syntax errors!!, these errors= =20 >>> come from files: vc.h, gmc.h, lavc.h, blas1pp.h, blaspp.h and=20 >>> blas++.h. Most of these errors claim about the struct "COMPLEX", when= =20 >>> declaring a pointer or a reference to "COMPLEX" saying that this is a= =20 >>> syntax error! >>> Please give me some feedback, >>> Thanks in advances! >>> >>> >>> >>> ------------------------------------------------------- >>> SF email is sponsored by - The IT Product Guide >>> Read honest & candid reviews on hundreds of IT Products from real use= rs. >>> Discover which products truly live up to the hype. Start reading now.= =20 >>> http://productguide.itmanagersjournal.com/ >>> _______________________________________________ >>> lapackpp-devel mailing list >>> lap...@li... >>> https://lists.sourceforge.net/lists/listinfo/lapackpp-devel >>> >> >> >=20 >=20 >=20 |
From: mohamad c. <moh...@in...> - 2004-12-15 08:32:44
|
HI, First I'd like to thank Christian about his help concernining the=20 "COMPLEX" problem. But while trying to compile even a very very simple=20 code like the following: #define LA_COMPLEX_SUPPORT =20 #include <lapack++.h> #include <iostream> int main() { LaGenMatDouble A ; =20 std::cout<< "This is a test "<< std::endl; return 0; } I get several undefined references errors like: /tmp/ccL1isCB.o(.text+0x19): In function `main': : undefined reference to =AB LaGenMatDouble::LaGenMatDouble[in-charge]()=BB I'm not sure why this happens... Please give me some help. Thanks in adavance |
From: Christian S. <sti...@tu...> - 2004-12-14 14:50:38
|
Dear Mohamad, when using Lapack++ and using the complex-valued matrices, you need to define the constant LA_COMPLEX_SUPPORT because otherwise lapack++ would have the complex numbers disabled. Either you insert #define LA_COMPLEX_SUPPORT into your personal source code before including the headers, or you call gcc with -DLA_COMPLEX_SUPPORT. If you want to run the example files, you can have this done automatically by the command "make check". Christian mohamad chaitou schrieb: > HI all, > I'm new to C++. I've just installed Lapackpp-2.0.3. The installation > seems to be fine but when i tried to do a test (i've tried the command > "gcc tEigSolve.cc" under the directory lapackpp-2.0.3/testing) i have > got many syntax errors!!, these errors come from files: vc.h, gmc.h, > lavc.h, blas1pp.h, blaspp.h and blas++.h. Most of these errors claim > about the struct "COMPLEX", when declaring a pointer or a reference to > "COMPLEX" saying that this is a syntax error! > Please give me some feedback, > Thanks in advances! > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > lapackpp-devel mailing list > lap...@li... > https://lists.sourceforge.net/lists/listinfo/lapackpp-devel > |
From: mohamad c. <moh...@in...> - 2004-12-14 14:30:37
|
HI all, I'm new to C++. I've just installed Lapackpp-2.0.3. The installation seems to be fine but when i tried to do a test (i've tried the command "gcc tEigSolve.cc" under the directory lapackpp-2.0.3/testing) i have got many syntax errors!!, these errors come from files: vc.h, gmc.h, lavc.h, blas1pp.h, blaspp.h and blas++.h. Most of these errors claim about the struct "COMPLEX", when declaring a pointer or a reference to "COMPLEX" saying that this is a syntax error! Please give me some feedback, Thanks in advances! |
From: Christian S. <sti...@tu...> - 2004-11-26 14:29:14
|
Dear Jack, ok, I don't know about computer vision. However, in lapack this function does not seem to exist. Lapack http://www.netlib.org/lapack/lug/ is all about linear equations, linear least squares problems, eigenvalue problems and singular value problems. The vector cross product rather seems to belong to some totally different category, and thus there is no such code there. I'm afraid you have to live with your own implementation. Christian Jacob (Jack) Gryn schrieb: > That's the one. > > I implemented it myself, since it's not used in any loops, I don't really > need the optimization of lapack. However, if it is implemented in lapack, I > think we should have a wrapper for lapack++. I think it's used often enough > in the computer vision world. > > Jack > > -----Original Message----- > From: Christian Stimming [mailto:sti...@tu...] > Sent: Friday, November 26, 2004 4:31 AM > To: Jacob (Jack) Gryn > Cc: lap...@li... > Subject: Re: [Lapackpp-devel] Cross Product > > Dear Jack, > > Jacob (Jack) Gryn schrieb: > >>Is there a Cross Product defined in any of the Blass?++ libraries? > > > Do you mean the cross product as explained here > http://mathworld.wolfram.com/CrossProduct.html which is a function of > R^3 x R^3 -> R^3 > ? No, this function is not available. From what I remember, the cross > product has so limited use in numerics that the numerical people > wouldn't implement such a function. But you are really looking for this > function? > > Christian > > > > |