[Trilinos-Users] Results

Alicia Klinvex aklinvex at purdue.edu
Fri Jan 9 13:30:07 MST 2015


Hello Sander,

We should start copying the Trilinos user list in our correspondence, which
includes the other developers.  (To the folks who are not Sander: Sander is
a graduate student who needs an eigensolver for his research.  We have been
corresponding about TraceMin for the past couple of weeks, but he would
like to try some of the other Anasazi solvers as well.  He is also
interested in using Ifpack.)  I did not write RTR, and I don't know that
much about its implementation.  I believe Chris Baker wrote that.

Regarding your question about the known eigenvectors...the function you
want is called setAuxVecs.  You can find how to use it in the
TraceMin-Fiedler example.  Please let me know if you have any questions
about that.

I wonder if these problems stem from the fact that your matrix is
apparently singular.  I've successfully used Anasazi to find the eigenpairs
of singular matrices before, but I've always told it what the null space
was via setAuxVecs.

Best wishes,
Alicia



On Fri, Jan 9, 2015 at 12:54 PM, Sander Schaffner <ssander at student.ethz.ch>
wrote:

>  Hey!
>
> I have implemented now 3 eigensolvers... But only TraceMinDavidson seems
> to work. I try to explain what I did on each solver:
>
> 1. TraceMinDavidson:
>
> First I found out that the problem was the tolerance which was to low with
> 1e-10. I changed it to 1e-7 and now it works.
>
> Here I get results with Preconditioning. I tried 3 cases to compute 20 EV
> on 64 cores: ILUT, DIAGONAL and RILUK. With each of the 3 types I got
> almost the same runtimes: ILUT 110s, DIAGONAL 117s and RILUK 116s.
>
> I decided to do some more runtime test with ILUT and have a look how the
> shift influences it(10EV on 32 cores, blockSize: 5): With shifting I got
> 80s (Always and After Trace Levels) and without 45s.
>
> Now I increased the number of EV to 60 and had a look into the BlockSize
> (60EV, Never shift, tol 1e-7, ILUT, 32 cores):
> blocksize=5: inf (abort after 1h)
> blocksize=10: 533 sec
> blocksize=20: 348 sec
> blocksize=30: 361 sec
>
> The next thing I want to do: give ivec (the MultiVector where I store the
> eigenvectors) the first three known eigenvectors: (0 0 1 ... 0 0 1), (0 1 0
> ... 0 1 0) and (1 0 0 ... 1 0 0) which have the eigenvalue 0. Atm I'm
> struggeling with the tecnical stuff there. But in theory I just have to
> safe these vectors as the first three in ivec and then the solver should
> converge immediately to the eigenvalues of 0?
>
> 2. TraceMin:
>
> I more or less took the code of TraceMinDavidson and changed it according
> to the examples I found. I compiles and runs... But even with a tolerance
> of 1e-5 it was not able to find 5 EV in 1h. So it is very likely that I did
> not configure it the right way. It is also using the preconditioner ILUT.
> The solver is running (verbose is on)
>
> 3. RTR:
>
> It compiles an and starts. But the solver immediately crashes. Although I
> have enabled all the output it only gets so far that it prints: p= 0 |
> Entering Anasazi::RTRSolMgr::solve()
>
> So I'm not to successful to get another solver to run so far. Do you have
> some thoughts on it? If you are interested in my codes I'm happy to invite
> you to my git-repository (I'm working with github.com)
>
> Best wishes,
> Sander
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150109/59a1c81d/attachment.html>


More information about the Trilinos-Users mailing list