> 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/
Re: [petsc-users] PETSC for singular system
Smith, Barry F. via petsc-users Mon, 14 Jan 2019 11:15:15 -0800
- [petsc-users] PETSC for singular system Yaxiong Chen via petsc-users
- Re: [petsc-users] PETSC for singular ... Matthew Knepley via petsc-users
- Re: [petsc-users] PETSC for singu... Smith, Barry F. via petsc-users
- Re: [petsc-users] Integrate PETSC wit... Yaxiong Chen via petsc-users
- Re: [petsc-users] Integrate PETSC... Matthew Knepley via petsc-users
- Re: [petsc-users] Integrate P... Yaxiong Chen via petsc-users
- [petsc-users] Fw: Integra... Yaxiong Chen via petsc-users
- Re: [petsc-users] In... Yaxiong Chen via petsc-users
