From: Michael Povolotskyi <povolotskyi@in...>  20051214 17:41:00

<!DOCTYPE html PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content=3D"text/html;charset=3DKOI8R" httpequiv=3D"ContentType= "> <title></title> </head> <body bgcolor=3D"#cccccc" text=3D"#000000"> Dear Libmesh developers,<br> I have to solve an eigenvalue problem for a quantum physics calculations.<br> My questions are:<br> 1) Is it possible to solve a general eigenvalue problem like Hx =3D Sx, where H and S are known matrixes.<br> 2) Is it possible to have complex (selfconjugated) matrixes?<br> <br> Thank you,<br> Michael.<br> =9A<br> </body> </html> 
From: Roy Stogner <roystgnr@ic...>  20051214 18:10:35

On Wed, 14 Dec 2005, Michael Povolotskyi wrote: > I have to solve an eigenvalue problem for a quantum physics calculations. > My questions are: > 1) Is it possible to solve a general eigenvalue problem like Hx = Sx, > where H and S are known matrixes. Are you sure you don't mean Hx = gSx, where H and S are known but g is unknown? That's the generalized eigenvalue problem built into SLEPc, which is currently the only eigenvalue solve libMesh interfaces with. Our SLEPc support currently only handles the simple Hx = gx problem, and a new interface would have to be written to get generalized eigenvalues. > 2) Is it possible to have complex (selfconjugated) matrixes? If both PETSc and libMesh have been compiled with complex number support on, then the default PetscScalar and libMesh Number types will both be std::complex<double>, and PETSc should handle the linear algebra appropriately. All my code is realvalued, though; I'm not sure who's keeping the libMesh complex number support up to date.  Roy Stogner 
From: John Peterson <peterson@cf...>  20051214 18:38:11

Michael Povolotskyi writes: > 2) Does it mean that if one wants to use Libmesh just for one complex > problem, then all the other problems also have to be complex? <br> Well, if you have enough disk space, you could have a libmesh_complex build in a separate directory which is separate and only used for complex problems. J 
From: Roy Stogner <roystgnr@ic...>  20051214 18:47:33

On Wed, 14 Dec 2005, John Peterson wrote: > Michael Povolotskyi writes: > > 2) Does it mean that if one wants to use Libmesh just for one complex > > problem, then all the other problems also have to be complex? <br> > > Well, if you have enough disk space, you could have a libmesh_complex > build in a separate directory which is separate and only used for > complex problems. Wouldn't you also need a separate petsc_complex build, and scripts (like the "module load petsc/some_version" we use in CFDlab) to switch around the environment variables PETSc uses? It's not a good solution, but I don't think it'll change any time soon. We could build libMesh with simultaneous Real/Complex support just by adding another template argument to everything which isn't already templated around datatype... but PETSc is C and Fortran, and making that simultaneously compile with multiple datatypes would be pretty tedious.  Roy 
From: Michael Povolotskyi <povolotskyi@in...>  20051214 18:22:29

<!DOCTYPE html PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO88591" httpequiv="ContentType"> <title></title> </head> <body bgcolor="#cccccc" text="#000000"> 1) Yes, I mean Hx = gSx, sorry for the error.<br> 2) Does it mean that if one wants to use Libmesh just for one complex problem, then all the other problems also have to be complex? <br> <br> thank you,<br> Michael.<br> <br> <br> <br> Roy Stogner wrote: <blockquote cite="midPine.LNX.4.63.0512141154180.4247@..." type="cite">On Wed, 14 Dec 2005, Michael Povolotskyi wrote: <br> <br> <blockquote type="cite">I have to solve an eigenvalue problem for a quantum physics calculations. <br> My questions are: <br> 1) Is it possible to solve a general eigenvalue problem like Hx = Sx, <br> where H and S are known matrixes. <br> </blockquote> <br> Are you sure you don't mean Hx = gSx, where H and S are known but g is <br> unknown? That's the generalized eigenvalue problem built into SLEPc, <br> which is currently the only eigenvalue solve libMesh interfaces with. <br> Our SLEPc support currently only handles the simple Hx = gx problem, <br> and a new interface would have to be written to get generalized <br> eigenvalues. <br> <br> <blockquote type="cite">2) Is it possible to have complex (selfconjugated) matrixes? <br> </blockquote> <br> If both PETSc and libMesh have been compiled with complex number <br> support on, then the default PetscScalar and libMesh Number types will <br> both be std::complex<double>, and PETSc should handle the linear <br> algebra appropriately. All my code is realvalued, though; I'm not <br> sure who's keeping the libMesh complex number support up to date. <br>  <br> Roy Stogner <br> <br> </blockquote> <br> <br> <pre class="mozsignature" cols="250">  Michael Povolotskyi, Ph.D. University of Rome "Tor Vergata" Department of Electronic Engineering Viale Politecnico, 1  00133 Rome  Italy Phone + 39 06 72597781 Fax + 39 06 2020519 <a class="moztxtlinkfreetext" href="http://www.optolab.uniroma2.it/pages/moshe/moshe.html">http://www.optolab.uniroma2.it/pages/moshe/moshe.html</a>;  </pre> </body> </html> 
From: Steffen Petersen <steffen.petersen@tu...>  20060115 23:25:33

