My experience is that UMFPACK sometimes gives results also for singular matrices.
If the matrix comes from a Navier-Stokes system, the blocks A11 and A12 must fulfill an LBB-condition: for example velocity (A11) quadratic, pressure (A12) linear. The boundary conditions for the velocity should give a A11 invertible and for the pressure you have to filter away a constant. Which is the system of equations that you want to solve? Regards Thomas On Mon, 24 Nov 2008, Martin Kronbichler wrote: > Dear Isabel, > > > I am trying to solve a matricial system Ax=b, where > > A=|A11 A12| > > |A21 0| > > > > with four different solvers: > > > > - SparseDirectUMFPACK > > - GMRES + Precondition_Identity() as preconditioner > > - GMRES + SparseILU<double> ilu as preconditioner > > - GMRES + Vanka preconditioner as preconditioner > > > > The only one that seems to get good results is the first one, i.e., the > > direct one. I decided to use the other ones because in the future this > > system will have a huge quantity of nodes, so direct solver won't be > > feasible. > > > > GMRES with SparseILU as preconditioner has a Starting Value of 946,719 > > GMRES with Vanka as preconditioner has a Staring Value of 2.99566E+12 > > In those cases, the solver breaks down in the first iteration. > > > > GMRES with Precondition_Identity as preconditioner has a Starting Value > > of 0.0129254 (i.e. the same as doing "by hand", norm L2 of(b-Ax)). In > > this case, the solver solves the first iteration but it breaks down just > > in the second one. > > Since the direct solver does not break down, the matrix system seems to > be solvable (i.e., there seems to be one unique solution, otherwise > UMFPACK would complain/fail). In such a case, GMRES with > Precondition_Identity() should actually work fine as well (even though > it might need lots of iterations). The only reason that makes GMRES fail > is when some matrix inner product y^T A x gets zero, which means that > the matrix is actually not solvable (but singular). > > Are you sure that your matrix is non-singular (maybe you were just lucky > to get UMFPACK running)? Where does the matrix come from (I guess some > Stokes or Navier-Stokes system) and what were the boundary conditions? > > Best regards, > Martin > > > _______________________________________________ > _______________________________________________
