On Wed, Jan 21, 2015 at 1:44 PM, Matthew Knepley <[email protected]> wrote:

> On Wed, Jan 21, 2015 at 1:40 PM, Chung-Kan Huang <[email protected]>
> wrote:
>
>> Then A & AB are not longer the same matrix.  They become complete two
>> individuals aren't they?
>> If I do whatever to AB after AB is created the A is still the same old A
>> and not going to be affected by the operations I do to AB.
>>
>
> Yes.
>
>
>>
>> What I am really looking for is a way to create two interfaces (one as
>> AIJ and one as BAIJ) but they both refer to the same matrix.
>>
>
> Why would you ever want this? Why not just using BAIJ?
>
As I mentioned in the beginning.  There are parts of the code gets benifit
when AIJ is used and the other part gets benifit  if BAIJ is used.

For instance,

I'd like to use MatSetValuesBlocked but I also want to use ilu constructed
by AIJ instead of BAIJ (our experience found ilu from BAIJ behaves funny
sometimes.

Thanks,

Kan

>
>   Thanks,
>
>       Matt
>
>
>> Thanks,
>>
>> Kan
>> On Wed, Jan 21, 2015 at 1:20 PM, Matthew Knepley <[email protected]>
>> wrote:
>>
>>> On Wed, Jan 21, 2015 at 12:56 PM, Chung-Kan Huang <[email protected]>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> So if I do
>>>>
>>>> Mat A, AB;
>>>> MatCreateAIJ(comm,m,n,M,N,d_nz, d_nnz,o_nz, o_nnz, &A);
>>>> MatConvert(A, MATBAIJ, MAT_INITAL_MATRIX, &AB);
>>>> MatSetBlockSize(AB, bs)
>>>> I can create AB as a BAIJ with block size of bs from A which is a AIJ
>>>> matrix.
>>>>
>>>> So from this point I can use both A and AB and they will mean the same
>>>> matrix. Am I right?
>>>>
>>>
>>> Yes
>>>
>>>
>>>> At the end of the program do I only destory one of them or both?
>>>>
>>>
>>> Both
>>>
>>>
>>>> Do I need to worry about anything in terms of memory penalty?
>>>>
>>>
>>> It is twice the memory. Its another matrix.
>>>
>>> Did you catch when Jed said you could jsut create the BAIJ up front?
>>>
>>>   Thanks,
>>>
>>>     Matt
>>>
>>>
>>>>
>>>> Thanks,
>>>>
>>>> Kan
>>>>
>>>>
>>>> On Tue, Jan 20, 2015 at 4:39 PM, Barry Smith <[email protected]>
>>>> wrote:
>>>>
>>>>>
>>>>>   You can do a MatConvert() (requires another copy of the matrix) for
>>>>> the parts that benefit from BAIJ.
>>>>>
>>>>>   Barry
>>>>>
>>>>> > On Jan 20, 2015, at 4:33 PM, Chung-Kan Huang <[email protected]>
>>>>> wrote:
>>>>> >
>>>>> > Hi,
>>>>> >
>>>>> > Does PETSc provide means for conversion between AIJ & BAIJ.
>>>>> >
>>>>> > My matrix is created as AIJ because it makes life easy for most part
>>>>> of the applications but some part of applications actually get some
>>>>> benefits with BAIJ.  So I wonder if a matrix can exist as two idenfities
>>>>> and I can use either format depend on which one is more convenient at run
>>>>> time.
>>>>> >
>>>>> > So in my case the block size is fixed and identical for all blocks.
>>>>> >
>>>>> >
>>>>> > Thanks,
>>>>> >
>>>>> >
>>>>> > Kan
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> *Cheers*
>>>>
>>>
>>>
>>>
>>> --
>>> What most experimenters take for granted before they begin their
>>> experiments is infinitely more interesting than any results to which their
>>> experiments lead.
>>> -- Norbert Wiener
>>>
>>
>>
>>
>> --
>>
>> *Cheers*
>>
>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>



-- 

*Cheers*

Reply via email to