Revision history [back]

comparing sets of roots of charpoly

I am missing something about how to compare list of roots. During a small algorithm I need to know wether a matrix has or not complex eigenvalues. I did the following

A=matrix(QQ,[[1,2,1],[6,-1,0],[-1,-2,-1]])
a=(B.charpoly()).roots(ring= QQ, multiplicities=False)
b=(B.charpoly()).roots(ring= QQbar, multiplicities=False)

then a is the list [-4,0,3] and b is the list [3,0,-4]. I don't get the following :

set(a)==set(b)

return false while

set([-4,0,3])==set([3,0,-4])

return true.

Any help, either on the first pb (knowing that a QQ matrix has complex eigenvalues) or on the second would be greatly appreciated. Cheers.

 2 retagged tmonteil 20703 ●25 ●146 ●382 http://wiki.sagemath.o...

comparing sets of roots of charpoly

I am missing something about how to compare list of roots. During a small algorithm I need to know wether a matrix has or not complex eigenvalues. I did the following

A=matrix(QQ,[[1,2,1],[6,-1,0],[-1,-2,-1]])
a=(B.charpoly()).roots(ring= QQ, multiplicities=False)
b=(B.charpoly()).roots(ring= QQbar, multiplicities=False)

then a is the list [-4,0,3] and b is the list [3,0,-4]. I don't get the following :

set(a)==set(b)

return false while

set([-4,0,3])==set([3,0,-4])

return true.

Any help, either on the first pb (knowing that a QQ matrix has complex eigenvalues) or on the second would be greatly appreciated. Cheers.