[Trilinos-Users] Epetra_LinearProblem.AssertSymmetric()

Michael A Heroux maherou at sandia.gov
Fri Aug 5 15:24:35 MDT 2005


John,

There has been some discussion of adding support for symmetric matrices
where only the lower or upper triangle is stored.  All of the basic
machinery is in place to provide such a capability but there hasn't been a
strong demand for it.

If this is something you think would be important, let us know.  We can
scope out the effort it would take to write such a class.

Even now it is possible to get a reasonably good capability like this by
storing the strictly lower (or strictly upper) triangle as an
Epetra_CrsMatrix, storing the diagonal as an Epetra_Vector, and then perform
the matrix-vector multiplication as a three step process:

Y = Ax = (L+D+L')x

Where applying L' is done by specifying transpose multiplication with L.

Of course there are several efficiencies that can be had by implementing a
custom symmetric matrix class, but this basic approach would have the effect
of cutting storage by nearly 1/2 and would have good communication
complexity.

Mike

> -----Original Message-----
> From: trilinos-users-bounces at software.sandia.gov 
> [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf 
> Of John Haws
> Sent: Friday, August 05, 2005 3:34 PM
> To: trilinos-users at software.sandia.gov
> Subject: [Trilinos-Users] Epetra_LinearProblem.AssertSymmetric()
> 
> I've noticed that the Epetra_LinearProblem method 
> AssertSymmetric() is not used in the examples, but often the 
> matrices in the examples are symmetric. Is there a reason to 
> avoid this function? What is the implication of invoking this 
> function?
> 
> Since we are usually working with epetra in a parallel 
> processing environment, I suppose sparse matrices should be 
> stored explicitly (as opposed to only storing the upper or 
> lower triangle), but is there epetra functionality I should 
> be taking advantage of when I am working with symmetric matrices?
> --
> John Haws
> Mathematics and Computing Technology
> Boeing Phantom Works
> 425-865-6397
> john.c.haws at boeing.com
> 
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
> 




More information about the Trilinos-Users mailing list