[petsc-users] The condition number of the ill-conditioned matrix

Barry Smith bsmith at mcs.anl.gov
Mon Aug 20 08:10:08 CDT 2012

   I think it is even simpler than this.   Let   your coupled matrix look like 

      (    A    C12    )
      (   C21  B       )

   and the uncoupled be

      (    A       0   )
      (    0       B   )

      Now solving the uncoupled with GMRES, CG etc is actually solving at the same time two independent systems and the relative size of the 
eigenvalues of A and B don't really matter. 

     Jed is right that the first thing you need to do is 

> 1. non-dimensionalize: scale your model to use some representative units so that the solution and residual are well-scaled

you want the A part and the B part in the Jacobian and function evaluations to have similar scales of values.

BTW: the FAQ has one sentence "Change the units (nondimensionalization), boundary condition scaling, or formulation so that the Jacobian is better conditioned." 
How about putting some references there and some good examples on how to do this? What this means? This is hard shit and we dismiss it in one sentence like a kindergartener can do it.


On Aug 20, 2012, at 7:39 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Mon, Aug 20, 2012 at 7:07 AM, w_ang_temp <w_ang_temp at 163.com> wrote:
> Hello,
>     I have a problem about the ill-conditioned matrix. I deal with the soil-water coupled problem in
> geotechnical engineering. It can be demonstrated that the stiffness matrix of soil-water coupled problem is
> ill-conditioned due to the coupled effects of large relative differences in stiffnesses and permeabilities
> of materials. But it should not be ill-conditioned for soil-water uncoupled problem, although there is no derivation
> in papers.
>     In my three models, the condition numbers are 3.5595E+05, 1.8849E+06, 9.0206E+07 for soil-water
> coupled models and 5.2885E+04, 3.3826 E+05, 3.4565E+05 for soil-water uncoupled ones, respectively.
> Therefore, in my opinion, the uncoupled models are also ill-conditioned due to the large condition
> numbers.
>     However, when using GMRES, CG and CGS, the three models of uncoupled ones show rapid convergent rate 
> while coupled models have bad convergence performance.
> This indicates that the spectrum of the simpler model has a small number of outliers. It could be as simple as boundary condition scaling or it could be more meaningful. The coupled model does not have that nice property, so convergence is slower. You should start with:
> 1. non-dimensionalize: scale your model to use some representative units so that the solution and residual are well-scaled
> 2. find an effective preconditioner. PCFIELDSPLIT might work well, but you have to understand methods to know how to drive it. Look at the examples and read through the literature in your field to find something you want to implement, then ask here if you need suggestions for how to implement. (It can often be done using only command line options.)

More information about the petsc-users mailing list