Debao :
>
> I'm using PETSC iterative solver(PCILU & KSPGMRES) in OOQP, but when the to 
> be solved matrix is ill-posed, say condition number ~ 1e+4, then, KSPGMRES 
> will exceed its maximal iteration number(default as 10000), while when I 
> checked the same data with cholmod direct solver, it can solve the problem 
> and return an answer correctly.
>
> Does it mean the iterative solver(like GMRES) relies more on the well-pose 
> matrix than cholmod direct solver?
Yes. Iterative solvers takes advantage of sparse matrix storage and
are able to solve very large systems.
However, its efficiency depends on the well-pose/conditioning of matrices.
Direct solver is robust, but requires matrix factorization - require
large memory storage and operations.
It is used for the cases that iterative solver fails.

> How can I improve the case to avoid KSPGMRES fail case?
Yes, you need use preconditioner. Run your code with '-help' to check
available pc.
Experimenting various preconditoners. Your condition number 1.e+4 is
not bad. Preconditioning should work.

Hong
>
> Your answer is appreciated.
>
> Thanks,
> Debao
>
> -- The information contained in this communication and any attachments is 
> confidential and may be privileged, and is for the sole use of the intended 
> recipient(s). Any unauthorized review, use, disclosure or distribution is 
> prohibited. Unless explicitly stated otherwise in the body of this 
> communication or the attachment thereto (if any), the information is provided 
> on an AS-IS basis without any express or implied warranties or liabilities. 
> To the extent you are relying on this information, you are doing so at your 
> own risk. If you are not the intended recipient, please notify the sender 
> immediately by replying to this message and destroy all copies of this 
> message and any attachments. ASML is neither liable for the proper and 
> complete transmission of the information contained in this communication, nor 
> for any delay in its receipt.
>

Reply via email to