On Tue, Oct 3, 2023 at 3:05 PM Gong Ding <[email protected]> wrote:
> On 2023/10/4 02:47, Matthew Knepley wrote: > > On Tue, Oct 3, 2023 at 1:51 PM Gong Ding <[email protected]> wrote: > >> Hi all, >> >> I'd like to do a special jacobian precondition during the snes >> iteration, for which jacobian matrix and RHS vector must be modified >> explicitly. >> >> In the SNESComputeJacobian, the preconditioner P is built after assembly >> of jacobian matrix. >> >> I need to multiply P to J and RHS vector explicitly as left precondition >> before the solve stage of J*dx = rhs. >> >> What you are proposing is exactly what PETSc does with left > preconditioning, multiplies both sides by the preconditioner. What do you > want to change? > > I'd like to multiply precondition matrix into jacobian matrix, and do LU > factorization to jacobian matrix. not with iterative method. Something like > > Kelley, C. T. "Newton's Method in Three Precisions." *arXiv preprint > arXiv:2307.16051* (2023). > > BTW: does petsc have the plan to support multi-precision? > 1. Tim is just solving the Newton equation with LU. You can do this using -pc_type lu 2. We do not support this kind of multi-precision. We had a plan to do this, but no one to work on it. It does not seem to be a priority of users so far. Thanks, Matt > Thanks, > > Matt > >> However, I find that petsc evaluates function before jacobian, so P*RHS >> vector can not be processed at SNESComputeFunction. >> >> As a result, I must find a hook function after SNESComputeJacobian and >> before the solve stage. >> >> Any suggest? >> >> Gong Ding >> >> > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener > > https://www.cse.buffalo.edu/~knepley/ > <http://www.cse.buffalo.edu/~knepley/> > > -- What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead. -- Norbert Wiener https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>
