It should not be necessary to lose any of the current functionality of 
RootOf. A call will now return a complex value.
It could be replaced with a call to rootof() which would do exactly the 
same.
(Some editing would be needed in solvers, of course.)

The field of complex numbers is special because its elements can be 
identified by their position in the complex plane. Hence it is possible to 
have them labelled. This is essentially what RootOf does now.

In other fields it is practically impossible to tell different roots apart 
by some inherent property. Algebraically they all
appear equivalent (at least if the polynomial is irreducible). Hence an 
object of the RootOf class could represent any 
one of them. An algebraic field extension could be constructed by just 
adjoining a suitable object of RootOf class.
Note that this would be a new object, not one belonging to a 
pre-established domain.

(If, for some reason, it were necessary to have several roots one should 
divide the polynomial by the linear
factors  X - a, for all roots  a  found so far, and then take the RootOf of 
the remaining quotient or of a factor of it.)

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/01db05d9-689e-407c-bae3-1b369d2b753f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to