> On Jan 14, 2019, at 7:26 AM, Matthew Knepley via petsc-users 
> <[email protected]> wrote:
> 
> On Mon, Jan 14, 2019 at 7:55 AM Yaxiong Chen <[email protected]> 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
> _____________________________
> From: Matthew Knepley <[email protected]>
> Sent: Monday, January 14, 2019 2:00 AM
> Subject: Re: [petsc-users] PETSC for singular system
> To: Yaxiong Chen <[email protected]>, PETSc <[email protected]>
> 
> 
> On Sun, Jan 13, 2019 at 6:59 PM Yaxiong Chen <[email protected]> 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?

    This is only true for unpreconditioned CG or CG with some trivial 
preconditioner; but these will converge slowly and not be practical.

     What you need to do is go back to your original formulation and construct 
a matrix that does not have the zero rows and columns; they are not needed and 
just mess up the solver big time.

    Barry

> 
> Thanks
> 
> 
> Yaxiong Chen, 
> 
> Ph.D. Student 
> 
> 
> School of Mechanical Engineering, 3171 
> 
> 585 Purdue Mall
> 
> West Lafayette, IN 47907
> 
> 
> 
> 
> 
> 
> 
> 
> From: Matthew Knepley <[email protected]>
> 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 
> <[email protected]> wrote:
> Hello, 
> 
> I am trying to use PETSC to solve a singular system like the following.
> <pastedImage.png>.
> 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)
> <pastedImage.png>
> 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/
> 
> 
> -- 
> 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/
> 
> 
> 
> 
> -- 
> 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/

Reply via email to