docs for MINRES, only for positive definite?
Barry Smith
bsmith at mcs.anl.gov
Thu Feb 28 11:35:14 CST 2008
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.
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
>
More information about the petsc-dev
mailing list