[petsc-users] MatOrdering for rectangular matrix

Marcel Huysegoms m.huysegoms at fz-juelich.de
Thu Oct 22 03:24:34 CDT 2020


Hi all,

I'm currently implementing a Gauss-Newton approach for minimizing a
non-linear cost function using PETSc4py.
The (rectangular) linear systems I am trying to solve have dimensions of
about (5N, N), where N is in the range of several hundred millions.

Due to its size and because it's an over-determined system, I use LSQR
in conjunction with a preconditioner (which operates on A^T x A, e.g.
BJacobi).
Depending on the ordering of the unknowns the algorithm only converges
for special cases. When I use a direct LR solver (as preconditioner) it
consistently converges, but consumes too much memory. I have read in the
manual that the LR solver internally also applies a matrix reordering
beforehand.

My question would be:
How can I improve the ordering of the unknowns for a rectangular matrix
(in order to converge also with iterative preconditioners)? If I use
MatGetOrdering(), it only works for square matrices. Is there a way to
achieve this from within PETSc4py?
ParMETIS seems to be a promising framework for that task. Is it possible
to apply its reordering algorithm to a rectangular PETSc-matrix?

I would be thankful for every bit of advice that might help.

Best regards,
Marcel


------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------



More information about the petsc-users mailing list