Skip to content

Commit 941b45d

Browse files
authored
Merge pull request #12 from Aaron-Dwyer/coveringarray
Made the new relabelling functions in OA more efficient, removed an import of the CA class which no longer exists
2 parents 0a1a2f3 + c05d483 commit 941b45d

File tree

3 files changed

+5
-16
lines changed

3 files changed

+5
-16
lines changed

src/sage/combinat/designs/covering_array.py

-3
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@
2626
2727
Implement various construction methods for CAs
2828
29-
Functions
30-
---------
31-
3229
"""
3330

3431
# **********************************************************************

src/sage/combinat/designs/design_catalog.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,4 @@
118118
'OAMainFunctions', as_='orthogonal_arrays')
119119

120120
lazy_import('sage.combinat.designs.gen_quadrangles_with_spread',
121-
('generalised_quadrangle_with_spread', 'generalised_quadrangle_hermitian_with_ovoid'))
122-
123-
lazy_import('sage.combinat.designs.covering_array', 'CoveringArray')
121+
('generalised_quadrangle_with_spread', 'generalised_quadrangle_hermitian_with_ovoid'))

src/sage/combinat/designs/orthogonal_arrays.py

+4-10
Original file line numberDiff line numberDiff line change
@@ -1554,11 +1554,8 @@ def OA_relabel(OA, k, n, blocks=tuple(), matrix=None, symbol_list=None):
15541554
OA = [[matrix[i][j] if j is not None else None for i,j in enumerate(R)] for R in OA]
15551555

15561556
if symbol_list:
1557-
result=[]
1558-
the_map = lambda x: symbol_list[x]
1559-
for row in OA:
1560-
result.append(list(map(the_map,row)))
1561-
OA = result
1557+
mapping = {index : symbol for index, symbol in enumerate(symbol_list)}
1558+
OA = [[mapping.get(element) for element in row] for row in OA]
15621559
return OA
15631560

15641561
def OA_standard_label(OA):
@@ -1583,11 +1580,8 @@ def OA_standard_label(OA):
15831580
15841581
"""
15851582
symbol_list = sorted({x for l in OA for x in l})
1586-
result = []
1587-
the_map = lambda x: symbol_list.index(x)
1588-
for row in OA:
1589-
result.append(list(map(the_map,row)))
1590-
return result
1583+
mapping = {symbol : index for index, symbol in enumerate(symbol_list)}
1584+
return [[mapping.get(element) for element in row] for row in OA]
15911585

15921586
def OA_n_times_2_pow_c_from_matrix(k,c,G,A,Y,check=True):
15931587
r"""

0 commit comments

Comments
 (0)