Hello Michael, a few weeks ago you have asked for solving generalized eigenvalue problems with libMesh. Meanwhile, I have extended the slepc interface to also support generalized problems (with a few modifaications example 16 may be used for solving a generalized eigenvalue problem). Feel free to ask if you are interested in some more details. Steffen Michael Povolotskyi schrieb: > Dear Libmesh developers, > I have to solve an eigenvalue problem for a quantum physics calculations. > My questions are: > 1) Is it possible to solve a general eigenvalue problem like Hx = Sx, > where H and S are known matrixes. > 2) Is it possible to have complex (selfconjugated) matrixes? > > Thank you, > Michael. > >  This SF.net > email is sponsored by: Splunk Inc. Do you grep through log files for > problems? Stop! Download the new AJAX search engine that makes searching > your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_idv37&alloc_id865&op=click > _______________________________________________ Libmeshusers mailing > list Libmeshusers@... > https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: Michael Povolotskyi <povolotskyi@in...>  20060116 09:22:36

<!DOCTYPE html PUBLIC "//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta content="text/html;charset=ISO88591" httpequiv="ContentType"> <title></title> </head> <body bgcolor="#cccccc" text="#000000"> Hello Steffen,<br> currently I'm involved into another problem,<br> but soon I'll get into it.<br> <br> Is the generalized eigenvalue problem, that is implemented in interface, real or complex?<br> Hermitian or not?<br> <br> Michael.<br> <br> Steffen Petersen wrote: <blockquote cite="mid43CAD9FE.2070502@..." type="cite">Hello Michael, <br> <br> a few weeks ago you have asked for <br> solving generalized eigenvalue problems with libMesh. <br> Meanwhile, I have extended the slepc interface <br> to also support generalized problems <br> (with a few modifaications example 16 <br> may be used for solving a generalized eigenvalue <br> problem). <br> Feel free to ask if you are interested in some <br> more details. <br> <br> Steffen <br> <br> <br> <br> Michael Povolotskyi schrieb: <br> <blockquote type="cite">Dear Libmesh developers, <br> I have to solve an eigenvalue problem for a quantum physics calculations. <br> My questions are: <br> 1) Is it possible to solve a general eigenvalue problem like Hx = Sx, where H and S are known matrixes. <br> 2) Is it possible to have complex (selfconjugated) matrixes? <br> <br> Thank you, <br> Michael. <br> <br>  This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! <a class="moztxtlinkfreetext" href="http://ads.osdn.com/?ad_idv37&alloc_id865&op=click">http://ads.osdn.com/?ad_idv37&alloc_id865&op=click</a>; _______________________________________________ Libmeshusers mailing list <a class="moztxtlinkabbreviated" href="mailto:Libmeshusers@...">Libmeshusers@...</a> <a class="moztxtlinkfreetext" href="https://lists.sourceforge.net/lists/listinfo/libmeshusers">https://lists.sourceforge.net/lists/listinfo/libmeshusers</a>; <br> </blockquote> <br> <br> </blockquote> <br> <br> <pre class="mozsignature" cols="250">  Michael Povolotskyi, Ph.D. University of Rome "Tor Vergata" Department of Electronic Engineering Viale Politecnico, 1  00133 Rome  Italy Phone + 39 06 72597781 Fax + 39 06 2020519 <a class="moztxtlinkfreetext" href="http://www.optolab.uniroma2.it/pages/moshe/moshe.html">http://www.optolab.uniroma2.it/pages/moshe/moshe.html</a>;  </pre> </body> </html> 
From: Ondrej Certik <ondrej@ce...>  20060116 09:35:16

