Skip to content
This repository has been archived by the owner on Jan 30, 2023. It is now read-only.

Commit

Permalink
trac #16604: OA(20,352)
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanncohen committed Jul 7, 2014
1 parent bfcc6f5 commit 326ece4
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 2 deletions.
58 changes: 58 additions & 0 deletions src/sage/combinat/designs/database.py
Expand Up @@ -68,6 +68,7 @@
:func:`OA(12,276) <OA_12_276>`,
:func:`OA(12,298) <OA_12_298>`,
:func:`OA(12,342) <OA_12_342>`,
:func:`OA(20,352) <OA_20_352>`,
:func:`OA(12,474) <OA_12_474>`,
:func:`OA(9,514) <OA_9_514>`,
:func:`OA(11,640) <OA_11_640>`,
Expand Down Expand Up @@ -2835,6 +2836,62 @@ def OA_12_342():
M = OA_from_Vmt(10,31,[0,1,3,57,128,247,289,239,70,271,96])
return M

def OA_20_352():
r"""
Returns an OA(20,352)
Published by Julian R. Abel in [AbelThesis]_.
.. SEEALSO::
:func:`sage.combinat.designs.orthogonal_arrays.OA_from_quasi_difference_matrix`
EXAMPLES::
sage: from sage.combinat.designs.designs_pyx import is_orthogonal_array
sage: from sage.combinat.designs.database import OA_20_352
sage: OA = OA_20_352() # not tested (~25s)
sage: print is_orthogonal_array(OA,20,352,2) # not tested (~25s)
True
The design is available from the general constructor::
sage: designs.orthogonal_array(20,352,existence=True)
True
"""
# Column 8, line 6 : 4,25 became 4,27
# line 17: 3,0 became 3,None
# Column 14,line 1 : 4,1 became 4,0
# Column 18,line 18: 0,0 became 0,None
A = [
[(0,None),(0, None),(0,None),(0,None),(0,None),(0,None),(0,None),(0,None),(0,None),(0,None),(0,None),(0,None),(1,None),(4,None),(9,None),(5, None),(3,None),(3,None),(5,None)],
[(0,None),(1, None),(2, 13),(3, 2),(4, 0),(5, 8),(6, 30),(7, 0),(8, 13),(9, 26),(10, 10),(1, 29),(0, 9),(1, 11),(4, 0),(9, 23),(5, 7),(3, 25),(3, 29)],
[(0,None),(2, None),(4, 29),(6, 6),(8, 3),(10, 18),(1, 21),(3, 24),(5, 4),(7, 7),(9, 29),(4, 22),(1, 2),(0, 27),(1, 10),(4, 13),(9, 22),(5, 6),(3, 20)],
[(0,None),(3, None),(6, 25),(9, 21),(1, 23),(4, 25),(7, 12),(10, 16),(2, 26),(5, 27),(8, 19),(9, 27),(4, 6),(1, 5),(0, 6),(1, 15),(4, 10),(9, 2),(5, 14)],
[(0,None),(4, None),(8, 3),(1, 23),(5, 17),(9, 7),(2, 7),(6, 25),(10, 27),(3, 30),(7, 5),(5, 23),(9, 24),(4, 16),(1, 12),(0, 8),(1, 12),(4, 17),(9, 28)],
[(0,None),(5, None),(10, 10),(4, 27),(9, 4),(3, 24),(8, 21),(2, 3),(7, 22),(1, 21),(6, 24),(3, 28),(5, 3),(9, 26),(4, 29),(1, 9),(0, 19),(1, 2),(4, 0)],
[(0,None),(6, None),(1, 11),(7, 9),(2, 14),(8, 15),(3, 11),(9, 7),(4, 27),(10, 13),(5, 4),(3, 18),(3, 0),(5, 5),(9, 2),(4, 7),(1, 30),(0, 10),(1,None)],
[(0,None),(7, None),(3, 25),(10, 7),(6, 29),(2, 4),(9, 10),(5, 22),(1, 25),(8, 18),(4, 11),(5, 21),(3, 29),(3, 14),(5, 12),(9, 25),(4, 2),(1, 13),(0, 19)],
[(0,None),(8, None),(5, 27),(2, 30),(10, 24),(7, 4),(4, 6),(1, 4),(9, 5),(6, 27),(3, 0),(9, 2),(5, 20),(3, 10),(3, 13),(5, 2),(9, 5),(4, 21),(1, 12)],
[(0,None),(9, None),(7, 21),(5, 0),(3, 9),(1, 13),(10, 17),(8, 1),(6, 15),(4, 30),(2, 28),(4, 3),(9, 28),(5, 0),(3,None),(3, 2),(5, 23),(9, 10),(4, 15)],
[(0,None),(10,None),(9, 29),(8, 8),(7, 6),(6, 6),(5, 18),(4, 20),(3, 22),(2, 7),(1, 13),(1, 24),(4, 13),(9, 14),(5, 29),(3, 27),(3, 16),(5, 12),(9, 4)],
[(0,None),(6, 4),(2, 17),(10, 16),(8, 26),(7, 17),(7, 21),(8, 9),(10, 2),(2, 25),(6, 27),(0, 20),(10, 8),(7, 12),(2, 26),(6, 22),(8, 8),(8, 16),(6, 13)],
[(0,None),(7, 4),(4, 1),(2, 0),(1, 8),(1, 18),(2, 10),(4, 9),(7, 2),(0, 11),(5, 27),(10, 27),(0, 16),(10, 19),(7, 0),(2, 2),(6, 26),(8, 30),(8, 6)],
[(0,None),(8, 4),(6, 19),(5, 24),(5, 16),(6, 20),(8,None),(0, 17),(4, 5),(9, 23),(4, 27),(7, 22),(10, 25),(0, 23),(10, 11),(7, 10),(2, 16),(6, 28),(8, 3)],
[(0,None),(9, 4),(8, 14),(8, 30),(9, 16),(0, 0),(3, 25),(7, 30),(1, 27),(7, 4),(3, 10),(2, 5),(7, 3),(10, 11),(0, 21),(10,None),(7, 7),(2, 19),(6, 24)],
[(0,None),(10, 4),(10, 30),(0, 12),(2, 9),(5, 9),(9, 0),(3, 14),(9, 17),(5, 17),(2, 18),(6, 10),(2, 0),(7, 16),(10, 23),(0, 1),(10, 26),(7, 18),(2, 9)],
[(0,None),(0, 4),(1, 13),(3, 28),(6, 25),(10, 28),(4, 16),(10, 17),(6, 23),(3, 7),(1, 22),(8, 22),(6, 27),(2, 29),(7, 5),(10, 14),(0, 12),(10, 14),(7, 6)],
[(0,None),(1, 4),(3, 6),(6, 4),(10, 13),(4, 12),(10, 15),(6, 27),(3,None),(1, 26),(0, 3),(8, 21),(8, 26),(6, 13),(2, 27),(7, 11),(10, 5),(0, 3),(10, 3)],
[(0,None),(2, 4),(5, 12),(9, 27),(3, 7),(9, 21),(5,None),(2, 22),(0, 28),(10, 30),(10, 25),(6, 12),(8, 6),(8, 30),(6, 28),(2, 6),(7, 26),(10, 3),(0,None)],
[(0,None),(3, 4),(7, 22),(1, 7),(7, 8),(3, 12),(0, 27),(9, 1),(8, 17),(8, 4),(9, 12),(2, 16),(6, 23),(8, 14),(8, 2),(6, 26),(2, 14),(7, 22),(10, 30)],
[(0,None),(4, 4),(9, 21),(4, 25),(0, 9),(8, 23),(6, 5),(5, 20),(5, 13),(6, 19),(8, 0),(7, 30),(2, 29),(6, 24),(8, 18),(8, 10),(6, 9),(2, 20),(7, 4)],
[(0,None),(5, 4),(0, 25),(7, 4),(4, 20),(2, 3),(1,None),(1, 21),(2,None),(4, 26),(7, 1),(10, 23),(7, 20),(2, 3),(6, 5),(8, 19),(8, 9),(6, 23),(2, 7)],
]

