Skip to main content
12 events
when toggle format what by license comment
Feb 20, 2017 at 12:43 vote accept slvrbld
Feb 16, 2017 at 9:56 comment added Christian Clason I don't know of any; to my knowledge the convergence theory of GMRES is more complete, but it doesn't hurt to give QMR a try. The restart parameter is indeed a sensitive issue and very problem (and machine) dependent. People usually recommend to set it around $30$, but there's no real justification for that other than it seems to work often enough. I'd suggest starting with that and then playing with it until you're happy enough with the performance.
Feb 16, 2017 at 9:34 comment added slvrbld @ChristianClason gmres indeed seems to be the way to go (see my comment to Bill Greene's answer). Is there any advantage/disadvantage of using qmr instead?
Feb 16, 2017 at 9:19 history edited slvrbld CC BY-SA 3.0
Added some more information on the matrix properties.
Feb 15, 2017 at 15:08 comment added Christian Clason @slvrbld There is (to my knowledge) no convergence theory (and hence no convergence guarantee) for BiCGStab -- if it works, fine, if it doesn't, there's not much to go on. Sounds like you encountered the second case. If your matrix is not symmetric (and you can't make it so by changing the way the boundary conditions are incorporated -- which should be possible), GMRES or QMR would be the better option.
Feb 15, 2017 at 12:31 answer added Bill Greene timeline score: 4
Feb 15, 2017 at 10:22 comment added slvrbld @VorKir I have 2 particular test cases which I have successfully run with a direct solver and which I can't get to run with any iterative solver other than a (way too slow) SOR routine. Those cases are 80x50x100 (where A is sparse and real with ~2.6e6 nonzero terms) and a more recent case that also takes into account conductivity and permittivity where I have a 201x46x46 domain (where A is sparse and complex with ~2.8e6 nonzero terms). Those cases are pretty much the heaviest I can run with a direct solver.
Feb 15, 2017 at 10:12 comment added slvrbld @BillGreene like I mentioned, my knowledge on solving such systems is (at this moment) very limited. So when I was referring to use built-in iterative solvers "out-of-the-box", I literally meant running e.g. bicgstab(A,b) (whose documentation merely says The n-by-n coefficient matrix A must be square and should be large and sparse. The column vector b must have length n.) or pcg(A,b) without any preconditioning. I did try to use ichol, but there I am stuck with Encountered nonpositive pivot....
Feb 14, 2017 at 23:37 comment added VorKir For what $Nx, Ny, Nz$ do you get this error message? If you got this error for small dimensions, then it is something wrong in the calls to matlab routines. As for preconditioner, one of the choices probably can be a discrete laplacian with Dirichlet boundary conditions ignoring the structure inside the domain. For cubic domains this preconditioner can be easily implemented using discrete Fourier transform.
Feb 14, 2017 at 19:13 comment added Bill Greene You need to provide more information about how you are using the matlab iterative solvers. Are you using pcg? With or without preconditioning from, e.g. ichol?
Feb 14, 2017 at 16:01 review First posts
Feb 14, 2017 at 22:40
Feb 14, 2017 at 15:58 history asked slvrbld CC BY-SA 3.0