#16552: oval in finite projective plane
-------------------------------------+-------------------------------------
       Reporter:  vdelecroix         |        Owner:
           Type:  enhancement        |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.3
      Component:  combinatorial      |   Resolution:
  designs                            |    Merged in:
       Keywords:                     |    Reviewers:
        Authors:  Vincent Delecroix  |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  f7989eb77ceb0f23b07568e8433d7a27b74861de
  u/vdelecroix/16552                 |     Stopgaps:
   Dependencies:  #16500             |
-------------------------------------+-------------------------------------

Comment (by vdelecroix):

 Replying to [comment:4 ncohen]:
 > > and hyperovals are here too for `GF(2^k)` ;-)
 >
 > Ahem. Vincent, I thank  you for the feature but the code really needs
 some reorganization `:-P`
 >
 > First, why wouldn't the system of coordinates be provided by
 `DesarguesianProjectivePlane` when you create one ? Clearly getting the
 "coordinates" of the points can be useful, and the only reason why it is
 not already the case is that `BlockDesign` only supports integers as a
 ground set. But you could return the dictionary along with the projective
 plane, couldn't you ?

 doable... You would like the answer of `DesarguesianProjectivePlane` to be
 a pair `(projective plane, coordinates)`. But not very standardized with
 comparison to BIBD, OA, MOLS, etc.

 I would rather create a class
 {{{
 class DesarguesianProjectivePlaneDesign(IncidenceStructure):
     def label(self, x, y, z):
         r"""
         Return the label of the class `[x:y:z]`
         """
 }}}
 but it is too much work for this ticket.

 > additional question : is the
 `_desarguesian_projective_plane_coordinates` properly defined anyway ? Or
 is that why it is just an internal function ?

 No. What is well defined are the classes `[x:y:z]` which are elements of
 `K^3 \ {0}` up to multiplication by a non-zero scalar (i.e. lines in
 `K^3`). The labeling choice mapping it to integers is not canonical.

 > Similarly, the oval functions have no reason to return integers. They
 can just return the triples of coordinates.

 Right, but in that case there is no need for a function:
 {{{
 sage: K = GF(17)
 sage: oval = [(t,t^2,K.one()) for t in K] + [(K.zero(),K.one(),K.zero())]
 }}}

 > Besides, we can't just dump "Oval functions" like that in
 `block_designs.py`. And... Well, though you were not the worst in the
 crowd, I think I can easily gather 50+ emails that were exchanged just
 because I created a `ProjectivePlane` function which returned a
 desarguesian projective plane. How can you now create a function as well
 defined as `OvalInDesarguesianProjectivePlaneDesign` ?.. `:-P`

 The name is not quite appropriate for sure. I can call them
 `PointOfTheConic_t_t2_1` if you prefer but if we would return triple of
 elements of `GF(q)` then there is no need for these functions.

 Vincent

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

Reply via email to