On May 11, 2021, at 3:08 PM, Frederico Teixeira <[email protected]> wrote:
Hi Pierre,
Thanks for your tip. I don't have access to MATLAB. Would Octave also work? Or Python?
Yes, they should both be fine. All you need to is split the matrix into the 2 matrices in Octave or Python and then save both of them with the PETSc real format configure. Barry
Regards, Frederico.
Dr. Frederico Teixeira Computational Modeler and Software Developer, ZMT <http://www.itis.swiss/> (member of Zurich43 <https://www.z43.swiss/>)
P +41 44 245 9698 Zeughausstrasse 43, 8004 Zurich, Switzerland
From: "Pierre Jolivet" <[email protected]> To: "Frederico Teixeira" <[email protected]> Cc: "petsc-users" <[email protected]> Sent: Tuesday, May 11, 2021 6:03:20 PM Subject: Re: [petsc-users] Binary format in real vs. complex scalar type configurations
Hello Frederico, I’m not sure that’s possible. Here is what I do, it makes me sick, but mixing precisions/scalar types with PETSc is difficult (crossing my fingers this will be better with future). In MATLAB (after putting petsc/share/petsc/matlab in the path): A = PetscBinaryRead('your_binary_mat_with_re+im.dat','complex',true); % scalar-type=complex PetscBinaryWrite('re.dat',real(A)); % scalar-type=real PetscBinaryWrite('im.dat',imag(A)); % scalar-type=real
Thanks, Pierre
On 11 May 2021, at 3:30 PM, Frederico Teixeira <[email protected] <mailto:[email protected]>> wrote:
Dear fellows,
I hope this message finds you safe and well.
I have a complex-valued matrix and its real/imaginary components in binary format. They were extracted from a solver that only works with "scalar-type=complex" configuration. I am getting weird results when I load them into a small test program that's configured with "scalar-type=real", but I believe this is expected. At the end of the day, I would like to have both real and imaginary components as real-valued matrices. Is it possible to do it? I want to test preconditioners that are tailored for this sort of problem.
Regards, Frederico.