> On May 28, 2018, at 12:15 AM, Marius Buerkle <[email protected]> wrote:
> 
> No M is stored as MPIAIJ, as all but the A11 and A33 blocks are very sparse. 
> I want to add  A11 and A33 which are calculuted seperatly using 
> MATSOLVERELEMENTAL into the bigger matrix M and then use a sparse solver on M.

   Hmm, how big are the A11 and A33? Who calculates them separately?

   I would use MatConvert() on these two "separate" matrices as I mentioned 
before and call MatSetValues() with the resulting dense matrices to put the 
"dense" values into the sparse M matrix.


   Barry

>  
>  
> 
> 
> > On May 27, 2018, at 11:23 PM, Marius Buerkle <[email protected]> wrote:
> >
> > Thanks for the swift reply. I want to from, eventually invert, a sparse 
> > matrix of the form M=[A11 A12 A13 , A21 A22 A23 , A31 A32 A33], where A11 
> > and A33 are dense square matrices which have a (much) smaller dimension 
> > than the other (sparse) sub matrices of M. A11 and A33 are obtained from a 
> > separate calculation.
> 
> I don't understand how this relates to your elemental question?
> 
> How are you storing the M matrix? As Elemental matrix?
> 
> Barry
> 
> >
> >
> >
> >
> >
> >>
> >> Hi !
> >>
> >> Are MatGetValues / MatGetRow implemented for MATELEMENTAL?
> >
> > A quick check seems to say no.
> >
> >> Or is there another way to access the elements of an ELEMENTAL matrix?
> >
> > There is no obvious way to access the elements of an Elemental matrix 
> > except to directly access the elemental data structure (which presumably is 
> > hairy) or to MatConvert(A,MATDENSE,MAT_INITIAL_MATRIX,&Adense); and then 
> > access in the dense format (note this conversion is expensive and needs to 
> > do communication).
> >
> >
> > Why do you wish to access the values directly instead of use them 
> > indirectly with the API, such as matrix-vector products, factorizations etc?
> >
> >
> >
> > Barry
> >
> >>
> >> best,
> >> marius
> >
>  

Reply via email to