[petsc-users] MatDenseGetArrayF90

Smith, Barry F. bsmith at mcs.anl.gov
Fri Aug 3 13:45:51 CDT 2018



> On Aug 3, 2018, at 1:32 PM, Marius Buerkle <mbuerkle at web.de> wrote:
> 
> No I don't get the whole block, only the diagonal block of the matrix. Maybe I am doing something wrong.

   What do you mean by diagonal block? MatDenseGetArrayF90() returns the entire set of rows owned by that process (and all the columns). It does not return the entire matrix across all processes; each process gets its part of the matrix.

   Barry

It is simply not possible for it to be returning only the "diagonal block" portion of the matrix (to use the PETSc terminology diagonal block) because dense matrices with PETSc do not store a separate diagonal block they just store one the entire local part of the matrix in a single array.

> 
>> 
>> Marius Buerkle <mbuerkle at web.de> writes:
>> 
>>> Hi
>>> 
>>> When using MatDenseGetArrayF90 only the diaognal part of the matrix is
>>> returned. Is it possible to get the whole matrix?
>> 
>> You should get the entire block row (local size m by global size N).
>> 



More information about the petsc-users mailing list