[Trilinos-Users] Solving a Reduced System

Simone Deparis deparis at MIT.EDU
Mon Nov 7 08:10:11 MST 2005


Thank you for your help and answers.
For now I have decided to hard copy the subblocks.
I do not know if in the future this will be a problem in term of
performances.

Thank you
Simone



Hoekstra, Robert J wrote:
> A few thoughts on this.
> 
> For Q1, I would agree with Mike on this but qualify that the restriction
> is actually that the Columns are contiguous thereby implying contiguous
> Rows but not actually requiring it.  We have talked about a more
> flexible implementation
> of the Matrix than Crs that would not require the row data to be in a
> single contiguous block but this would definitely impact performance. 
> 
> For Q2, there needs to be thought about both the "composite" and
> "explicit" cases.
> We would, of course, want to apply the "composite" solution whenever
> possible
> since it will be generally the most efficient in performance and memory
> footprint.
> But there is definitely a loss in flexibility as with any "view" mode.
> I think for the "explicit" case, this is not that hard.  Ross' concern
> is not a
> big deal because we can expect the user to supply a map which defines
> the structure.
> We can always supply tools to generate that map for common usage.
> 
> Rob
> 
> Robert Hoekstra
> ____________________________ 
> Computational Sciences
> Sandia National Laboratories
> P.O. Box 5800 / MS 0316
> Albuquerque, NM 87185
> phone: 505-844-7627
> fax:      505-284-5451
> e-mail: rjhoeks at sandia.gov 
> web: http://www.cs.sandia.gov
>  
> 
> 
> 
> -----Original Message-----
> From: Bartlett, Roscoe A 
> Sent: Friday, November 04, 2005 3:56 PM
> To: Heroux, Michael A; 'Simone Deparis';
> trilinos-users at software.sandia.gov
> Cc: Hoekstra, Robert J; Long, Kevin R
> Subject: RE: [Trilinos-Users] Solving a Reduced System
> 
> Simone,
> 
> Sorry for the long delay in responding to this.  The ability to
> explicitly form a sparse matrix from blocks as you describe in being
> tentatively planned for Thyra with some implementation to go into
> EpetraExt to support Epetra_CrsMatrix objects.  However, we are not sure
> if there is one best way to do this.  For example, how should you
> interleave the maps for each of the block matrices on each processors?
> The choice you make could affect how algebraic preconditioners perform
> for example.  Note that Andy Salinger is doing something like this for
> transient problems (i.e. his 4D project) but I think this code is in
> NOX.
> 
> Cheers,
> 
> Ross
> 
> -----Original Message-----
> From: Mike Heroux [mailto:maherou at sandia.gov]
> Sent: Tuesday, October 18, 2005 4:58 PM
> To: 'Simone Deparis'; trilinos-users at software.sandia.gov
> Cc: Hoekstra, Robert J; Bartlett, Roscoe A; Long, Kevin R
> Subject: RE: [Trilinos-Users] Solving a Reduced System
> 
> 
>>I have two questions and two notes:
>>Q1- Do you have a version where a view is created instead of a copy 
>>(such that no need for fwd and rvc)?
>>    Do you think it is possible the way you code it?
> 
> 
> Making submatrices that are views of an existing matrix is not generally
> possible given some of the implicit assumption about underlying data
> structures.  We have had discussions about how to possibly support this,
> but have not made progress on any concrete implementation.  There is a
> transform class in EpetraExt called CrsMatrix_View that does exactly
> what you want, but because of data structure restrictions, the rows of
> the submatrix must be stored contiguously. 
> 
> Your request is a reasonable one, and one that could be accomplished at
> least partially by providing an implementation of Epetra_RowMatrix that
> supports a submatrix view of an Epetra_CrsMatrix.  This view would not
> be a full-fledged Epetra_CrsMatrix, but often an Epetra_RowMatrix is
> sufficient.
> 
> 
> I have added this to the feature list for the next Trilinos release.
> 
> 
>>Q2- Do you have a class that does the opposite, i.e., from several 
>>matrices, create a global matrix? E.g., in matlab:
>>subA11, subA12, subA21, subA22 are given, then create A= [ subA11,
>>subA12
>>     subA21, subA22];
> 
> 
> There is nothing explicitly like this in Epetra or EpetraExt.  There is
> functionality that has been part of the Trilinos abstract interfaces,
> the TSF packages that are now part way through a transition into Thyra.
> These classes support a light-weight (no data copy) aggregation of
> multiple operators to be used as a single global operator.  I have
> copied Kevin Long and Ross Bartlett who are the primary developers of
> these tools, in case they have more to say.
> 
> I have also attached a class that I wrote some time ago to support Schur
> Complement operators built from Epetra objects.  Your subscripts suggest
> that you might be trying something similar, so I thought you might find
> this class of use.
> 
> Mike
> 

-- 
_____________________________________________________________________
                                    Simone Deparis
  .~.                               Mech Eng Dept - MIT
  /V\   L   I   N   U   X           77 Mass Ave Room 3-264
 // \\  =================           Cambridge MA 02139
/(   )\                             USA
 ^^-^^
phone :  +1 617 452 3285  mailto:deparis at mit.edu
fax   :  +1 617 258 8559  http://www.mit.edu/~deparis
_____________________________________________________________________





More information about the Trilinos-Users mailing list