#20774: Basic singularity analysis for algebraic curves
-------------------------------------+-------------------------------------
       Reporter:  gjorgenson         |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  minor              |    Milestone:  sage-7.3
      Component:  algebraic          |   Resolution:
  geometry                           |    Merged in:
       Keywords:  gsoc2016           |    Reviewers:  Ben Hutz
        Authors:  Grayson Jorgenson  |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  e1f15291034546dd48d91284790df481af5aacdf
  u/gjorgenson/ticket/20774          |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by bhutz):

 * status:  needs_review => needs_work
 * reviewer:   => Ben Hutz


Comment:

 some comments in no particular order

 - the values I've checked agree with Magma.

 - I would rather see a while loop than a for/break since you are using the
 loop variable later when you are getting an appropriate affine patch

 - examples are all QQ or number field. I'd like to see some other fields
 (assuming they work)

 - in multiplicity: why don't you change ring first to get the ordering,
 and then use R.ideal to create the ideal. That way you only have to
 change_ring once instead of twice.

 - OUTPUT: an integer.   You don't have to make a list when it is a simple
 output

 - multiplicity = 0: do you really want to allow this? I think returning an
 error that the point is not on the curve may be more intuitive. If you
 change it: in tangents: if r < 1 isn't needed. Either way, this should be
 described in the doc

 - in is_ordinary: OUTPUT: Boolean. You should document that an error is
 returned for a non-singular point

 - in singular_points: I think putting F=F is better than adding the 0 as
 the first parameter.

 - do you want to add C.singular_subscheme()?

 - I see many places you are restricting to fields. Should there be a field
 subclass?

 - Things like Q.is_ordinary_singularity(), Q.tangents(), Q.multiplicity()
 don't work when Q is the curve point.

 - Q.is_singular() and C.is_singular(Q) would be nice to have.

--
Ticket URL: <http://trac.sagemath.org/ticket/20774#comment:5>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to