[Trilinos-Users] Sparse matrix and Anasazi Solvers,

Mike Atambo mikeat4999 at gmail.com
Tue Feb 10 06:48:13 MST 2015


Alicia,
i looked at the examples you suggested,  but im not sure i understand the
shit-invert
procedure,  is there and example  using the tpetra as opposed to Epetra
objects?
I have reduced the problem im having to a simple case, and a matrix sample
that reproduces
the convergence issue.  The matrix itself is quite small (sparse with 400
non zeros) in matrix market
format.
Convergence is not achieved with this matrix, using both the Block Davidson
 and the Krylov-Shur solvers,
i decided to attempt to find the largest real as opposed to the smallest,
 but the behaviour seems
the same,  therefore im inclined to think that it may not be that a
shift-invert is not performed.
Since the matrix is small, and these solvers should be able to work,  maybe
there is something else going on,  id appreciate
if an experienced eye took a look at my attempt,  as its likely there is
something im unable to see.

Regards
Mike

On Tue, Feb 10, 2015 at 2:14 PM, Mike Atambo <mikeat4999 at gmail.com> wrote:

>
>
> On Thu, Feb 5, 2015 at 8:27 PM, Mike Atambo <mikeat4999 at gmail.com> wrote:
>
>> Alicia,
>> I will take a look at that  try it on my problem
>> thanks,
>> Mike
>>
>> On Thu, Feb 5, 2015 at 8:22 PM, Alicia Klinvex <aklinvex at purdue.edu>
>> wrote:
>>
>>> Hello Mike,
>>>
>>> I'm pretty sure your Trilinos code is NOT using shift-and-invert with
>>> BKS.  (Shift-and-invert is the spectral transformation I described before.)
>>>  If you want to use shift-and-invert, you must construct the linear solver
>>> yourself and give it to the BKS solver manager.  Some examples of that can
>>> be found on this page:
>>> http://trilinos.org/docs/r11.12/packages/anasazi/doc/html/examples.html
>>>
>>> If you want to use a sparse factorization, then the Amesos example
>>> should be of interest to you.  If you want to use a preconditioned Krylov
>>> method to solve the linear systems that arise at each iteration of BKS,
>>> then look at the Belos example.  Let me know if those examples don't make
>>> sense to you.
>>>
>>> Best wishes,
>>> Alicia
>>>
>>> Disclaimer: I am an external collaborator at Sandia, and I did not write
>>> the BKS code.  I can help you with the mechanics of getting things to run,
>>> but Heidi Thornquist and Rich Lehoucq (who are also on the user mailing
>>> list) would probably know more about how to get good performance out of BKS
>>> and block Davidson.
>>>
>>> On Thu, Feb 5, 2015 at 1:50 PM, Mike Atambo <mikeat4999 at gmail.com>
>>> wrote:
>>>
>>>> Alicia,
>>>> Im still trying to figure  out what exactly im facing. Maybe what you
>>>> described be the issue, but  at this
>>>> point i would prefer to try out what you have suggested, if it works,
>>>> then it would be certain thats what im facing,
>>>> if not, then i can rule that out.
>>>> Please let me know how to  set the krylov-shur  solver   as you
>>>> suggested,
>>>> here are the parameters i pass to  the anasaziPL   for Krylov-Shur at
>>>> the moment:
>>>>
>>>>   const double tol = 1.0e-8;
>>>>   const int maxIters = 500;
>>>>   anasaziPL.set ("Which", "SR");
>>>>   anasaziPL.set ("Block Size",1 );
>>>>   //anasaziPL.set ("Maximum Iterations", maxIters);
>>>>   anasaziPL.set ("Convergence Tolerance", tol);
>>>>   anasaziPL.set ("Full Ortho", true);
>>>>   anasaziPL.set ("Use Locking", true);
>>>>
>>>> Mike.
>>>>
>>>>
>>>> On Thu, Feb 5, 2015 at 5:47 PM, Alicia Klinvex <aklinvex at purdue.edu>
>>>> wrote:
>>>>
>>>>> Hi Mike,
>>>>>
>>>>> If ARPACK is working for you and block Krylov-Schur is not, I suspect
>>>>> that one is using a spectral transformation and the other is not.
>>>>>
>>>>> I don't know much about scipy's eigs, but I assume it is similar to
>>>>> Matlab's eigs (which also uses ARPACK).  When you ask Matlab's eigs to find
>>>>> the smallest eigenvalues of a matrix, it will automatically transform the
>>>>> problem of finding the smallest eigenpairs of A x = \lambda x into the
>>>>> equivalent problem of finding the largest eigenpairs of A^{-1} x =
>>>>> \lambda^{-1}x.  Anasazi's Krylov Schur does not do that unless you
>>>>> explicitly tell it to.  Could that be the problem you're having?  If so, we
>>>>> can discuss how to tell Krylov-Schur that's what you want to do.
>>>>>
>>>>> Best wishes,
>>>>> Alicia Klinvex
>>>>>
>>>>> On Thu, Feb 5, 2015 at 11:21 AM, Mike Atambo <mikeat4999 at gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi,
>>>>>> Im unable to get matrices,  ( say a sparse matrix with
>>>>>> 885500 non zeros  out of  about  2822796900 )   to converge
>>>>>> with the block davison or the krylov solver,
>>>>>>
>>>>>> I had a look at the condition number reported by the 'ILUT'
>>>>>> preconditioner and it seems to grow rather quickly for my  problems,  ( 9x9
>>>>>>  with 39 non zeros has  condition number= 10,   and at    25*25 and 100 non
>>>>>> zeros the condition number is at 250).
>>>>>>
>>>>>> Im able to solve all these examples here using scipy.sparse.eigs  (it
>>>>>> uses ARPACK),  so there is probably something that im not doing right.
>>>>>>
>>>>>> The block-davidson solver with 'ILUT' pre-conditioner   work for the
>>>>>> small systems above,   but  beyond  300*300 matrix size,  this is not
>>>>>> longer true.
>>>>>>
>>>>>> At the moment im  following these steps.
>>>>>>
>>>>>> 1.  Create and initialize a matrix,
>>>>>> 2.  Create an anasazi basic eigenproblem,
>>>>>> 3.  Create a  solver (either block davidson or krylov-shur)
>>>>>> 4.   Get solution,
>>>>>>
>>>>>> Id like to find out whether there is a way to tell why the system  im
>>>>>> working on seems
>>>>>> to be  unable to converge.  Any help would be appreciated.
>>>>>>
>>>>>> Mike
>>>>>>
>>>>>>
>>>>>> --
>>>>>> M. O. Atambo
>>>>>> mikeat4999 at gmail.com
>>>>>> matambo at ictp.it
>>>>>> Ext .139
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Trilinos-Users mailing list
>>>>>> Trilinos-Users at software.sandia.gov
>>>>>> https://software.sandia.gov/mailman/listinfo/trilinos-users
>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> M. O. Atambo
>>>> mikeat4999 at gmail.com
>>>> matambo at ictp.it
>>>> Ext .139
>>>> Room 209.
>>>>
>>>>
>>>
>>
>>
>> --
>> M. O. Atambo
>> mikeat4999 at gmail.com
>> matambo at ictp.it
>> Ext .139
>> Room 209.
>>
>>
>
>
> --
> M. O. Atambo
> mikeat4999 at gmail.com
> matambo at ictp.it
> Ext .139
> Room 209.
>
>


-- 
M. O. Atambo
mikeat4999 at gmail.com
matambo at ictp.it
Ext .139
Room 209.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150210/585ed930/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Makefile
Type: application/octet-stream
Size: 598 bytes
Desc: not available
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150210/585ed930/attachment-0002.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: solver.cxx
Type: text/x-c++src
Size: 4508 bytes
Desc: not available
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150210/585ed930/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: simplematrix
Type: application/octet-stream
Size: 22208 bytes
Desc: not available
URL: <http://software.sandia.gov/pipermail/trilinos-users/attachments/20150210/585ed930/attachment-0003.obj>


More information about the Trilinos-Users mailing list