[Trilinos-Users] [EXTERNAL] Re: Epetra rectangular matrix

Day, David dmday at sandia.gov
Thu Apr 3 11:34:09 MDT 2014


Dear Trilinos Users,
I'd attached a simplified version of the code that, to the best of my
knowledge, works perfectly.   Thanks to everyone for the helpful feedback.
 
--David 
On 4/3/14 8:38 AM, "Heroux, Mike" <MHeroux at CSBSJU.EDU> wrote:

>David,
>
>Do you have a simple driver?  Also, what errors are you seeing?
>
>Thanks.
>
>Mike
>
>On 4/2/14 11:01 PM, "Day, David" <dmday at sandia.gov> wrote:
>
>>My dear sirs,
>>The most recent version is attached.  Thanks.  --David Day
>>On 3/31/14 2:14 PM, "Heroux, Mike" <MHeroux at CSBSJU.EDU> wrote:
>>
>>>Erik is right, you need the domain and range map passed in to
>>>FillComplete.  I can't visually see a problem with your header file, but
>>>please check all return codes to see if Epetra is complaining about
>>>something.
>>>
>>>If you have a simple driver that would use the header, please send it.
>>>Also, what is happening that indicates a problem, core dump, incorrect
>>>output?
>>>
>>>Mike
>>>
>>>On 3/31/14 2:10 PM, "Erik Boman" <egboman at sandia.gov> wrote:
>>>
>>>>Salinger, Andrew wrote:
>>>>>
>>>>> David,
>>>>>
>>>>> Here are some things I saw on a quick read-through:
>>>>>
>>>>>    1. Best to over-estimate NumNzPerRow so that it doesn't have to
>>>>>       re-allocate more memory. You may even know this number exactly
>>>>>       (using m_matching.size())
>>>>>    2. check return code on InsertGlobalValues ‹ indices must be in
>>>>>       maps or you'll later get NaNs.
>>>>>    3. I don't think FillComplete needs arguments.
>>>>>
>>>>Actually, FillComplete needs the two map arguments for rectangular
>>>>matrices, since otherwise the assumption is that
>>>>RowMap==RangeMap==DomainMap. Please note that DomainMap and ColumnMap
>>>>generally differ, especially in parallel.
>>>>
>>>>Erik
>>>>
>>>>>    1. MatrixVectorProduct should not need "matrix" argument but use
>>>>>       m_matrix
>>>>>    2. MatrixVectorProduct input and output, weird that one is
>>>>>       std::vector<double> and other double*. Pick one.
>>>>>    3. outputEpetraVector can be made a View of double* output, so you
>>>>>       don't need the final copy loop.
>>>>>
>>>>> Not sure exactly what you want ‹ hope this helps.
>>>>> Andy
>>>>>
>>>>> From: <Day>, David <dmday at sandia.gov <mailto:dmday at sandia.gov>>
>>>>> Date: Monday, March 31, 2014 10:01 AM
>>>>> To: "trilinos-users at software.sandia.gov
>>>>> <mailto:trilinos-users at software.sandia.gov>"
>>>>> <trilinos-users at software.sandia.gov
>>>>> <mailto:trilinos-users at software.sandia.gov>>
>>>>> Subject: [Trilinos-Users] Epetra rectangular matrix
>>>>>
>>>>> Dear Trilinos Developers,
>>>>> I am a customer of Trilinos.    The team that I work on is using
>>>>> Epetra to generate and apply a serial rectangular matrix.   I have
>>>>> attached a more than minimal version of the related source code (I
>>>>> left out a couple peripheral definitions).   I would appreciate it if
>>>>> a Trilinos developer could review and provide feedback on the code.
>>>>> Very best regards,
>>>>> David Day
>>>>> 
>>>>>----------------------------------------------------------------------
>>>>>-
>>>>>-
>>>>>
>>>>> _______________________________________________
>>>>> Trilinos-Users mailing list
>>>>> Trilinos-Users at software.sandia.gov
>>>>> https://software.sandia.gov/mailman/listinfo/trilinos-users
>>>>>   
>>>>
>>>>_______________________________________________
>>>>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