#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:7 ncohen]:
> Yo !
>
> > 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.
>
> Well.... You know how I would do it ... `:-P`
>
> {{{designs.DesarguesianProjectivePlane(return_coordinates=True)}}}
I will create a decorator `@output_type_depends_on_input` especially for
you!
> > I would rather create a class
>
> That would the "most proper way".
If I do this I would rewrite partly the `IncidenceStructure` class
(especially hide the attributes). For a class
`DesarguesianProjectivePlane` there is no need to store the points or the
blocks. It will be as fast as you whish to do it on the fly...
But then comes from the problem with labels... should we steal the
implementation that is in graph?
> > 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())]
> > }}}
>
> Well, those three lines are all that the function should do. And as it
is, it already helps dumb guys like me who did not even know (what ovals
were) how to build an oval.
I was dump and wikipedia was my friend in that particular case.
> > 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.
>
> HMmmmmmmm.. I don't know how to implement that properly `:-/`
For example:
{{{
sage: K = GF(3)
sage: P = designs.ProjectivePlane(K)
sage: R.<t> = K[t]
sage: oval = P.points_of_parametrized_curve((t,t^2))
}}}
Vincent
--
Ticket URL: <http://trac.sagemath.org/ticket/16552#comment:8>
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.