[petsc-users] Is there efficeint method for matrix with one extremely small eigen value?
Barry Smith
bsmith at mcs.anl.gov
Wed Apr 6 09:48:01 CDT 2011
On Apr 6, 2011, at 9:37 AM, Umut Tabak wrote:
> On 04/06/2011 04:32 PM, Jed Brown wrote:
>> On Wed, 6 Apr 2011 22:24:50 +0800 (CST), "Gong Ding"<gdiso at ustc.edu> wrote:
>>
>>> Hi,
>>> Can some one gives me advise on how to solve the ill conditioned problem
>>> efficiently with iterative method (since the problem size is big).
>>>
>>> I calculated the smallest eigen values as well as the largest eigen values.
>>> There exist one extremely small eigen value, which made the system ill conditioned.
>>> I guess method such as Tikhonov regularization may work?
>>> Or there are some cheaper method works, if I can endure some inaccuracy in the solution.
>>>
>>>
>>> Smallest 0 eigen value: -2.112144e-15 with error 9.452618e-14
>>>
>> Your problem has a null space of dimension 1. Determine the eigenvector associated with this eigenvalue. That is the null space, it might just be a constant. Create a MatNullSpace and use KSPSetNullSpace(). (If it is the constant, you can just use -ksp_constant_null_space.) See the section in the users manual on solving singular systems.
>>
> Just curious, are not the other negative eigenvalues problematic as well?
They are not nice that they are not necessarily the end of the world (like the functionally zero one). After removing the functionally zero eigenvalue the condition number of the matrix is around 10^7 which is very large but within the realm of solvable. With that functionally zero one the problem is simply not solvable.
Barry
>
More information about the petsc-users
mailing list