Ticket #10679: trac_10679-quadratic_number_field_numerator.patch

File trac_10679-quadratic_number_field_numerator.patch, 1.3 KB (added by burcin, 2 years ago)
  • sage/rings/number_field/number_field_element_quadratic.pyx

    # HG changeset patch
    # User Burcin Erocal <burcin@erocal.org>
    # Date 1306347657 -7200
    # Node ID 0520390b5324147c53825e3e08caec838d6ee308
    # Parent  6c50fda0b1a7e899ed2bbfb80a8a5c352c7030c4
    trac 10679: add numerator() method to quadratic number field elements
    
    sage.rings.number_field.number_field_element_quadratic.NumberFieldElement_quadratic
    defines denominator(), but not numerator(). This causes symbolic expressions
    to be typeset wrong, since pynac expects an element class to also implement
    numerator() if denominator() is present.
    
    diff --git a/sage/rings/number_field/number_field_element_quadratic.pyx b/sage/rings/number_field/number_field_element_quadratic.pyx
    a b  
    11781178                const = lin = Rational(0) 
    11791179            return const.denominator().lcm(lin.denominator()) 
    11801180 
    1181          
     1181    def numerator(self): 
     1182        """ 
     1183        Return self*self.denominator(). 
     1184 
     1185        EXAMPLES:: 
     1186 
     1187            sage: K.<a> = NumberField(x^2+x+41) 
     1188            sage: b = (2*a+1)/6 
     1189            sage: b.denominator() 
     1190            6 
     1191            sage: b.numerator() 
     1192            2*a + 1 
     1193        """ 
     1194        return self*self.denominator() 
     1195 
    11821196    cdef bint is_rational_c(self): 
    11831197        return mpz_cmp_ui(self.b, 0) == 0 
    11841198