[Trilinos-Users] Returned mail: see transcript for details

Alicia M Klinvex aklinvex at purdue.edu
Thu Nov 6 07:20:15 MST 2014


Hello,

a) The matrix should be the total matrix.  If your matrix comes from a matrix-market or harwell-boeing file, we do have a function that will read the symmetric matrix from a file and store it as general.  (I believe this is to optimize matrix-vector multiplications.)  Alternatively, you can define your own matrix-vector multiplication operator, in which case Anasazi never needs to see your matrix.  There's an example of this for TraceMin-Davidson.

b) Are you using BKS?  If you're not using block Krylov-Schur, you shouldn't need to create your own solver.  RTR and TraceMin/TraceMin-Davidson have solvers built-in.

c) I'm not sure I understand what you mean by the matrix being dense and sparse.  Also, are you looking for the smallest or largest eigenvalues?  Are you looking for interior or extreme eigenvalues?

By the way, one of the cool things about Anasazi is that all of the eigensolvers use the same interface.  If you want to try a couple of them, it only involves changing maybe 5 lines of code in your driver.

Best wishes,
Alicia

PS: We should copy the user list in our correspondence, since some people are better equipped than I am to answer certain types of questions.  For instance, I am not an Amesos developer.  The Amesos developers can probably do a better job answering your questions about Amesos.



----- Original Message -----
From: maireni at cimne.upc.edu
To: "Alicia M Klinvex" <aklinvex at purdue.edu>
Sent: Thursday, November 6, 2014 7:05:34 AM
Subject: Re: [Trilinos-Users] Returned mail: see transcript for details

Hello Alicia,


Just simple questions

a) When i use Anasazi with Tpetra in CSR format.
Should be the total matrix even if it is symmetric or it is ok if i take
for Anasazi the upper or lower one?. How to do that?

b) I see Amesos accept now Pardiso solver. I use normally this Solver.
My matrices is sparse and lapack  is call when i use anasazi. How can i 
set amesos for use Pardiso or SuperLU(shared Memory). I see some macros 
but, i think should be another way no?

c) The problem i have is symmetric dense and sparse. According
to your experience with is the fastest method in Anasazi?

Sorry again for ask you a lot, but i really excited with Trilinos.

Regards

Nelson



