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.
