#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.