Opened 5 years ago
Closed 5 years ago
#16665 closed enhancement (fixed)
OA for n=408,600,792,856,1368,2328,...
Reported by:  ncohen  Owned by:  

Priority:  major  Milestone:  sage6.4 
Component:  combinatorial designs  Keywords:  
Cc:  vdelecroix  Merged in:  
Authors:  Nathann Cohen  Reviewers:  Vincent Delecroix 
Report Upstream:  N/A  Work issues:  
Branch:  539c365 (Commits)  Commit:  539c365fe6194438da47b7a7c999612ff4468ced 
Dependencies:  #16662  Stopgaps: 
Description
Another construction from the paper used in #16662. It is recursive as always, and the find function is, this time, very easy to write :)
Unfortunately there is only one updated value in the MOLS with v<600. The second is .... 600 :P
Nathann
Change History (20)
comment:1 Changed 5 years ago by
 Branch set to u/ncohen/16665
 Status changed from new to needs_review
comment:2 Changed 5 years ago by
 Commit set to 87dd885e123cae5ada5c0c73f2e131dba259de2f
comment:3 Changed 5 years ago by
 Summary changed from New OA for n=408,600,792,856,1368,2328,... to OA for n=408,600,792,856,1368,2328,...
comment:4 Changed 5 years ago by
 Commit changed from 87dd885e123cae5ada5c0c73f2e131dba259de2f to 15b449c8622b14a7cc19ec92dd150287c2e8310a
comment:5 Changed 5 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:6 followup: ↓ 7 Changed 5 years ago by
 Status changed from needs_review to needs_info
Hello Nathann,
Few modifs at u/vdelecroix/16665
You prefer K.primitive_element
instead of K.multiplicative_generator
? I used to use the former... (not very important)
Checking that n
is a prime power and then calling FiniteField(n)
is redundant (not very important).
Don't you prefer raise AssertionError(msg)
instead of assert False,msg
?
How do you know that the following is satisfied
# All blocks of PG should intersect 'AG_2_3' on !=2 AG_2_3. assert all(len(AG_2_3.intersection(B)) != 2 for B in PG)
Vincent
comment:7 in reply to: ↑ 6 ; followup: ↓ 9 Changed 5 years ago by
Yo !
Few modifs at
u/vdelecroix/16665
Look good !
You prefer
K.primitive_element
instead ofK.multiplicative_generator
? I used to use the former... (not very important)
I prefer the second, because it is clearer for me. But it's not my field, if I may say.
Checking that
n
is a prime power and then callingFiniteField(n)
is redundant (not very important).Don't you prefer
raise AssertionError(msg)
instead ofassert False,msg
?
I do.
How do you know that the following is satisfied
# All blocks of PG should intersect 'AG_2_3' on !=2 AG_2_3. assert all(len(AG_2_3.intersection(B)) != 2 for B in PG)
That's what the paper claims, and the reason why 'points' is defined as it is.
Nathann
comment:8 Changed 5 years ago by
 Branch changed from u/ncohen/16665 to u/vdelecroix/16665
 Commit changed from 15b449c8622b14a7cc19ec92dd150287c2e8310a to afd77ce753321562f67eff40974650f9d283b48a
 Status changed from needs_info to needs_review
New commits:
afd77ce  trac #16665: cosmetic

comment:9 in reply to: ↑ 7 ; followup: ↓ 10 Changed 5 years ago by
Replying to ncohen:
Yo !
Few modifs at
u/vdelecroix/16665
Look good !
You prefer
K.primitive_element
instead ofK.multiplicative_generator
? I used to use the former... (not very important)I prefer the second, because it is clearer for me. But it's not my field, if I may sa
Sorry: I prefer multiplicative_generator
and you did use primitive_element
(in orthogonal_arrays.py
at line 1359 and orthogonal_arrays_recursive.py
at line 1175). We seem to agree on using multiplicative_generator
.
Don't you prefer
raise AssertionError(msg)
instead ofassert False,msg
?I do.
But you wrote assert False,msg
at line 1177 in orthogonal_arrays_recursive.py
How do you know that the following is satisfied
# All blocks of PG should intersect 'AG_2_3' on !=2 AG_2_3. assert all(len(AG_2_3.intersection(B)) != 2 for B in PG)That's what the paper claims, and the reason why 'points' is defined as it is.
I see.
Vincent
comment:10 in reply to: ↑ 9 Changed 5 years ago by
Yo !
Sorry: I prefer
multiplicative_generator
and you did useprimitive_element
(inorthogonal_arrays.py
at line 1359 andorthogonal_arrays_recursive.py
at line 1175). We seem to agree on usingmultiplicative_generator
.
I don't mind. Change it if you like.
But you wrote
assert False,msg
at line 1177 inorthogonal_arrays_recursive.py
It is true. Does that invalidates my taste ? :P
I think I saw Volker use it somewhere, and I had not thought of it. Or maybe this "False" was something else before, I don't know.
Nathann
comment:11 Changed 5 years ago by
 Commit changed from afd77ce753321562f67eff40974650f9d283b48a to f7cc3c199a146cf4c18db4fe1a1d275bd779b946