Y = [None, 0, 1, 2, 18, 5, 11, 4, 13, 26, 25, 29, 24, 7, 20, 19, 9, 12, 15]

return _helper_function_when_n_is_prime_times_power_of_2(20,352,zip(*A),Y)

def OA_12_474():
r"""
Returns an OA(12,474)
Expand Down Expand Up @@ -3198,6 +3255,7 @@ def _helper_function_when_n_is_prime_times_power_of_2(k,n,A,Y):
276 : (12 , OA_12_276),
298 : (12 , OA_12_298),
342 : (12 , OA_12_342),
352 : (20 , OA_20_352),
474 : (12 , OA_12_474),
514 : (9 , OA_9_514),
640 : (11 , OA_11_640),
Expand Down
4 changes: 2 additions & 2 deletions src/sage/combinat/designs/latin_squares.py
Expand Up @@ -40,7 +40,7 @@
280| 7 280 6 282 6 12 6 7 15 288 6 6 6 292 6 6 7 10 10 12
300| 7 7 7 7 15 15 6 306 7 7 7 310 7 312 7 10 7 316 7 10
320| 15 15 6 16 8 12 6 7 7 9 6 330 7 8 7 6 7 336 6 7
340| 6 10 10 342 7 7 6 346 6 348 8 12 10 352 6 9 7 7 6 358
340| 6 10 10 342 7 7 6 346 6 348 8 12 18 352 6 9 7 7 6 358
360| 7 360 6 7 7 7 6 366 15 15 7 15 7 372 7 15 7 13 7 378
380| 7 12 7 382 15 15 7 15 7 388 7 16 7 7 7 7 8 396 7 7
400| 15 400 7 15 11 8 7 15 7 408 7 13 8 12 10 9 15 15 7 418
Expand Down Expand Up @@ -78,7 +78,7 @@
280|
300|
320| -
340| - -
340| -
360| - -
380| -
400| - -
Expand Down

0 comments on commit 326ece4

Please sign in to comment.