PETSc has its own binary format, which is not the same as MATLAB's.
However, PETSc includes some MATLAB/Octave scripts which will load these binary
files.
See $PETSC_DIR/share/matlab/PetscBinaryRead.m - there are some examples in the
comments at the top of that file.
Note that you will probably want to add $PETSC_DIR/share/matlab to your MATLAB
path so that you can run the script. This is what I have for Octave, but I'm
not sure if it this, precisely, works in MATLAB:
$ cat ~/.octaverc
PETSC_DIR=getenv('PETSC_DIR');
if length(PETSC_DIR)==0
PETSC_DIR='~/code/petsc'
end
addpath([PETSC_DIR,'/share/petsc/matlab'])
(As an aside, note that there are also scripts included to load PETSc binary
files to use with numpy/scipy in Python, e.g.
$PETSC_DIR/lib/petsc/bin/PetscBinaryIO.py)
> Am 29.11.2019 um 04:07 schrieb baikadi pranay <[email protected]>:
>
> Hello PETSc users,
>
> I have a sparse matrix built and I want to output the matrix for viewing in
> matlab. However i'm having difficulty outputting the matrix. I am writing my
> program in Fortran90 and I've included the following lines to output the
> matrix.
>
> call
> PetscViewerBinaryOpen(PETSC_COMM_SELF,'matrix',FILE_MODE_WRITE,view,ierr)
> call PetscViewerBinaryGetDescriptor(view,fd,ierr)
> call PetscBinaryWrite(fd,ham,1,PETSC_SCALAR,PETSC_FALSE,ierr)
>
> These lines do create a matrix but matlab says its not a binary file. Could
> you please provide me some inputs on where I'm going wrong and how to proceed
> with this problem. I can provide any further information that you might need
> to help me solve this problem.
>
>
> Thank you.
>
> Sincerely,
> Pranay.