Forcing real eigenvalues with 'eigs'?

David Bateman dbateman at dbateman.org
Thu Jan 22 15:37:37 CST 2009


Søren Hauberg wrote:
> tor, 22 01 2009 kl. 14:19 +0100, skrev Jaroslav Hajek:
>   
>> On Thu, Jan 22, 2009 at 1:39 PM, Søren Hauberg <soren at hauberg.org> wrote:
>>     
>>> tor, 22 01 2009 kl. 13:35 +0100, skrev Francesco Potortì:
>>>       
>>>>> Is it possible to force 'eigs' to produce real eigenvalues? I'm
>>>>> computing eigenvalues of a real symmetric matrix, but I'm still getting
>>>>> complex eigenvalues (numerical issues I guess), so it would be nice if I
>>>>> could force them into being real.
>>>>>           
>>>> Have you looked at the numbers?  If the imaginary part is very small
>>>> compared to the real one, you can just discard it using real().  If not,
>>>> you may have stability problems.
>>>>         
>>> Yeah, I can just discard them using real (they are indeed quite small).
>>> It just seems to me that it would be better if I could constraint 'eigs'
>>> to working only with real values.
>>>
>>>       
>> I think this is a bug - eigs should discover a symmetric case.
>>     
>
> If I understand the documentation correctly it should even be possible
> to force the problem to be treated as symmetric by passing
>
>   struct ("issym", true)
>
> as an option. This, however, still produced complex results.
>
> Søren
>   
Is the matrix real or complex.. If the matrix is complex, as the code 
stands the symmetry is ignored..

D.

-- 
David Bateman                                dbateman at dbateman.org
35 rue Gambetta                              +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE            +33 6 72 01 06 33 (Mob)



More information about the Help-octave mailing list