#18439: is_projective_plane for incidence structure
-------------------------------------+-------------------------------------
       Reporter:  q.honore           |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.7
      Component:  combinatorial      |   Resolution:
  designs                            |    Merged in:
       Keywords:                     |    Reviewers:  Vincent Delecroix
        Authors:  Quentin Honoré     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  0824ca649d08566381eb74d525744cf3c4aafeb4
  u/q.honore/is_projective_plane     |     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by vdelecroix):

 * status:  needs_review => needs_work
 * reviewer:   => Vincent Delecroix


Comment:

 Hi Quentin,

 1. there is no need to mention the first argument {{{``s``}}} in the
 `INPUT` section. Moreover, as you can see this argument is often denoted
 `self` in other methods. That way it is clear that it is not really an
 argument.

 2. In the verbose output
 {{{
 The number of points must be k^2 + k + 1 =6, got 7
 }}}
   it would be better to also have a space after the k^2 + k + 1, in other
 words
 {{{
 The number of points must be k^2 + k + 1 = 6, got 7
 }}}

 3. Why did you indent your comments (i.e. the lines starting with `#`)? If
 you look at other methods like `__contains__` or `degree` you will see
 that there is no indentation.

 4. I think you would better move your method down in the file. At least
 below the comment at line 1279
 {{{
     #####################
     # real computations #
     #####################
 }}}
   As you can see, the file `incidence_structures.py` is rather long and it
 is important to keep it organized as much as possible.

 5. It would be nice to add an example with labels which are not integers
 {{{
     sage: B = ['abc', 'adf', 'age', 'bde', 'bgf', 'cgd', 'cef']
     sage: IncidenceStructure(B).is_projective_plane()
     True
     sage: B[-1] = 'cgf'
     sage: B[-2] = 'ced'
     sage: IncidenceStructure(B).is_projective_plane(verbose=True)
     More than one line through d and e
     False
 }}}
   that way you test that your error message explicitely mentions the
 points (and not their internal indices).

 6. I am not exactly sure but it might be that the method `is_t_design`
 already implements this. The parameters would be `v=k^2+k+1`, `t=2` and
 `lambda=1`.

 Vincent

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