On Wed, Jan 21, 2015 at 1:55 PM, Chung-Kan Huang <[email protected]> wrote:
> > 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. > If the blocks truly are dense, then ILU(0) is identical on both. Matt > 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* > -- 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