Hi, I also use the generalized eigenvalue problem and it works fine. Many thanks. I have a question: I have a real symmetric problem, so I get only r= eal eigenvalues, but I need to get the lowest ones. So I use: eigen_system.eigen_solver>set_position_of_spectrum(SMALLEST_MAGNITUDE); The problem is, that all the solvers from slepc package (ARNOLDI, SUBSPACE, POWER) don't support the "SMALLEST_MAGNITUDE" option, see their sources, for example slepc2.3.0/src/eps/impls/arnoldi/arnoldi.c, line 38: if (eps>which!=3DEPS_LARGEST_MAGNITUDE) SETERRQ(1,"Wrong value of eps>which"); Except the "LAPACK" solver. Lapack works fine, but it retrieves all the eigenvalues and is really slow, in fact for a bigger mesh it's completely unusable (but works). Is there a way how to get the lowest eigenvalues with slepc (maybe using some trick)? In the meantime, I export the element matrices to a file and use external solver, pysparse http://people.web.psi.ch/geus/pyfemax/pysparse.html so I have a small (88 lines) python script, which assembles the global matr= ices (they are called A and B in libmesh), and calls Jacobi Davidson method from pysparse module. The solver is written in C (exported to python), it's fast= and it works.=20 Ondrej On Mon, Jan 16, 2006 at 12:25:50AM +0100, Steffen Petersen wrote: > Hello Michael, >=20 > a few weeks ago you have asked for > solving generalized eigenvalue problems with libMesh. > Meanwhile, I have extended the slepc interface > to also support generalized problems > (with a few modifaications example 16 > may be used for solving a generalized eigenvalue > problem). > Feel free to ask if you are interested in some > more details. >=20 > Steffen >=20 >=20 >=20 > Michael Povolotskyi schrieb: > >Dear Libmesh developers, > >I have to solve an eigenvalue problem for a quantum physics calculations. > >My questions are: > >1) Is it possible to solve a general eigenvalue problem like Hx =3D Sx,= =20 > >where H and S are known matrixes. > >2) Is it possible to have complex (selfconjugated) matrixes? > > > >Thank you, > >Michael. > >=20 > > This SF.net=20 > >email is sponsored by: Splunk Inc. Do you grep through log files for=20 > >problems? Stop! Download the new AJAX search engine that makes searching= =20 > >your log files as easy as surfing the web. DOWNLOAD SPLUNK!=20 > >http://ads.osdn.com/?ad_idv37&alloc_id=16865&op=3Dclick=20 > >_______________________________________________ Libmeshusers mailing=20 > >list Libmeshusers@...=20 > >https://lists.sourceforge.net/lists/listinfo/libmeshusers >=20 >=20 >=20 >  > This SF.net email is sponsored by: Splunk Inc. Do you grep through log fi= les > for problems? Stop! Download the new AJAX search engine that makes > searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! > http://ads.osdn.com/?ad_id=3D7637&alloc_id=3D16865&op=3Dclick > _______________________________________________ > Libmeshusers mailing list > Libmeshusers@... > https://lists.sourceforge.net/lists/listinfo/libmeshusers 
From: Steffen Petersen <steffen.petersen@tu...>  20060117 14:15:57

