Opened 7 years ago
Closed 7 years ago
#16655 closed enhancement (fixed)
Resolvable TD/OA and IncidenceStructure.relabel()
Reported by:  ncohen  Owned by:  

Priority:  major  Milestone:  sage6.4 
Component:  combinatorial designs  Keywords:  
Cc:  vdelecroix, knsam, dimpase, brett  Merged in:  
Authors:  Nathann Cohen  Reviewers:  Vincent Delecroix 
Report Upstream:  N/A  Work issues:  
Branch:  5245ef6 (Commits, GitHub, GitLab)  Commit:  5245ef6b93e10c1971257007d5e9d7b4839ecef6 
Dependencies:  #16598  Stopgaps: 
Description (last modified by )
A resolvable OA(k,n)
is a OA(k,n+1)
, and the same holds for TD of course. This patch adds a "resolvable" boolean to the two constructors to get resolvable designs.
For OA, the classes are provided by sorting the blocks appropriately.
For TD, which are now IncidenceStructure
, the same is not possible as incidence structure sort their blocks. Thuuuuuus I was forced to create a (useful) is_resolvable
function (expect it to be slow on nonridiculouslysmall input) which returns the classes.
This is what turned this a priori straightforward patch into ... my whole morning :P
Nathann
Nathann
Change History (12)
comment:1 Changed 7 years ago by
 Description modified (diff)
 Status changed from new to needs_review
comment:2 Changed 7 years ago by
 Branch set to u/ncohen/16655
comment:3 Changed 7 years ago by
 Commit set to 1f56a6abe29f08f0db055e9be9fe060a068d2592
comment:4 Changed 7 years ago by
 Summary changed from Resolvable TD/OA to Resolvable TD/OA and IncidenceStructure.relabel()
comment:5 Changed 7 years ago by
 Commit changed from 1f56a6abe29f08f0db055e9be9fe060a068d2592 to 32a3c749008315612b1eb56f645dd811db4eb2c1
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
ea8b144  trac #16598: Code simplification

081aa8b  trac #16598: merge with 6.3.rc1

49ae09d  trac #16766: Improve the doc of combinat/designs/

d626290  trac #16766: we don t want designs.deprecated_function_alias

8f9ee77  trac #16766: Broken doctests

47cebb3  trac #16766: Broken doctest

6cda4b6  trac #16766: Git 101: How to create a conflict with 10 others patches in needs_review

06e330b  trac #16766: form > from

1a9ae44  trac #16598: merge #16766 (documentation update)

32a3c74  trac #16655: resolvable OA/TD

comment:6 Changed 7 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:7 Changed 7 years ago by
 Commit changed from 32a3c749008315612b1eb56f645dd811db4eb2c1 to 0a900d4b28a1d4d76788e45a2a9249d803f4de2f
comment:8 Changed 7 years ago by
 Commit changed from 0a900d4b28a1d4d76788e45a2a9249d803f4de2f to b2f1c8f5487f2cc11a3098572a090e5a8b9bf4d5
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
b2f1c8f  trac #16655: resolvable OA/TD

comment:9 Changed 7 years ago by
 Commit changed from b2f1c8f5487f2cc11a3098572a090e5a8b9bf4d5 to cffb31d23d074009d799af9d209a84e3b9bf8e54
comment:10 followup: ↓ 11 Changed 7 years ago by
 Status changed from needs_review to needs_info
At u/vdelecroix/16655
:
1) There was a check that the sum of degrees is a multiple of the size of the ground set... I changed it into a check that all degrees are the same.
2) The output was wrong (should be a pair if certificate=True
and a boolean if certificate=False
).
3) Now self._classes
is a list of lists of blocks and not a list of lists of indices
3) Some more documentation
Tell me what you think.
Vincent
comment:11 in reply to: ↑ 10 Changed 7 years ago by
 Branch changed from u/ncohen/16655 to u/vdelecroix/16655
 Commit changed from cffb31d23d074009d799af9d209a84e3b9bf8e54 to 5245ef6b93e10c1971257007d5e9d7b4839ecef6
 Reviewers set to Vincent Delecroix
 Status changed from needs_info to positive_review
Yooooooooooo !
1) There was a check that the sum of degrees is a multiple of the size of the ground set... I changed it into a check that all degrees are the same.
Yes of course T_T
2) The output was wrong (should be a pair if
certificate=True
and a boolean ifcertificate=False
).
Right right.
3) Now
self._classes
is a list of lists of blocks and not a list of lists of indices
That's muuuuuuch better this way ! And my ugly sorting is not needed anymore.
3) Some more documentation
Tell me what you think.
Thank you for that ! Let's get this in !
Nathann
New commits:
5245ef6  trac #16655: review

comment:12 Changed 7 years ago by
 Branch changed from u/vdelecroix/16655 to 5245ef6b93e10c1971257007d5e9d7b4839ecef6
 Resolution set to fixed
 Status changed from positive_review to closed
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
trac #16553v3: change .points() > .ground_set()
trac #16553: merge sage 6.3.beta5
trac #16553: deprecated alias .points() + fix
trac #16598: Useless new classes and a replacement for _check_pbd
trac #16598: G and K as arguments of GDD
trac #16598: Relabel, review, doc fix, ...
trac #16598: The constructors implicitly assumed that the ground set was made of integers
trac #16598: reviewer
trac #16598: Reviewer's comments
trac #16655: resolvable OA/TD