#11930: disallow non-smooth hyperelliptic curves, and let hyperelliptic curves 
know
they are not singular
-------------------------------------------+--------------------------------
   Reporter:  dkrenn                       |          Owner:  cremona           
                       
       Type:  defect                       |         Status:  needs_review      
                       
   Priority:  major                        |      Milestone:  sage-4.8          
                       
  Component:  elliptic curves              |       Keywords:  hyperelliptic 
curve, singular, sd35      
Work_issues:                               |       Upstream:  N/A               
                       
   Reviewer:  Marco Streng, Damiano Testa  |         Author:  Daniel Krenn, 
Marco Streng, Damiano Testa
     Merged:                               |   Dependencies:                    
                       
-------------------------------------------+--------------------------------
Changes (by mstreng):

  * status:  needs_work => needs_review
  * priority:  minor => major
  * type:  enhancement => defect
  * work_issues:  make resultants work for more general fields or (better)
                  implement gcd for polynomial rings over
                  fields and use that =>


Old description:

> We have
> {{{
> sage: R.<x> = PolynomialRing(GF(3))
> sage: H=HyperellipticCurve(x^5+1)
> sage: H.is_singular()
> True
> }}}
> but `H` is a non-singular hyperelliptic curve.
>
> Hyperelliptic curves are smooth curves mathematically. In Sage, they are
> implemented as plane curves with a singularity at infinity, but that
> singularity can always be resolved.
>
> Apply
>
>  * [attachment:11930b.patch]
>  * [attachment:11930_is_singular.patch]

New description:

 Hyperelliptic curves are smooth curves mathematically. These patches add a
 check for this to the constructor and implement {{{is_singular}}} to
 always return {{{False}}}

 Example
 {{{
 sage: R.<x> = PolynomialRing(GF(3))
 sage: H=HyperellipticCurve(x^5+1)
 sage: H.is_singular()
 # used to return True, now returns False
 sage: H=HyperellipticCurve(x^5)
 # used to return a curve y^2 = x^5, now raises an error
 }}}

 Apply

  * [attachment:11930c.patch]
  * [attachment:11930_is_singular.patch]

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11930#comment:16>
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 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