# Getting exact answers when using eigenvectors_right()

I am trying to compute complex eigenvectors for a matrix that has two distinct complex eigenvalues. Is there a way to get the exact coefficients?

For example: A=matrix(QQ,2,2,[3, -13, 5,1]) A.eigenvectors_right()

Gives me:
[(2 + 8*I,
[
(1, 0.07692307692307692? - 0.6153846153846154?*I)
],
1),
(2 - 8*I,
[
(1, 0.07692307692307692? + 0.6153846153846154?*I)
],
1)]

Is there any way to make it give me integer or rational Re and Im for the eigenvectors?

Thank you!

These numbers (with a final ?) are algebraic numbers. They are exact, but cannot be displayed entirely because they have an infinite decimal expansion. You can use

`parent(z)`

to understand what a number`z`

lives in.To compliment @FrédéricC's answer (who should turn his comment into an answer), you may try to retrieve (a) radical expression of (some) of these algebraic numbers with the

`.radical_expression`

method. For example :Of course, some algebraic numbers can be perfectly defined, printable to any desired precision, and have no radical ecpression ; for exemple, roots of polynomials of degree greater than 4 have, in general, no radical expression (Abel

dixit, see Galois for explanations...).