#5842: [with patch, with review (preliminary), needs work] Various number field
improvements
---------------------------+------------------------------------------------
 Reporter:  fwclarke       |       Owner:  was       
     Type:  enhancement    |      Status:  new       
 Priority:  major          |   Milestone:  sage-3.4.2
Component:  number theory  |    Keywords:            
---------------------------+------------------------------------------------

Comment(by cremona):

 Partial review:  this all looks fantastically useful.  I have only skimmed
 the patch so far, and checked that it applies cleanly to 3.4.1.rc4.  But
 there are some test failures in sage/rings/number_fields (on a 64-bit
 machine):
 {{{
 j...@host-57-44%sage -t devel/sage-5842/sage/rings/number_field/
 sage -t  "devel/sage-5842/sage/rings/number_field/totallyreal_phc.py"
          [1.0 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/number_field.py"
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field.py",
 line 1788:
     sage: M.ideal(K.ideal(2, a))
 Expected:
     Fractional ideal (-1/2*a*c - 1/2*a*b)
 Got:
     Fractional ideal (1/2*a*c + 1/2*a*b)
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field.py",
 line 2952:
     sage: L.factor(a + 1)
 Expected:
     (Fractional ideal (1/2*b + 1/2*a + 1)) * (Fractional ideal (-1/2*b +
 1/2*a - 1))
 Got:
     (Fractional ideal (1/2*a*b - a - 1/2)) * (Fractional ideal (-1/2*b +
 1/2*a - 1))

   ***   Warning: large Minkowski bound: certification will be VERY long.
   ***   Warning: large Minkowski bound: certification will be VERY long.
   ***   Warning: large Minkowski bound: certification will be VERY long.
   ***   Warning: large Minkowski bound: certification will be VERY long.
 **********************************************************************
 2 items had failures:
    1 of  10 in __main__.example_40
    1 of  13 in __main__.example_64
 ***Test Failed*** 2 failures.
 For whitespace errors, see the file
 /home/jec/sage-3.4.1.rc4/tmp/.doctest_number_field.py
          [18.7 s]
 sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_morphisms.pyx"
          [2.2 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/totallyreal_data.pyx"
          [1.1 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/galois_group.py"
          [6.5 s]
 sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_element_quadratic.pyx"
          [1.9 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/number_field_rel.py"
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field_rel.py",
 line 2035:
     sage: list(K.ideal(u).factor())
 Expected:
     [(Fractional ideal (2, -1/2*a + b + 3/2), 1),
      (Fractional ideal (2, -1/2*a + b + 1/2), 1),
      (Fractional ideal (5, (-1/2*b + 5/2)*a - 5/2*b - 11/2), 1),
      (Fractional ideal (7, (-1/2*b + 7/2)*a - 7/2*b - 15/2), 1)]
 Got:
     [(Fractional ideal (2, -1/2*a + b + 1/2), 1), (Fractional ideal (2,
 -1/2*a + b + 3/2), 1), (Fractional ideal (5, (-1/2*b + 5/2)*a - 5/2*b -
 11/2), 1), (Fractional ideal (7, (-1/2*b + 7/2)*a - 7/2*b - 15/2), 1)]
 **********************************************************************
 1 items had failures:
    1 of   7 in __main__.example_66
 ***Test Failed*** 1 failures.
 For whitespace errors, see the file
 /home/jec/sage-3.4.1.rc4/tmp/.doctest_number_field_rel.py
          [11.1 s]
 sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_element.pyx"
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field_element.pyx",
 line 2719:
     sage: P = K.prime_factors(5)[0]; P
 Expected:
     Fractional ideal (((1/4*c + 1/4)*b - 1/4*c - 1/4)*a + (1/2*c + 1/2)*b
 - 1/2*c - 3/2)
 Got:
     Fractional ideal ((-1/2*b - 1/2)*a + b + 1/2*c + 1/2)
 **********************************************************************
 1 items had failures:
    1 of   5 in __main__.example_75
 ***Test Failed*** 1 failures.
 For whitespace errors, see the file
 /home/jec/sage-3.4.1.rc4/tmp/.doctest_number_field_element.py
          [7.8 s]
 sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_ideal_rel.py"
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field_ideal_rel.py",
 line 436:
     sage: K.ideal(c).factor()
 Expected:
     (Fractional ideal ((1/2*b*a - 1/2*b - 1/2)*c + (1/2*b - 1/2)*a))^2 *
 (Fractional ideal ((1/2*a - 1/2*b - 1/2)*c))
 Got:
     (Fractional ideal ((-1/2*b*a + 1/2*b + 1/2)*c - a + 1))^2 *
 (Fractional ideal ((-1/2*b*a + 1/2*b + 1/2)*c))
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field_ideal_rel.py",
 line 617:
     sage: z = I.element_1_mod(J); z
 Expected:
     -8*b*a + 24
 Got:
     -b*a + 1
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field_ideal_rel.py",
 line 250:
     sage: I
 Expected:
     Fractional ideal ((1/2*b + 1/2)*a - 3/2*b - 3/2)
 Got:
     Fractional ideal ((-1/2*b + 1/2)*a + 3/2*b - 3/2)
 **********************************************************************
 3 items had failures:
    1 of  11 in __main__.example_13
    1 of   8 in __main__.example_22
    1 of   6 in __main__.example_8
 ***Test Failed*** 3 failures.
 For whitespace errors, see the file
 /home/jec/sage-3.4.1.rc4/tmp/.doctest_number_field_ideal_rel.py
          [3.1 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/order.py"
          [4.1 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/unit_group.py"
          [2.1 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/maps.py"
          [1.7 s]
 sage -t
 "devel/sage-5842/sage/rings/number_field/small_primes_of_degree_one.py"
          [2.3 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/totallyreal_rel.py"
          [2.0 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/all.py"
          [0.0 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/totallyreal.pyx"
          [3.8 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/class_group.py"
          [2.5 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/morphism.py"
          [2.0 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/number_field_base.pyx"
          [2.7 s]
 sage -t  "devel/sage-5842/sage/rings/number_field/number_field_ideal.py"
 **********************************************************************
 File
 
"/home/jec/sage-3.4.1.rc4/devel/sage-5842/sage/rings/number_field/number_field_ideal.py",
 line 719:
     sage: I
 Expected:
     Fractional ideal (-1/2*a + 3/2)
 Got:
     Fractional ideal (1/2*a + 3/2)
 **********************************************************************
 1 items had failures:
    1 of  11 in __main__.example_23
 ***Test Failed*** 1 failures.
 For whitespace errors, see the file
 /home/jec/sage-3.4.1.rc4/tmp/.doctest_number_field_ideal.py
          [5.8 s]

 ----------------------------------------------------------------------
 The following tests failed:


         sage -t  "devel/sage-5842/sage/rings/number_field/number_field.py"
         sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_rel.py"
         sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_element.pyx"
         sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_ideal_rel.py"
         sage -t
 "devel/sage-5842/sage/rings/number_field/number_field_ideal.py"
 Total time for all tests: 82.1 seconds
 }}}
 That was on a 64-bit machine; no problems on 32-bit.  This is typical
 behaviour with pari number field functions.  When I made unit_group.py I
 could not come up with any way of getting around this variability, and
 ended up adding # random to the offending tests, which is hardly a good
 solution.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5842#comment:1>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
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-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to