Branch pushed to git repo; I updated commit sha1. New commits:
f7cc3c1  trac #16665: cococosmetic

comment:12 Changed 5 years ago by
raise ValueError("q(={}) must be congruent to 0 or 1 mod 3")
You forgot a .format. This calls for a cocococosmetic commit.
Nathann
comment:13 Changed 5 years ago by
 Commit changed from f7cc3c199a146cf4c18db4fe1a1d275bd779b946 to 2eaeb09d539d65c4f7d38ea6d934e39d83fa0bbd
Branch pushed to git repo; I updated commit sha1. New commits:
2eaeb09  trac #16665: coooooosmetic

comment:14 Changed 5 years ago by
 Status changed from needs_review to needs_work
Once #16662 is positively reviewed, there will be some rebase...
Vincent
comment:15 Changed 5 years ago by
There is nothing I can do about that on this patch, #16662 and its dependencies must be reviewed first.
Nathann
comment:16 Changed 5 years ago by
 Branch changed from u/vdelecroix/16665 to u/ncohen/16665
 Commit changed from 2eaeb09d539d65c4f7d38ea6d934e39d83fa0bbd to 64b21bc54c726356c670029d22cde79bca63c76d
 Status changed from needs_work to needs_review
Rebased ! And I merged all your "cosmetic" commits into one.
Nathann
New commits:
053945d  trac #16662: merge 6.3

166b525  trac #16662: doc + test

8fcaed0  trac #16662: New assertion

2a64fa2  trac #16662: find_thwart_lemma_3_5

68a2d99  trac #16662: Review

7e0480e  trac #16662: Merged with 6.4.beta0

a9b594f  trac #16662: A comment about n<N2

8615065  trac #16665: New OA for n=408,600,792,856,1368,2328,...

64b21bc  trac #16665: cosmetic

comment:17 Changed 5 years ago by
I thought we changed the name of _helper_function_when_n_is_prime_times_power_of_2
in #16604.
Vincent
comment:18 Changed 5 years ago by
 Commit changed from 64b21bc54c726356c670029d22cde79bca63c76d to 539c365fe6194438da47b7a7c999612ff4468ced
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
bff470e  trac #16604: small check of dimensions

6c21904  trac #16797: correct a row/column inversion

48b6902  trac #16604: merge #16797

579e75b  trac #16604: input check + doctest

e1a83d0  trac #16604: Optional check flag

05c6915  trac #16604: Variable rename and list>set

24c4f7f  trac #16604: Merge with updated #16797

7a73e74  trac #16662: Merge with updated #16604

a71cf90  trac #16665: New OA for n=408,600,792,856,1368,2328,...

539c365  trac #16665: cosmetic

comment:19 Changed 5 years ago by
 Reviewers set to Vincent Delecroix
 Status changed from needs_review to positive_review
Doc builds. Test pass...
Vincent
comment:20 Changed 5 years ago by
 Branch changed from u/ncohen/16665 to 539c365fe6194438da47b7a7c999612ff4468ced
 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 #16604: OA for n=640, reviewer's remarks and silly mistake
trac #16604: OA(15,896)
trac #16604: OA(16,208)
trac #16604: OA(16,176)
trac #16604: Now without copy and paste
trac #16604: OA(20,352)
trac #16604: OA(20,416)
trac #16604: OA(20,544)
trac #16662: OA for n=1046,1059,2164,3992,3994
trac #16665: New OA for n=408,600,792,856,1368,2328,...