[petsc-users] PETSC for singular system

Matthew Knepley knepley at gmail.com
Mon Jan 14 07:26:16 CST 2019


On Mon, Jan 14, 2019 at 7:55 AM Yaxiong Chen <chen2018 at purdue.edu> wrote:

> So must I  figure out the index of the zero columns and row to get the
> null space first, And then I remove it to generator Cholesky or LU
> preconditionor?Is this case, should the nontrivial null space be (1,0,0,0)?
>

No

1) If you have a consistent rhs, then CG works as is. However, you should
put it in in case your preconditioner introduces nullspace components.

2) Factorization will NEVER work on singular systems, unless you use SVD,
which is only for very small systems.

  Thanks,

    Matt


> Thanks
> Get Outlook for iOS <https://aka.ms/o0ukef>
> _____________________________
> From: Matthew Knepley <knepley at gmail.com>
> Sent: Monday, January 14, 2019 2:00 AM
> Subject: Re: [petsc-users] PETSC for singular system
> To: Yaxiong Chen <chen2018 at purdue.edu>, PETSc <petsc-maint at mcs.anl.gov>
>
>
> On Sun, Jan 13, 2019 at 6:59 PM Yaxiong Chen <chen2018 at purdue.edu> wrote:
>
>> Hello Matthew,
>>
>>
>> Does this mean in PETSC , CG is not suitable for semi positive definite
>> system?
>>
>
> No, it means factorization is not. CG is fine.
>
>   Matt
>
>
>>  My  system is equivalent to a SPD system with arbitrary extra rows and
>> columns of zeros. I expect the same iteration process will lead to xT=(0,1,1,1)
>> with initial guess 0, since the rows of 0 will not influence the
>> corresponding solution. Is this possible to be realized with CG in PETSC?
>>
>>
>> Thanks
>>
>>
>> Yaxiong Chen,
>>
>> Ph.D. Student
>>
>> School of Mechanical Engineering, 3171
>>
>> 585 Purdue Mall
>>
>> West Lafayette, IN 47907
>>
>>
>>
>>
>>
>> ------------------------------
>> *From:* Matthew Knepley <knepley at gmail.com>
>> *Sent:* Friday, January 11, 2019 2:30 PM
>> *To:* Yaxiong Chen
>> *Cc:* PETSc
>> *Subject:* Re: [petsc-users] PETSC for singular system
>>
>> On Fri, Jan 11, 2019 at 10:04 AM Yaxiong Chen via petsc-users <
>> petsc-users at mcs.anl.gov> wrote:
>>
>> Hello,
>>
>>
>> I am trying to use PETSC to solve a singular system like the following.
>>
>> .
>>
>> This equals inserting rows and columns at arbitrary place(Actually I
>> even don't know whether it is singular or not. Sometimes some degree of
>> freedom x_i may not participate in the global matrix)
>>
>>
>> I searched some discussion online and tried to remove the nullspace with
>> the following code:
>>
>>      call KSPCreate(PETSC_COMM_WORLD,ksp,ierr)
>>      call KSPSetOperators(ksp,Amat,Amat,ierr)
>>      call KSPSetFromOptions(ksp,ierr)
>>      call KSPSetType(ksp, KSPCG,ierr)
>>      call MatNullSpaceCreate( PETSC_COMM_WORLD, PETSC_TRUE, 0, dummyVecs,
>> nullspace, ierr)
>>      call MatSetNullSpace(Amat,nullspace,ierr)
>>      call MatNullSpaceDestroy(nullspace,ierr)
>>      call KSPSolve(ksp,bvec,xvec,ierr)
>>
>> But it still gives me some error saying Zero pivot in LU factorization.
>> I am just wondering how MatSetNullSpace() can handle this?
>>
>>
>> If you give the nullspace, the Kryloc method will work. However, you
>> still cannot use factorization. So
>>
>> 1) -ksp_type gmres -pc_type jacobi will solve your system
>>
>> 2) -ksp_type gmres -pc_type svd will solve your system
>>
>> Saying anything more general than that is really not possible.
>>
>>   Thanks,
>>
>>     Matt
>>
>>
>> Thanks
>>
>> Yaxiong Chen,
>>
>> School of Mechanical Engineering, 3171
>>
>> 585 Purdue Mall
>>
>> West Lafayette, IN 47907
>>
>>
>>
>>
>>
>> --
>> 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/>
>
>
>

-- 
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/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190114/f2ffcee9/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 2573 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190114/f2ffcee9/attachment.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 3538 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20190114/f2ffcee9/attachment-0001.png>


More information about the petsc-users mailing list