MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Mathematica 6 obtains imaginary eigenvalues for a Hermitian


Yeah, you are probably right. I guess if you teach the same boring  
undergraduate classes for too many years, you yourself become a bore...
However, since there may still be *some* people on this forum to whom  
these things are not entirely obvious, I  feel compelled (sorry) to  
observe that your original remark that the problem was caused by the  
matrix not being invertible (e.g. determinant being zero) would have  
been a reasonable guess had it been the case that  
Eigenvalues[N[matrix]] did not work as expected ...

Andrzej Kozlowski


On 7 Mar 2008, at 08:32, David Reiss wrote:

> At the expense of stating the obvious, I suspect that most readers of
> this newsgroup understand this point...
>
> -_David
>
>
> On Mar 6, 3:09 am, Andrzej Kozlowski <a... at mimuw.edu.pl> wrote:
>> Yes, since it uses quite different algorithm. Generally algorithms
>> used for numerical solution of equations or various matrix
>> computations are quite different from (and much faster than) those
>> used in the symbolic case.
>>
>> Andrzej Kozlowksi
>>
>> On 5 Mar 2008, at 09:38, David Reiss wrote:
>>
>>> Thanks....  I stand  (or sit) corrected.
>>
>>> I note that although N[Eigenvalues[matrix]] does not give correct
>>> results (with the bug that Daniel Lichtblau explains),
>>
>>> Eigenvalues[N[matrix]]
>>
>>> does indeed work as expected...
>>
>>> --David
>>
>>> On Mar 3, 4:48 am, Andrzej Kozlowski <a... at mimuw.edu.pl> wrote:
>>>> Eigenvalues or characteristic values of a  are defined (or rather,
>>>> can be defined) as the roots of the characteristic polynomial -  
>>>> and it
>>>> does not matter is the matrix is invertible or not. Indeed, for a
>>>> nilpotent matrix, such as
>>
>>>> M = {{-1, I}, {I, 1}}
>>
>>>> we have
>>
>>>> In[39]:= Eigenvalues[M]
>>>> Out[39]= {0, 0}
>>
>>>> and
>>
>>>> In[40]:= CharacteristicPolynomial[M, x]
>>>> Out[40]= x^2
>>
>>>> Moreover, the problem has nothing to do with numerical precision
>>>> because in this case the exact eigenvalues do not satisfy the
>>>> characteristic polynomial and in fact are the exact roots of a
>>>> different polynomial of the same degree (as shown in my first  
>>>> post in
>>>> this thread). Very weird.
>>
>>>> Andrzej Kozlowski
>>
>>>> On 2 Mar 2008, at 19:56, David Reiss wrote:
>>
>>>>> Note that your matrix is not invertible (its determinant is
>>>>> zero).  So
>>>>> this is the source of your problem...
>>
>>>>> Hope that this helps...
>>
>>>>> -David
>>>>> A WorkLife FrameWork
>>>>> E x t e n d i n g MATHEMATICA's Reach...
>>>>> http://scientificarts.com/worklife/
>>
>>>>> On Mar 1, 4:57 am, Sebastian Meznaric <mezna... at gmail.com> wrote:
>>>>>> I have a 14x14 Hermitian matrix, posted at the bottom of this
>>>>>> message.
>>>>>> The eigenvalues that Mathematica obtains using the
>>>>>> N[Eigenvalues[matrix]] include non-real numbers:
>>>>>> {-9.41358 + 0.88758 \[ImaginaryI], -9.41358 -
>>>>>> 0.88758 \[ImaginaryI], -7.37965 + 2.32729 \[ImaginaryI],
>>>>>> -7.37965 -
>>>>>> 2.32729 \[ImaginaryI], -4.46655 + 2.59738 \[ImaginaryI],
>>>>>> -4.46655 -
>>>>>> 2.59738 \[ImaginaryI], 4.36971, 3.21081, -2.32456 +
>>>>>> 2.10914 \[ImaginaryI], -2.32456 - 2.10914 \[ImaginaryI],
>>>>>> 2.04366+ 0.552265 \[ImaginaryI],
>>>>>> 2.04366- 0.552265 \[ImaginaryI], -0.249588 +
>>>>>> 1.29034 \[ImaginaryI], -0.249588 - 1.29034 \[ImaginaryI]}.
>>>>>> However, if you do Eigenvalues[N[matrix]] it obtains different
>>>>>> results
>>>>>> {-9.09122, -7.41855, -7.41855, -7.2915, 4.33734, -4., -4.,
>>>>>> 3.2915, \
>>>>>> -3.24612, -2.38787, -2.38787, 1.80642, 1.80642, 0}.
>>
>>>>>> These results agree with
>>>>>> Solve[CharacteristicPolynomial[matrix,x],x].
>>>>>> Therefore I assume that the latter are correct. Has anyone seen
>>>>>> this?
>>>>>> I am using 6.0.0.
>>
>>>>>> Here is the matrix:
>>>>>> {{-6, 0, -Sqrt[3], 0, 0, Sqrt[3], 0, 0, 0, 0, 0, 0, 0, 0}, {0,  
>>>>>> -6,
>>>>>> 0, -Sqrt[3], 0, 0, Sqrt[3], 0, 0, 0, 0, 0, 0, 0}, {-Sqrt[3], 0,
>>
>>>>>> -4,
>>>>>> 2 (-1/(4 Sqrt[3]) + (3 Sqrt[3])/4), 2 Sqrt[2/3], 0, 0, Sqrt[3],
>>
>>>>>> 0,
>>>>>> 0, 0, 0, 0, 0}, {0, -Sqrt[3],
>>>>>> 2 (-1/(4 Sqrt[3]) + (3 Sqrt[3])/4), -4/3, -(2 Sqrt[2])/3, 0, 0,
>>>>>> 0,
>>>>>> Sqrt[3], 0, 0, 0, 0, 0}, {0, 0, 2 Sqrt[2/3], -(2 Sqrt[2])/3,
>>>>>> 7/3, 0,
>>>>>>  0, 0, 0, Sqrt[3], 0, 0, 0, 0}, {Sqrt[3], 0, 0, 0, 0, -4, 0,
>>>>>> 2 (-1/(4 Sqrt[3]) + Sqrt[3]/4), 0, 0, 2 Sqrt[2/3], 0, 0, 0}, {0,
>>>>>> Sqrt[3], 0, 0, 0, 0, -4, 0, 2 (-1/(4 Sqrt[3]) + Sqrt[3]/4), 0, 0,
>>>>>> 2 Sqrt[2/3], 0, 0}, {0, 0, Sqrt[3], 0, 0,
>>>>>> 2 (-1/(4 Sqrt[3]) + Sqrt[3]/4), 0, -14/3,
>>>>>> 2 (-1/(4 Sqrt[3]) + (3 Sqrt[3])/4), 2 Sqrt[2/3], (2 Sqrt[2])/3,
>>
>>>>>> 0,
>>>>>> 0, 0}, {0, 0, 0, Sqrt[3], 0, 0, 2 (-1/(4 Sqrt[3]) + Sqrt[3]/4),
>>>>>> 2 (-1/(4 Sqrt[3]) + (3 Sqrt[3])/4), -2, -(2 Sqrt[2])/3, 0, (
>>>>>> 2 Sqrt[2])/3, 0, 0}, {0, 0, 0, 0, Sqrt[3], 0, 0,
>>>>>> 2 Sqrt[2/3], -(2 Sqrt[2])/3, -7/3, 0, 0,
>>>>>> 2 (1/(3 Sqrt[2]) + (2 Sqrt[2])/3), Sqrt[10/3]}, {0, 0, 0, 0, 0,
>>>>>> 2 Sqrt[2/3], 0, (2 Sqrt[2])/3, 0, 0, -16/3,
>>>>>> 2 (-1/(4 Sqrt[3]) + (3 Sqrt[3])/4), 2 Sqrt[2/3], 0}, {0, 0, 0,
>>
>>>>>> 0, 0,
>>>>>>  0, 2 Sqrt[2/3], 0, (2 Sqrt[2])/3, 0,
>>>>>> 2 (-1/(4 Sqrt[3]) + (3 Sqrt[3])/4), -8/3, -(2 Sqrt[2])/3, 0},
>>
>>>>>> {0, 0,
>>>>>>  0, 0, 0, 0, 0, 0, 0, 2 (1/(3 Sqrt[2]) + (2 Sqrt[2])/3),
>>>>>> 2 Sqrt[2/3], -(2 Sqrt[2])/3, 1/2,
>>>>>> 2 (-Sqrt[5/3]/16 - Sqrt[15]/16)}, {0, 0, 0, 0, 0, 0, 0, 0, 0,
>>
>>>>>> Sqrt[
>>>>>> 10/3], 0, 0, 2 (-Sqrt[5/3]/16 - Sqrt[15]/16), 7/2}}
>
>



  • Prev by Date: Re: Re: Apply function to parts of a list
  • Next by Date: Re: changing style of vertices for ShowGraph with Combinatorica
  • Previous by thread: Re: Mathematica 6 obtains imaginary eigenvalues for a Hermitian
  • Next by thread: Re: Re: Troubles with HarmonicNumber, empty sums, and Zeta