El 2014-11-06 10:38, Alicia M Klinvex escribió:
> Hello,
> 
> Have you tried contacting the SLEPC team about your problems?  They're
> a helpful group as well.  (I'm obviously not trying to tell you not to
> use Trilinos; I just want you to be aware of the packages that can
> solve your specific problem.  We don't currently support finding all
> eigenvalues in an interval.  I should have that complete by the end of
> the month though.)
> 
> FEAST is slow because of its reliance on direct solvers such as
> PARDISO and all of the factorizations it requires.  You may want to
> contact the FEAST developers to see whether it would be appropriate to
> reduce the number of contour integration points, which can speed up
> the code.
> 
> Anasazi does have very powerful tools, and I'm glad you've decided to
> give them a try. :-)
> 
> I'm not familiar with AMLS.  Are these small matrices dense or sparse?
>  Regarding the linear systems, if they are sparse, Amesos and Belos
> are both really nice packages to use, depending on what your matrix is
> like.  Amesos contains direct solvers, and Belos is for iterative
> solvers such as CG.
> 
> Best wishes, and please keep us updated!
> Alicia
> 
> 
> 
> ----- Original Message -----
> From: maireni at cimne.upc.edu
> To: "Alicia M Klinvex" <aklinvex at purdue.edu>
> Sent: Wednesday, November 5, 2014 8:57:55 PM
> Subject: Re: [Trilinos-Users] Returned mail: see transcript for details
> 
> Hi Alicia M Klinvex,
> Thanks for replying.
> I was trying to use SLEPC's Krylov Schur but not successful yet.
> I know the  FEAST eigen-solver and is integrated in my code and works.
> I call directly from MKL libraries, but is slow than other
> eigen-solvers,
> at least block Lanzcos method like BLZPACK. Another problem is 
> ARPACK++,
> that when i call the AReig functions not works correctly. It use a
> format
> of CSC. My matrices is symmetric and could be lower or upper matrix. In
> any case,
> the eigen-values is not ok. I saw Anasazi is inspired and have better
> tools than ARPACK. This is why i
> try to use Anasazi.
> 
> Respect to size of problem, the idea is to use AMLS method. AMLS method
> is a condensation method
> that can convert a huge matrix, millions of dofs, to just a little
> thousands. In need to solve
> a lot of eigen-values problems, but this eigen problems is so small 
> that
> the corresponding one.
> Also i need to solve a lot equations with a lot rigth hand side. I was
> thinking in use
> Pardiso, but trilnos have good tools and i want to explot too.
> 
> Allow me try what you talk me and then i let you know.
> Thanks for your help. Thanks a lot.
> 
> Nel
> 
> 
> El 2014-11-06 01:27, Alicia M Klinvex escribió:
>> Hello Nelson,
>> 
>> What you want is this constructor:
>> http://trilinos.org/docs/r11.12/packages/tpetra/doc/html/classTpetra_1_1Map.html#aeb556362352e2ae62804601e36672a6c
>> 
>> Map( global_size_t numGlobalElements, GlobalOrdinal indexBase, const
>> Teuchos::RCP< const Teuchos::Comm< int > > & comm, LocalGlobal lg =
>> GloballyDistributed, const Teuchos::RCP< Node > & node =
>> defaultArgNode< Node >() )
>> 
>> Here's what this constructor expects:
>> * The number of rows of your matrix
>> * The index base (which is generally 0)
>> * The communicator (which we will come back to)
>> * Whether the matrix is locally replicated or globally distributed
>> (which we will come back to)
>> * The node type, which defines the type of architecture you are using
>> 
>> You may be thinking at this point, "I have to provide a communicator?
>> But I don't want to use MPI!"  You can define a serial Teuchos
>> communicator which never communicates, as in this example:
>> http://trilinos.org/docs/r11.12/packages/tpetra/doc/html/lesson01_no_mpi_8cpp-example.html
>> 
>> For a sequential example, it doesn't matter whether you specify that
>> the matrix is locally replicated or globally distributed.  We can come
>> back to this when you're ready to use MPI.
>> 
>> Regarding finding all eigenvalues in an interval, you have several
>> options:
>> * You can compute the number of eigenvalues in an interval using
>> inertia computations (meaning sparse factorizations will be involved),
>> then call any eigensolver you want.
>> * You can try Eric Polizzi's FEAST eigensolver (which requires an
>> estimate of the number of eigenvalues in an interval).  You can
>> download it here: http://www.feast-solver.org/  It can also be found
>> in certain versions of the Intel Math Kernel Library.
>> * You can try SLEPC's Krylov Schur, which is supposed to support this
>> feature.  Just as a warning, I've personally never gotten it to work
>> successfully.
>> 
>> We are currently working on adding that functionality (computing all
>> eigenvalues in an interval) to Anasazi.  Just out of curiosity,
>> roughly how many eigenvalues are there in your interval of interest?
>> Also, how big is your matrix?
>> 
>> Best wishes,
>> Alicia
>> 
>> 
>> 
>> ----- Original Message -----
>> From: maireni at cimne.upc.edu
>> To: "Alicia M Klinvex" <aklinvex at purdue.edu>
>> Sent: Wednesday, November 5, 2014 1:08:00 AM
>> Subject: Re: [Trilinos-Users] Returned mail: see transcript for 
>> details
>> 
>> Hi Alicia M Klinvex,
>> 
>> Thanks for reply.
>> In my case, as in research area, i compile Trilinos for
>> not running in MPI process, just in serial way. I know i can not
>> exploits
>> all tools of Trilinos, but is just for research. It have really
>> interesting tools.
>> When the code and the idea is working, migration to MPI is really 
>> well.
>> 
>> For the case of column map and row map i need your help.
>> At the moment, just a class matrix works fine in Ananazi is ok for me.
>> Epectra or Tpectra is ok. I am using now Tpectra and i see i can 
>> define
>> a typedef
>> like this
>> 
>> typedef double scalar_type;
>> typedef Tpetra::CrsMatrix<scalar_type> TpetraCrsMatrix;
>> 
>> the other parameters is a default values, so i assumed with they
>> Anasazi works. My dude is in how to contruct the maps for serial code.
>> 
>> Another thing i would like to ask you is about the eigen-solver.
>> Anasazi can provide me the number of desired eigenvalues,
>> but is possible it give to me an interval of eigen-values
>> i.e [0, fecuency cuttof]?
>> 
>> 
>> I really appreciate your help.
>> 
>> Best wishes,
>> 
>> Nelson
>> 
>> 
>> 
>> 
>> El 2014-11-04 21:57, Alicia M Klinvex escribió:
>>> Hello Nelson,
>>> 
>>> My name is Alicia, and I am an Anasazi developer.  I'm glad you've
>>> decided to try Anasazi :-)
>>> 
>>> I assume what you're asking is how to take your three CSR arrays and
>>> turn them into a CrsMatrix that you can pass to an Anasazi
>>> eigensolver.  If you're using Tpetra, the constructor you're looking
>>> for is this:
>>> http://trilinos.org/docs/r11.10/packages/tpetra/doc/html/classTpetra_1_1CrsMatrix.html#a139a91ad9430f012bfb3bcb8fe413ae1
>>> (If you're using Epetra instead, or want to know the difference
>>> between Epetra and Tpetra, let me know.)
>>> 
>>> Note that this constructor will expect the row map and column map,
>>> which define how the data is distributed over the MPI processes.  If
>>> you don't understand how to create those maps, please let me know and
>>> I'll help you out.
>>> 
>>> Does that answer your question?
>>> 
>>> Best wishes,
>>> Alicia Klinvex
>>> 
>>> 
>>> 
>>> ----- Original Message -----
>>> From: maireni at cimne.upc.edu
>>> To: trilinos-users at software.sandia.gov
>>> Sent: Tuesday, November 4, 2014 3:41:49 AM
>>> Subject: Re: [Trilinos-Users] Returned mail: see transcript for
>>> details
>>> 
>>> 
>>> Dear Heidi Thornquist,
>>> 
>>>   Allow me introduce myself first. My name is Nelson Lafontaine,
>>>   i am a PhD student from UPC, Barcelona, Spain. Now i am Beijing
>>> China
>>>   working with the Psor Chen Pu in the Automatic Multilevel
>>> Substructure
>>>   Methods (AMLS).
>>>   I see you are a Anasazi developer and i write to you because i am
>>>   interested in use
>>>   this library. My installation of Trilinos (trilinos-11.12.1) was
>>>   successfully,
>>>   even  i can run some test examples that you are define in Anasazi
>>> files.
>>> 
>>>   However, like you create your own class of matrices and vector,
>>>   my data i can provided to solve my eigen problem is in the form of
>>>   a Compressed Sparse Row (CSR). My question  is if exist a way to
>>> call
>>>   the eigen-solver defined in Anasazi just providing the data of
>>>   compressed
>>>   Sparse row format, or if is possible to create the matrices types
>>>   defined
>>>   in Anasazi just using the CRS format.
>>> 
>>>   Thanks in advance for your time.
>>> 
>>>   Nelson
>>> _______________________________________________
>>> Trilinos-Users mailing list
>>> Trilinos-Users at software.sandia.gov
>>> https://software.sandia.gov/mailman/listinfo/trilinos-users


More information about the Trilinos-Users mailing list