#14740: Infinite loop in creation of number field order
---------------------------------+------------------------------------------
       Reporter:  mstreng        |         Owner:  davidloeffler
           Type:  defect         |        Status:  new          
       Priority:  major          |     Milestone:  sage-5.11    
      Component:  number fields  |    Resolution:               
       Keywords:                 |   Work issues:               
Report Upstream:  N/A            |     Reviewers:               
        Authors:                 |     Merged in:               
   Dependencies:                 |      Stopgaps:               
---------------------------------+------------------------------------------
Description changed by jdemeyer:

Old description:

> {{{
> sage: Qa12.<kappa12> = NumberField(x^14 - 26*x^13 + 325*x^12 - 2548*x^11
> + 13832*x^10 - 54340*x^9 + 157118*x^8 - 333580*x^7 + 509366*x^6 -
> 534820*x^5 + 354536*x^4 - 124852*x^3 + 15145*x^2 - 33514*x + 13)
> sage: y = polygen(Qa12)
> sage: L.<c> = Qa12.extension(y^2-kappa12)
> sage: L.<alpha> = L.absolute_field()
> sage: OO = Qa12.maximal_order()
> sage: bas = [L.structure()[1](b) for b in OO.basis()]
> sage: subOrderK = L.order(bas + [b*alpha for b in bas])
> }}}
> This hangs forever. Pressing CTRL-C (if it works, reportedly, it doesn't
> always interrupt):
> {{{
> ---------------------------------------------------------------------------
> KeyboardInterrupt                         Traceback (most recent call
> last)
> <ipython-input-8-b8aed520adc1> in <module>()
> ----> 1 subOrderK = L.order(bas + [b*alpha for b in bas])
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/number_field/number_field.pyc in order(self, *args,
> **kwds)
>    6428         gens = map(self, gens)
>    6429         import sage.rings.number_field.order as order
> -> 6430         return order.absolute_order_from_ring_generators(gens,
> **kwds)
>    6431
>    6432     def vector_space(self):
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/number_field/order.pyc in
> absolute_order_from_ring_generators(gens, check_is_integral, check_rank,
> is_maximal, allow_subfield)
>    1744     K = gens.universe()
>    1745     n = [x.absolute_minpoly().degree() for x in gens]
> -> 1746     module_gens = monomials(gens, n)
>    1747     return absolute_order_from_module_generators(module_gens,
>    1748                check_integral=False, check_is_ring=False,
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/monomials.pyc in monomials(v, n)
>      66     v = Sequence(v)
>      67     R = v.universe()
> ---> 68     return _monomials(v, R, n, 0)
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/monomials.pyc in _monomials(gens, R, n, i)
>      26         nn = list(n)
>      27         del nn[i]
> ---> 28         v = monomials(w, nn)
>      29         k = len(v)
>      30         for _ in range(n[i]-1):
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/monomials.pyc in monomials(v, n)
>      66     v = Sequence(v)
>      67     R = v.universe()
> ---> 68     return _monomials(v, R, n, 0)
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/monomials.pyc in _monomials(gens, R, n, i)
>      26         nn = list(n)
>      27         del nn[i]
> ---> 28         v = monomials(w, nn)
>      29         k = len(v)
>      30         for _ in range(n[i]-1):
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/monomials.pyc in monomials(v, n)
>      66     v = Sequence(v)
>      67     R = v.universe()
> ---> 68     return _monomials(v, R, n, 0)
>
> /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
> packages/sage/rings/monomials.pyc in _monomials(gens, R, n, i)
>      26         nn = list(n)
>      27         del nn[i]
> ---> 28         v = monomials(w, nn)
>      29         k = len(v)
>      30         for _ in range(n[i]-1):
>
> [...]
> }}}
>
> See also
> [http://groups.google.com/forum/?fromgroups#!topic/sage-
> devel/MpPqbjAqol4]
> [http://ask.sagemath.org/question/1652/computing-maximal-orders-in-
> relative-extensions]
> [http://stackoverflow.com/questions/11850418/computing-maximal-orders-in-
> large-number-fields-with-sage]

New description:

 With sage-5.10.rc2:
 {{{
 sage: Qa12.<kappa12> = NumberField(x^14 - 26*x^13 + 325*x^12 - 2548*x^11 +
 13832*x^10 - 54340*x^9 + 157118*x^8 - 333580*x^7 + 509366*x^6 - 534820*x^5
 + 354536*x^4 - 124852*x^3 + 15145*x^2 - 33514*x + 13)
 sage: y = polygen(Qa12)
 sage: L.<c> = Qa12.extension(y^2-kappa12)
 sage: L.<alpha> = L.absolute_field()
 sage: OO = Qa12.maximal_order()
 sage: bas = [L.structure()[1](b) for b in OO.basis()]
 sage: subOrderK = L.order(bas + [b*alpha for b in bas])
 }}}
 This hangs forever. Pressing CTRL-C (if it works, reportedly, it doesn't
 always interrupt):
 {{{
 ---------------------------------------------------------------------------
 KeyboardInterrupt                         Traceback (most recent call
 last)
 <ipython-input-8-b8aed520adc1> in <module>()
 ----> 1 subOrderK = L.order(bas + [b*alpha for b in bas])

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/number_field/number_field.pyc in order(self, *args,
 **kwds)
    6428         gens = map(self, gens)
    6429         import sage.rings.number_field.order as order
 -> 6430         return order.absolute_order_from_ring_generators(gens,
 **kwds)
    6431
    6432     def vector_space(self):

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/number_field/order.pyc in
 absolute_order_from_ring_generators(gens, check_is_integral, check_rank,
 is_maximal, allow_subfield)
    1744     K = gens.universe()
    1745     n = [x.absolute_minpoly().degree() for x in gens]
 -> 1746     module_gens = monomials(gens, n)
    1747     return absolute_order_from_module_generators(module_gens,
    1748                check_integral=False, check_is_ring=False,

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/monomials.pyc in monomials(v, n)
      66     v = Sequence(v)
      67     R = v.universe()
 ---> 68     return _monomials(v, R, n, 0)

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/monomials.pyc in _monomials(gens, R, n, i)
      26         nn = list(n)
      27         del nn[i]
 ---> 28         v = monomials(w, nn)
      29         k = len(v)
      30         for _ in range(n[i]-1):

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/monomials.pyc in monomials(v, n)
      66     v = Sequence(v)
      67     R = v.universe()
 ---> 68     return _monomials(v, R, n, 0)

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/monomials.pyc in _monomials(gens, R, n, i)
      26         nn = list(n)
      27         del nn[i]
 ---> 28         v = monomials(w, nn)
      29         k = len(v)
      30         for _ in range(n[i]-1):

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/monomials.pyc in monomials(v, n)
      66     v = Sequence(v)
      67     R = v.universe()
 ---> 68     return _monomials(v, R, n, 0)

 /mazur/release/merger/sage-5.10/local/lib/python2.7/site-
 packages/sage/rings/monomials.pyc in _monomials(gens, R, n, i)
      26         nn = list(n)
      27         del nn[i]
 ---> 28         v = monomials(w, nn)
      29         k = len(v)
      30         for _ in range(n[i]-1):

 [...]
 }}}

 See also
 [http://groups.google.com/forum/?fromgroups#!topic/sage-devel/MpPqbjAqol4]
 [http://ask.sagemath.org/question/1652/computing-maximal-orders-in-
 relative-extensions]
 [http://stackoverflow.com/questions/11850418/computing-maximal-orders-in-
 large-number-fields-with-sage]

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/14740#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to