In the process of investigating how rings are defined in sage I've found some inconsistencies: the function multiplicative_order is not consistently defined for all rings.
Applying this function to a rational integer which is not a unit raises an exception: sage: a=ZZ(3) sage: a.multiplicative_order() --------------------------------------------------------------------------- <type 'exceptions.ArithmeticError'> Traceback (most recent call last) /hdc1/pablo.hdc1/sage/sage/<ipython console> in <module>() /hdc1/pablo.hdc1/sage/sage/integer.pyx in integer.Integer.multiplicative_order() <type 'exceptions.ArithmeticError'>: no power of 3 is a unit (and so does for example the ring ComplexDouble) However, for complex numbers, things are different: (gives +infinity) b= 2+3*I sage: type(b) <type 'sage.rings.complex_number.ComplexNumber'> sage: b.multiplicative_order() +Infinity Which should be the correct behaviour? (I like more the one that answers +infinity) Another problem that i've found is that calling ComplexNumber (for example by) ComplexNumber(2,3) causes a segmentation fault. (using sage-2.4.1.2) Pablo --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---