> Hi, I also use the generalized eigenvalue problem and it=20 > works fine. Many > thanks. I have a question: I have a real symmetric problem,=20 > so I get only real > eigenvalues, but I need to get the lowest ones. So I use: >=20 > eigen_system.eigen_solver>set_position_of_spectrum(SMALLEST_M AGNITUDE); >=20 > The problem is, that all the solvers from slepc package=20 > (ARNOLDI, SUBSPACE, > POWER) don't support the "SMALLEST_MAGNITUDE" option, see=20 > their sources, for > example slepc2.3.0/src/eps/impls/arnoldi/arnoldi.c, line 38: >=20 > if (eps>which!=3DEPS_LARGEST_MAGNITUDE) > SETERRQ(1,"Wrong value of eps>which"); >=20 > Except the "LAPACK" solver. Lapack works fine, but it=20 > retrieves all the > eigenvalues and is really slow, in fact for a bigger mesh=20 > it's completely > unusable (but works). Is there a way how to get the lowest=20 > eigenvalues with > slepc (maybe using some trick)? The actual slepc version (2.3.0) also offers a Lanczos solver (for Hermitian problems) that can be used to compute the smallest values in the spectrum (since I have been using an older slepc version so far I have not tested this solver yet). I have just commited some changes to also include the Lanczos algorithm that comes with the current version. For computing the smallest eigenvalues I have used slepc (2.2.1) together with the arpack package, but it seems that I need to change some cunfiguration stuff to get everything working with the 2.3.0 version. Steffen =20 > In the meantime, I export the element matrices to a file and=20 > use external > solver, pysparse >=20 > http://people.web.psi.ch/geus/pyfemax/pysparse.html >=20 > so I have a small (88 lines) python script, which assembles=20 > the global matrices > (they are called A and B in libmesh), and calls Jacobi=20 > Davidson method from > pysparse module. The solver is written in C (exported to=20 > python), it's fast and > it works.=20 >=20 > Ondrej >=20 > On Mon, Jan 16, 2006 at 12:25:50AM +0100, Steffen Petersen wrote: > > Hello Michael, > >=20 > > a few weeks ago you have asked for > > solving generalized eigenvalue problems with libMesh. > > Meanwhile, I have extended the slepc interface > > to also support generalized problems > > (with a few modifaications example 16 > > may be used for solving a generalized eigenvalue > > problem). > > Feel free to ask if you are interested in some > > more details. > >=20 > > Steffen > >=20 > >=20 > >=20 > > Michael Povolotskyi schrieb: > > >Dear Libmesh developers, > > >I have to solve an eigenvalue problem for a quantum=20 > physics calculations. > > >My questions are: > > >1) Is it possible to solve a general eigenvalue problem=20 > like Hx =3D Sx,=20 > > >where H and S are known matrixes. > > >2) Is it possible to have complex (selfconjugated) matrixes? > > > > > >Thank you, > > >Michael. > > >=20 > > >=20 > This SF.net=20 > > >email is sponsored by: Splunk Inc. Do you grep through log=20 > files for=20 > > >problems? Stop! Download the new AJAX search engine that=20 > makes searching=20 > > >your log files as easy as surfing the web. DOWNLOAD SPLUNK!=20 > > >http://ads.osdn.com/?ad_idv37&alloc_id=16865&op=3Dclick=20 > > >_______________________________________________=20 > Libmeshusers mailing=20 > > >list Libmeshusers@...=20 > > >https://lists.sourceforge.net/lists/listinfo/libmeshusers > >=20 > >=20 > >=20 > >  > > This SF.net email is sponsored by: Splunk Inc. Do you grep=20 > through log files > > for problems? Stop! Download the new AJAX search engine that makes > > searching your log files as easy as surfing the web. =20 > DOWNLOAD SPLUNK! > > http://ads.osdn.com/?ad_id=3D7637&alloc_id=3D16865&op=3Dclick > > _______________________________________________ > > Libmeshusers mailing list > > Libmeshusers@... > > https://lists.sourceforge.net/lists/listinfo/libmeshusers >=20 
From: Ondrej Certik <ondrej@ce...>  20060117 20:53:13

> The actual slepc version (2.3.0) also offers a Lanczos > solver (for Hermitian problems) that can be used to compute the > smallest values in the spectrum (since I have been using > an older slepc version so far I have not tested this solver yet). > I have just commited some changes to also include the > Lanczos algorithm that comes with the current version. I tried Lanczos, and unfortunately, it always says, the solver didn't converge. And my external solver (pysparse) works fine on the same matrix. > For computing the smallest eigenvalues I have used slepc > (2.2.1) together with the arpack package, but it seems that > I need to change some cunfiguration stuff to get everything > working with the 2.3.0 version. The arpack++ package looks good, thanks for the tip. Ondrej 