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
>  

Reply via email to