[Trilinos-Users] Epetra_CrsMatrix-aztecOO: repeated indeces
Michael A Heroux
maherou at sandia.gov
Mon Oct 3 12:06:34 MDT 2005
Simone,
Good to hear this approach works.
In EpetraExt (the Epetra extensions package) there is a MatrixMatrix
subpackage. It supports matrix addition. If the operation you want is not
supported, then it is fairly easy to write a simple loop expression to
accomplish the task.
AztecOO options are covered in detail in the AztecOO user guide:
http://software.sandia.gov/trilinos/packages/aztecoo/AztecOOUserGuide.pdf
Mike
> -----Original Message-----
> From: trilinos-users-bounces at software.sandia.gov
> [mailto:trilinos-users-bounces at software.sandia.gov] On Behalf
> Of Simone Deparis
> Sent: Monday, October 03, 2005 1:01 PM
> To: trilinos-users at software.sandia.gov
> Subject: Re: [Trilinos-Users] Epetra_CrsMatrix-aztecOO:
> repeated indeces
>
> Mike,
>
> Thank you again. I just tested Aztec with the matrix with
> repeated indeces.
> Now that I do not specifies the column map, I can use aztec
> directly, even with Jacobi or DD preconditioners.
>
> I have two further questions:
> 1) is there a method C =A+ t*B, where A,B,C are
> Epetra_CrsMatrix (with the same map) and t a double? I could
> not find it in the doxigen documentation.
>
> 2) I could not find the list of possible options for aztecOO
> in doxigen.
> Do youu know where
>
> thank you
> Simone
>
> Michael A Heroux wrote:
> > Simone,
> >
> > I don't think (but am not certain) AztecOO will mind if you
> pass A as
> > the user matrix. However, if you wish to use AztecOO's native
> > preconditioners, this might be an issue. However, I have
> not tried this, so it might work.
> > It is worth trying. If this does not work, let me know.
> There may be
> > a way to make it work.
> >
> > Mike
> >
> >
> >>-----Original Message-----
> >>From: Simone Deparis [mailto:deparis at MIT.EDU]
> >>Sent: Monday, October 03, 2005 12:04 PM
> >>To: maherou at sandia.gov
> >>Subject: Re: [Trilinos-Users] Epetra_CrsMatrix-aztecOO:
> >>repeated indeces
> >>
> >>Mike,
> >>
> >>thank you for the hint. You are right, by not suggesting a
> column map,
> >>it does the job.
> >>So for now I will be converting A to B.
> >>
> >>Anyway, does somebody knows if it is possible to use aztecOO with a
> >>matrix with repeated indeces?
> >>I would prefer not to use FEm matrices, since I'd like to keep the
> >>distinct values of A at the repeated nodes for reuse (in my set of
> >>problems, there will be a coefficient in front of the
> "local" matrix
> >>components, different for each local matrix and each simulation).
> >>
> >>Thank you
> >>Simone
> >>
> >>
> >>
> >>Michael A Heroux wrote:
> >>
> >>>Simone,
> >>>
> >>>When you specify the column map argument to the Epetra_CrsMatrix
> >>>constructor, it acts as a filter, ignoring matrix entries that are
> >>>inserted but not listed in the map on the calling
> >>
> >>processor. This is
> >>
> >>>why you are missing off-block values in B. Generally
> >>
> >>speaking it is
> >>
> >>>good to let the matrix object figure out the column map on
> it own.
> >>>You can do this by constructing the matrix as:
> >>>
> >>>Epetra_CrsMatrix A(Copy,MapA,3);
> >>>
> >>>You will still want to export A to B, but once again,
> don't specify
> >>>the column map of B.
> >>>
> >>>As an alternative, you could look at using the FECrsMatrix class,
> >>>since it is more efficient at supporting this type of
> >>
> >>matrix construction.
> >>
> >>>Mike
> >>>
> >>>
> >>>
> >>>>-----Original Message-----
> >>>>From: trilinos-users-bounces at software.sandia.gov
> >>>>[mailto:trilinos-users-bounces at software.sandia.gov] On Behalf Of
> >>>>Simone Deparis
> >>>>Sent: Monday, October 03, 2005 10:29 AM
> >>>>To: trilinos-users at software.sandia.gov
> >>>>Subject: [Trilinos-Users] Epetra_CrsMatrix-aztecOO:
> repeated indeces
> >>>>
> >>>>Hi,
> >>>>I have
> >>>>
> >>>> Epetra_CrsMatrix A(Copy,MapA,MapA,3) FillComplete(MapV,MapV);
> >>>>
> >>>> Epetra_FEVector x(MapV);
> >>>> Epetra_FEVector y(MapV);
> >>>>
> >>>>mapA has repeated indeces {0 1 2}, {2 3 4} mapV has no reapeated
> >>>>indeces {0 1 2}, {3 4}
> >>>>
> >>>>I would like to use aztecOO to solve Ax=y,
> >>>>
> >>>> Epetra_LinearProblem Problem(&A,&x,&b); AztecOO Solver(Problem);
> >>>>
> >>>>but I get the following error
> >>>>(probably because of the repeating indeces in MapA):
> >>>>
> >>>>AZ_extract_comm_info: Received elements must be stored after
> >>>> all 3 local elements
> >>>>
> >>>>I then tried to copy A to B, a matrix without repeated
> >>
> >>indeces, using
> >>
> >>>>the exporter,
> >>>>
> >>>> Epetra_CrsMatrix B(Copy,MapV,MapBcol,3) Comm.Barrier();
> >>>>B.Export(A,*(A.Exporter()),Add); Comm.Barrier();
> >>>>
> >>>>mapBcol: each processor has all the column {0 1 2 3 4 5}, {0
> >>>>1 2 3 4 5} The problem here is that "off-block" values are lost:
> >>>>
> >>>>
> >>>>
> >>>>>>full(A)
> >>>>
> >>>>ans =
> >>>>
> >>>> 2 -2 0 0 0
> >>>> -1 2 -2 0 0
> >>>> 0 -1 6 -4 0
> >>>> 0 0 -2 4 -4
> >>>> 0 0 0 -2 4
> >>>>
> >>>>
> >>>>
> >>>>>>full(B)
> >>>>
> >>>>ans =
> >>>>
> >>>> 2 -2 0 0 0
> >>>> -1 2 -2 0 0
> >>>> 0 -1 6 0 0
> >>>> 0 0 0 4 -4
> >>>> 0 0 0 -2 4
> >>>>
> >>>>
> >>>>Somebody as a suggestion, please?
> >>>>Thank you
> >>>>Simone
> >>>>
> >>>>
> >>>>
> >>>>_______________________________________________
> >>>>Trilinos-Users mailing list
> >>>>Trilinos-Users at software.sandia.gov
> >>>>http://software.sandia.gov/mailman/listinfo/trilinos-users
> >>>>
> >>>
> >>>
> >>--
> >>____________________________________________________________
> _________
> >> 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
> >>____________________________________________________________
> _________
> >>
> >>
> >>
> >>
> >
> >
>
> --
> _____________________________________________________________________
> 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
> _____________________________________________________________________
>
>
>
> _______________________________________________
> 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