Could you tell us exactly what matrix matrix products you are doing? Barry
> On Jan 30, 2018, at 6:53 PM, Marius Buerkle <[email protected]> wrote: > > Barry, > > Thanks for you reply. The pulled matrix is symmetric but that's it. At the > moment I am doing a copy of the matrix right after MatCreateSubMatrix to keep > it's nonzero structure. To insert the matrix which I obtained after the > multiplications back into the bigger matrix I use the initially copied Matrix > to get the nonzero elements with MatGetRow and as I know the offset of the > SubMatrix relative to the elements of the big-one I can use MatSetValues to > insert the elements row by row. That kinda works but it is rather > inefficient. Is there anyway to avoid copying the whole submatrix in the > beginning, as I don't need the actual values but only the positions of the > nonzero elements in one way or the other. > > Marius > > > >> Marius, >> >> We don't provide a way to insert a "generic" sparse matrix into a bigger >> matrices (dense matrices coming from element stiffness matrices yes) so I >> don't see any simple solution. >Does the submatrix you pull out have any >> particular structure, what does it represent? >> >> Barry > > >>> >>> Hi ! >>> >>> I have the followng problem. I create a Submatrix containing a subset of >>> row/columns of the original matrix. After some matrix multiplications the >>> non-zero strucutre of the resulting matrix changed. Now I want to insert >>> this submatix back into the original one keeping only the non-zero entries >>> which are present in the original matrix discarding the others which >>> accumulated due to the matrix multiplications. Is there an easy or also not >>> so easy way to do this ? >>> >>> Best, >>> Marius >
