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

Commit

Permalink
trac #16604: Reviewing the review
Browse files Browse the repository at this point in the history
  • Loading branch information
nathanncohen committed Aug 11, 2014
1 parent 344b0bf commit 3cf3983
Showing 1 changed file with 19 additions and 14 deletions.
33 changes: 19 additions & 14 deletions src/sage/combinat/designs/orthogonal_arrays.py
Expand Up @@ -33,6 +33,7 @@
:meth:`OA_from_quasi_difference_matrix` | Return an Orthogonal Array from a Quasi-Difference matrix
:meth:`OA_from_Vmt` | Return an Orthogonal Array from a `V(m,t)`
:meth:`OA_from_PBD` | Return an `OA(k,n)` from a PBD
:meth:`OA_n_times_2_pow_c_from_matrix` | Return an `OA(k, \vert G\vert \cdot 2^c)` from a constrained `(G,k-1,2)`-difference matrix.
:meth:`OA_from_wider_OA` | Return the first `k` columns of `OA`.
.. TODO::
Expand Down Expand Up @@ -1216,35 +1217,31 @@ def OA_n_times_2_pow_c_from_matrix(k,c,G,A,Y):
matrix.
This construction appears in [AbelCheng1994]_ and [AbelThesis]_.
Let `G` be an additive Abelian group. Let `w` be a multiplicative generator
of `GF(2^c)^*`. We denote by `H` the `GF(2)`-hyperplane in `GF(2^c)` spanned
by `w^0, w^1, \ldots, w^{c-2}`.
Let `A` be a `(k-1) \times 2|G|` array with entries in `G \times GF(2^c)`
and `Y` be a vector with `k-1` entries in `GF(2^c)`. Let `B` and `C` be
respectively the part of the array that belong to `G` and `GF(2^c)`.
The input `A` and `Y` must satisfy the following condition. For any `i \neq
j` and `g \in G`
- there are exactly two values of `k` in {1,...,2p} such that `B_{i,k} -
B_{j,k} = g` (i.e. `B` is a `(G,k,2)`-difference matrix),
The input `A` and `Y` must satisfy the following conditions. For any `i \neq
j` and `g \in G`:
- there are exactly two values of `k` such that `B_{i,k} - B_{j,k} = g`
(i.e. `B` is a `(G,k,2)`-difference matrix),
- let `k_1` and `k_2` denote the two values of `k` given above, then exactly
one of `C_{i,k_1} - C_{j,k_1}` and `C_{i,k_2} - C_{j,k_2}` belongs to the
`GF(2)`-hyperplane `(Y_i - Y_j) \cdot H` (we implicitely assumed that `Y_i
\not= Y_j`).
Under these conditions, it is easy to check that the array whose rows are
given for `i=1,\ldots,|G|` by `A_{i,k} + (0, Y_i \cdot v)` where `k` ranges
from `1` to `k-1` and `v` belongs to `H` is a difference matrix over `G_1
\times GF(2^c)`.
Under these conditions, it is easy to check that the array whose `|G|\cdot
2^c` rows of length `k-1` are given for all `1\leq i\leq 2|G|,v\in H` by
`A_{i,k} + (0, Y_i \cdot v)` is a `(G \times GF(2^c),k-1,1)`-difference
matrix.
By convention, the `GF(2^c)` part of the input matrix `A` and vector `Y` are
given in the following form: the integer `i` corresponds to the element
`w^i` and ``None`` corresponds to `0`.
INPUT:
- ``k,c`` (integers) -- integers
Expand All @@ -1255,6 +1252,14 @@ def OA_n_times_2_pow_c_from_matrix(k,c,G,A,Y):
- ``Y`` -- a vector with entries in `GF(2^c)`
.. NOTE::
By convention, the `GF(2^c)` part of the input matrix `A` and vector `Y`
are given in the following form: the integer `i` corresponds to the
element `w^i` and ``None`` corresponds to `0`.
.. SEEALSO::
Several examples use this construction:
Expand Down

0 comments on commit 3cf3983

Please sign in to comment.