Question: How does Maple distinguish between roots of an irreducible polynomial?

I have an irreducible polynomial f (over the rationals) with degree n. When I ask for the roots (using solve(f=0)), Maple outputs a sequence of roots, and somehow distinguishes between them. How does it do this? I had assumed that, when working with a RootOf, Maple would just figure out it was supposed to work in Q[x]/< f >, the quotient of the polynomials with rational coefficients by the principle ideal generated by f. In this field, it doesn't matter which of the n roots of f is represented by x + < f >, since all the roots satisfy the same algebraic relations (from this field).

Given this, I'm really interested to know how Maple can somehow distinguish between the roots, enough to be able to use them to recover distinct solutions to a polynomial system (by substituting in the different roots of f). Does it somehow "choose" an embedding of Q[x]/< f > into the complex numbers?

Thanks in advance!

Please Wait...