[petsc-users] Question about rank of matrix

Barry Smith bsmith at petsc.dev
Fri Feb 17 11:52:39 CST 2023

> On Feb 17, 2023, at 2:43 AM, user_gong Kim <ksi2443 at gmail.com> wrote:
> Hello,
> I have a question about rank of matrix.
> At the problem 
> Au = b, 
> In my case, sometimes global matrix A is not full rank.
> In this case, the global matrix A is more likely to be singular, and if it becomes singular, the problem cannot be solved even in the case of the direct solver.
> I haven't solved the problem with an iterative solver yet, but I would like to ask someone who has experienced this kind of problem.
> 1. If it is not full rank, is there a numerical technique to solve it by catching rows and columns with empty ranks in advance?

   Matrices with completely empty (zero) rows and their corresponding columns are a simple type of singularity (so long as the corresponding right hand side values are zero) that are not difficult to solve.

   Essentially iterative solvers never "see" the empty rows and columns and successfully solve the linear systems. 

   You can also use PCREDISTRIBUTE (even on one MPI rank) in the main git branch of PETSc to automatically extract the nontrivial rows and columns from the matrix and solve that smaller system with any solver including direct solvers.

> 2.If anyone has solved it in a different way than the above numerical analysis method, please tell me your experience.
> Thanks,
> Hyung Kim

More information about the petsc-users mailing list