docs for MINRES, only for positive definite?
Matthew Knepley
knepley at gmail.com
Thu Feb 28 11:44:38 CST 2008
On Thu, Feb 28, 2008 at 11:35 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> symmetry has nothing to do with it. Yes the matrix and
> preconditioner must be
> symmetric. The point is that the preconditioner has to also be
> positive definite.
> Because B is used in the algorithm to define a norm.
I disagree. Here is a weaker condition:
1) A is symmetric indefinite and so is B
2) BA is also symmetric
Since A and B are full rank, so is BA. Thus BA is symmetric indefinite
and MINRES will work.
My comment was that if B is SPD, then BA is equivalent to B^1/2 A
B^1/2 and thus symmetric.
Matt
> Barry
>
>
>
> On Feb 28, 2008, at 11:28 AM, Matthew Knepley wrote:
>
> > On Thu, Feb 28, 2008 at 11:25 AM, Lisandro Dalcin
> > <dalcinl at gmail.com> wrote:
> >> Good point, the current code seems to require that...
> >
> > Its not the code, its the algorithm. It requires symmetry.
> >
> > Matt
> >
> >> ierr = KSP_PCApply(ksp,R,Z);CHKERRQ(ierr); /* z <- B*r */
> >> ierr = VecDot(R,Z,&dp);CHKERRQ(ierr);
> >> /*...*/
> >> if (dp < 0.0) {
> >> ksp->reason = KSP_DIVERGED_INDEFINITE_PC;
> >> PetscFunctionReturn(0);
> >> }
> >>
> >> Indeed, the following (simple minded, diagonal matrix) test fails
> >> with
> >> -pc_type jacobi, but success with -pc_type none
> >>
> >> import sys, petsc4py
> >> petsc4py.init(sys.argv)
> >> from petsc4py import PETSc
> >> import numpy as N
> >> A = PETSc.Mat().createAIJ([10,10])
> >> for i in range(0,5):
> >> A[i,i] = -(i + 1)
> >> for i in range(5,10):
> >> A[i,i] = +(i + 1)
> >> A.assemble()
> >> A.view()
> >> x, b= A.getVecs()
> >> b.set(1)
> >> ksp = PETSc.KSP().create()
> >> ksp.type = 'minres'
> >> ksp.setOperators(A)
> >> ksp.setFromOptions()
> >> ksp.solve(b,x)
> >>
> >>
> >>
> >>
> >> On 2/28/08, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >>>
> >>> But does it require a positive definite preconditioner?
> >>>
> >>>
> >>
> >>
> >>> Barry
> >>>
> >>>
> >>> On Feb 28, 2008, at 9:32 AM, Matthew Knepley wrote:
> >>>
> >>>> Docs are wrong.
> >>>>
> >>>> Matt
> >>>>
> >>>> 2008/2/28 Lisandro Dalcin <dalcinl at gmail.com>:
> >>>>> I've noticed that the docs for MINRES say that the operator and
> >>>>> the
> >>>>> preconditioner must be POSITIVE DEFINITE. But I understand
> >>>>> MINRES is
> >>>>> tailored for the symmetric/hermitian-indefinite case.
> >>>>>
> >>>>> Are the docs wrong? Or the actual code is a (very peculiar) MINRES
> >>>>> variant?
> >>>>>
> >>>>>
> >>>>> --
> >>>>> Lisandro Dalcín
> >>>>> ---------------
> >>>>> Centro Internacional de Métodos Computacionales en Ingeniería
> >>>>> (CIMEC)
> >>>>> Instituto de Desarrollo Tecnológico para la Industria Química
> >>>>> (INTEC)
> >>>>> Consejo Nacional de Investigaciones Científicas y Técnicas
> >>>>> (CONICET)
> >>>>> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> >>>>> Tel/Fax: +54-(0)342-451.1594
> >>>>>
> >>>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> 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
> >>>>
> >>>
> >>>
> >>
> >>
> >> --
> >> Lisandro Dalcín
> >> ---------------
> >> Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC)
> >> Instituto de Desarrollo Tecnológico para la Industria Química (INTEC)
> >> Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
> >> PTLC - Güemes 3450, (3000) Santa Fe, Argentina
> >> Tel/Fax: +54-(0)342-451.1594
> >>
> >>
> >
> >
> >
> > --
> > 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
> >
>
>
--
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
More information about the petsc-dev
mailing list