Gong Ding,
When you use a LU solver, the preconditioner M = inv(LU) = inv (J) on theory. I 
suspect your jacobian evaluation by 64bit might be inaccurate. What LU solver 
did you use? Run your code with option '-snes_view -snes_monitor -ksp_monitor' 
and compare the displays.
Hong
________________________________
From: petsc-users <petsc-users-boun...@mcs.anl.gov> on behalf of Mark Adams 
<mfad...@lbl.gov>
Sent: Thursday, September 14, 2023 5:35 AM
To: Gong Ding <gongd...@cn.cogenda.com>
Cc: petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov>
Subject: Re: [petsc-users] Is precondition works for ill-conditioned jacobian 
matrix

I would first verify that you are happy with the solution that works.

Next, I would worry about losing accuracy in computing M*J, but you could try 
it and search for any related work. There may be some tricks.

And MUMPS is good at high accuracy, you might try that and if it fails look at 
the MUMPS docs for any flags for high-accuracy.

Good luck,
Mark

On Thu, Sep 14, 2023 at 5:35 AM Gong Ding 
<gongd...@cn.cogenda.com<mailto:gongd...@cn.cogenda.com>> wrote:
Hi all

I find such a nonlinear problem, the jacobian matrix is ill conditioned.

Solve the jacobian matrix by 64bit LU  solver, the Newton method failed
to convergence.

However, when solve the jacobian matrix by 128bit LU solver , Newton
iteration will convergence.

I think this phenomena indicate that , the jacobian matrix is ill
conditioned.


The question is, if I do a precondition as M*J*dx = -M*f(x), here M is
the precondition matrix, . then I solve the matrix A=M*J by a LU solver.

Can I expect that solve A=M*J has a better precision result that help
the convergence of Newton iteration?

Gong Ding




Reply via email to