Opened 2 years ago

Last modified 4 months ago

#29410 new enhancement

Combinatorial designs: add some difference matrices and related objects — at Version 5

Reported by: gh-Ivo-Maffei Owned by:
Priority: major Milestone: sage-9.7
Component: combinatorics Keywords: symmetric_nets orthogonal_arrays transversal_designs difference_matrices
Cc: dimpase, slelievre Merged in:
Authors: Ivo Maffei Reviewers:
Report Upstream: N/A Work issues:
Branch: u/gh-Ivo-Maffei/symmetric_nets (Commits, GitHub, GitLab) Commit: 6c362d817d58b2b7db17f1420ddaf78a7cd6d20b
Dependencies: Stopgaps:

Status badges

Description (last modified by slelievre)

We add a few constructions of difference matrices whose lambda parameter is not 1.

We then modify the orthogonal arrays and transversal designs constructions to take advantage of these additions. Finally, we add a new function symmetric_net.

Change History (5)

comment:1 Changed 2 years ago by dimpase

I see failing doctests:

sage -t --warn-long 94.4 src/sage/combinat/designs/latin_squares.py  # 2 doctests failed
sage -t --warn-long 94.4 src/sage/combinat/designs/designs_pyx.pyx  # 3 doctests failed

comment:2 Changed 2 years ago by git

  • Commit changed from 5cd8a3c3671efc12e6a511a1b79c854111f0b296 to 6c362d817d58b2b7db17f1420ddaf78a7cd6d20b

Branch pushed to git repo; I updated commit sha1. New commits:

6c362d8fixed old doctests and bugs

comment:3 Changed 2 years ago by dimpase

Do you run tests using GitHub Actions? (see #29401 for details)

In your code, to build docs, one needs

  • src/sage/combinat/designs/orthogonal_arrays.py

    a b def symmetric_net(n, lmbda=1, check=True, existence=False): 
    8080      Set to ``True`` by default
    8181
    8282    - ``existence`` -- bolean. Instead of returnig a symmetric net, return:
    83       - ``True`` -- such a net can be constructed by Sage
    84       - ``False`` -- no such a net exists
    85       - ``Unknown`` -- Sage does not know how to build such a design
    86         so such design may or may not exist
     83        - ``True`` -- such a net can be constructed by Sage
     84        - ``False`` -- no such a net exists
     85        - ``Unknown`` -- Sage does not know how to build such a design
     86          so such design may or may not exist
    8787
    8888    EXAMPLES::
    8989
  • src/sage/combinat/designs/difference_matrices.py

    a b def subgroup_construction(g,k,lmbda,existence=False): 
    428428    - ``g,k,\lambda`` -- (integers) parameters of the difference matrix to construct
    429429
    430430    - ``existence`` -- (boolean) instead of building the design, return:
    431       - ``True`` if Sage can build the difference matrix using the subgroup construction
    432       - ``False`` if Sage can't build the difference matrix using this construction
    433          Note that Sage may be able to build such difference matrix in other ways
     431        - ``True`` if Sage can build the difference matrix using the subgroup construction
     432        - ``False`` if Sage can't build the difference matrix using this construction
     433          Note that Sage may be able to build such difference matrix in other ways
    434434
    435435    EXAMPLES::
    436436

(sphinx is very sensitive to correct indentation)

comment:4 Changed 2 years ago by mkoeppe

  • Milestone changed from sage-9.1 to sage-9.2

Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date.

comment:5 Changed 2 years ago by slelievre

  • Cc slelievre added
  • Description modified (diff)
  • Summary changed from Addition of some difference matrices and all related objects to Combinatorial designs: add some difference matrices and related objects

One occurrence of "more than 1 time" should be "more than once" as elsewhere.

Can you do a round of pep8 formatting?

I would use lamda as an alternate name for lambda (since lambda is a reserved keyword in Python). I find it makes code easier to read than lambd or lmbda.

Note: See TracTickets for help on using tickets.