mark goresky and andrew klapper
TRANSCRIPT
Arithmetic Correlations
Mark Goresky∗ and Andrew Klapper†
∗partially supported by DARPA grant HR0011-04-1-0031†partially supported by NSF grant CCF-0514660
Let c = c0, c1, c2, · · · ci ∈ Z/(p) (p prime)eventually periodic sequence of period T.
Let ζ = e2πi/p.
The Imbalance is the sum over one period,
Z(c) =∑
k
ζck =∑
k
e2πick/p
Let c = c0, c1, c2, · · · ci ∈ Z/(p) (p prime)eventually periodic sequence of period T.
Let ζ = e2πi/p.
The Imbalance is the sum over one period,
Z(c) =∑
k
ζck =∑
k
e2πick/p
Given two sequences of period T
a = a0, a1, · · · , b = b0, b1, · · · ai, bi ∈ Z/(p)
Let c = c0, c1, c2, · · · ci ∈ Z/(p) (p prime)eventually periodic sequence of period T.
Let ζ = e2πi/p.
The Imbalance is the sum over one period,
Z(c) =∑
k
ζck =∑
k
e2πick/p
Given two sequences of period T
a = a0, a1, · · · , b = b0, b1, · · · ai, bi ∈ Z/(p)
Their cross-correlation with shift τ is
Cτ(a, b) =T−1∑
k=0
ζakζ−bk+τ =T−1∑
k=0
ζak−bk+τ
= Z(a − bτ)
where bτ = bτ , bτ+1, · · · is the τ-shift of b.
Let c = c0, c1, c2, · · · ci ∈ Z/(p) (p prime)eventually periodic sequence of period T.
Let ζ = e2πi/p.
The Imbalance is the sum over one period,
Z(c) =∑
k
ζck =∑
k
e2πick/p
Given two sequences of period T
a = a0, a1, · · · , b = b0, b1, · · · ai, bi ∈ Z/(p)
Their cross-correlation with shift τ is
Cτ(a, b) =T−1∑
k=0
ζakζ−bk+τ =T−1∑
k=0
ζak−bk+τ
= Z(a − bτ)
where bτ = bτ , bτ+1, · · · is the τ-shift of b.
There is another way to say this:
a(x) = a0 + a1x + a2x2 + · · · ∈ Z(p)[[x]]
bτ(x) = bτ + bτ+1x + bτ+2x2 + · · · ∈ Z(p)[[x]]
Then a − bτ is the coefficient sequence of
c(x) = a(x) − bτ(x) ∈ Z/(p)[[x]]
so: Cτ(a, b) = Z(c) =T−1∑
k=0
ζck =N+T−1∑
k=N
ζck.
a(x) = a0 + a1x + a2x2 + · · · ∈ Z(p)[[x]]
bτ(x) = bτ + bτ+1x + bτ+2x2 + · · · ∈ Z(p)[[x]]
Then a − bτ is the coefficient sequence of
c(x) = a(x) − bτ(x) ∈ Z/(p)[[x]]
so: Cτ(a, b) = Z(c) =T−1∑
k=0
ζck =N+T−1∑
k=N
ζck.
Arithmetic analog:
α = a0 + a1p + a2p2 + · · · ∈ Zp.
βτ = bτ + bτ+1p + bτ+2p2 + · · · ∈ Zp.
γ = α − βτ = γ0 + γ1p + γ2p2 + · · · ∈ Zp.
Note: γ = α − βτ is eventually periodic.
a(x) = a0 + a1x + a2x2 + · · · ∈ Z(p)[[x]]
bτ(x) = bτ + bτ+1x + bτ+2x2 + · · · ∈ Z(p)[[x]]
Then a − bτ is the coefficient sequence of
c(x) = a(x) − bτ(x) ∈ Z/(p)[[x]]
so: Cτ(a, b) = Z(c) =T−1∑
k=0
ζck =N+T−1∑
k=N
ζck.
Arithmetic analog:
α = a0 + a1p + a2p2 + · · · ∈ Zp.
βτ = bτ + bτ+1p + bτ+2p2 + · · · ∈ Zp.
γ = α − βτ = γ0 + γ1p + γ2p2 + · · · ∈ Zp.
Note: γ = α − βτ is eventually periodic.
Set Carithτ (a, b) = Z(γ) =
N+T−1∑
k=N
ζγk.
(sum over periodic part)
• Averaged over all pairs of sequences,
E(Cτ(a, b)) =
T (a = b and τ = 0)
0 (a 6= b or τ 6= 0)
• RMS cross-correlation is
√E(Cτ(a, b)2) =
T (a = b and τ = 0)√2T (a = b, τ 6= 0, p = 2)√T (otherwise)
• Averaged over all pairs of sequences,
E(Cτ(a, b)) =
T (a = b and τ = 0)
0 (a 6= b or τ 6= 0)
• RMS cross-correlation is
√E(Cτ(a, b)2) =
T (a = b and τ = 0)√2T (a = b, τ 6= 0, p = 2)√T (otherwise)
• Average Arithmetic cross-correlation is:
E(Carithτ (a, b)) =
T (a = b, τ = 0)
T/pT−gcd(τ,T ) (a = b, τ 6= 0)
T/pT (otherwise)
• Averaged over all pairs of sequences,
E(Cτ(a, b)) =
T (a = b and τ = 0)
0 (a 6= b or τ 6= 0)
• RMS cross-correlation is
√E(Cτ(a, b)2) =
T (a = b and τ = 0)√2T (a = b, τ 6= 0, p = 2)√T (otherwise)
• Average Arithmetic cross-correlation is:
E(Carithτ (a, b)) =
T (a = b, τ = 0)
T/pT−gcd(τ,T ) (a = b, τ 6= 0)
T/pT (otherwise)
• RMS Arithmetic cross-correlation is:
√E(Carith
τ (a, b)2) =
T (a = b, τ = 0)√2Te1 (a = b, τ 6= 0, p = 2)√Te2 (a = b, τ 6= 0, p > 2)√Te3 (a 6= b)
(e1, e2, e3 ∼ 1)
m-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set a(x) = a0 + a1x + a2x2 + · · · ∈ Z/(p)[[x]].
m-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set a(x) = a0 + a1x + a2x2 + · · · ∈ Z/(p)[[x]].
Reduce to lowest terms:
a(x) =a0 + a1x + · · · + aT−1xT−1
1 − xT=
−h(x)
q(x)
m-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set a(x) = a0 + a1x + a2x2 + · · · ∈ Z/(p)[[x]].
Reduce to lowest terms:
a(x) =a0 + a1x + · · · + aT−1xT−1
1 − xT=
−h(x)
q(x)
• q(x) = −1 + q1x + · · · + qrxr
is the connection polynomial of a LFSRthat generates the sequence a.
ar−1 ar−2 · · · a0
&%'$q1 &%
'$q2 &%
'$qr· · ·
- -
m-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set a(x) = a0 + a1x + a2x2 + · · · ∈ Z/(p)[[x]].
Reduce to lowest terms:
a(x) =a0 + a1x + · · · + aT−1xT−1
1 − xT=
−h(x)
q(x)
• q(x) = −1 + q1x + · · · + qrxr
is the connection polynomial of a LFSRthat generates the sequence a.
ar−1 ar−2 · · · a0
&%'$q1 &%
'$q2 &%
'$qr· · ·
- -
• m-sequence ⇔ q(x) is a primitive polynomial
`-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set α = a0 + a1p + a2p2 + · · · ∈ Zp.
`-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set α = a0 + a1p + a2p2 + · · · ∈ Zp.
Reduce to lowest terms:
α =a0 + a1p + · · · + aT−1pT−1
1 − pT=
−h
q
`-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set α = a0 + a1p + a2p2 + · · · ∈ Zp.
Reduce to lowest terms:
α =a0 + a1p + · · · + aT−1pT−1
1 − pT=
−h
q
• q = −1 + q1p + · · · + qrpr ∈ Zis the connection integer of an FCSRthat generates the sequence a.
mr ar−1 ar−2 · · · a0
&%'$q1 &%
'$q2 &%
'$qr· · ·
∑-
� - -
��
�
mod pdiv p
`-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set α = a0 + a1p + a2p2 + · · · ∈ Zp.
Reduce to lowest terms:
α =a0 + a1p + · · · + aT−1pT−1
1 − pT=
−h
q
• q = −1 + q1p + · · · + qrpr ∈ Zis the connection integer of an FCSRthat generates the sequence a.
mr ar−1 ar−2 · · · a0
&%'$q1 &%
'$q2 &%
'$qr· · ·
∑-
� - -
��
�
mod pdiv p
• h < q and h ↔ initial loading
`-sequences
Let a = a0, a1, a2, · · · be T -periodic, ai ∈ Z/(p).
Set α = a0 + a1p + a2p2 + · · · ∈ Zp.
Reduce to lowest terms:
α =a0 + a1p + · · · + aT−1pT−1
1 − pT=
−h
q
• q = −1 + q1p + · · · + qrpr ∈ Zis the connection integer of an FCSRthat generates the sequence a.
mr ar−1 ar−2 · · · a0
&%'$q1 &%
'$q2 &%
'$qr· · ·
∑-
� - -
��
�
mod pdiv p
• h < q and h ↔ initial loading
• `-sequence ⇔ p is a primitive root modulo q.
Shift and add sequences
Let a = a0, a1, . · · · be T -periodic. (ai ∈ Z/(p))
It is a shift and add sequence if for any shift τ,
a + aτ =
aτ ′ some shift τ ′, or
0
Shift and add sequences
Let a = a0, a1, . · · · be T -periodic. (ai ∈ Z/(p))
It is a shift and add sequence if for any shift τ,
a + aτ =
aτ ′ some shift τ ′, or
0
Theorem. (Zierler) The sequence a is a shift and
add sequence if and only if it is an m-sequence.
Shift and add sequences
Let a = a0, a1, . · · · be T -periodic. (ai ∈ Z/(p))
It is a shift and add sequence if for any shift τ,
a + aτ =
aτ ′ some shift τ ′, or
0
Theorem. (Zierler) The sequence a is a shift and
add sequence if and only if it is an m-sequence.
Arithmetic shift and add
(Shift and add with carry)
Shift and add sequences
Let a = a0, a1, . · · · be T -periodic. (ai ∈ Z/(p))
It is a shift and add sequence if for any shift τ,
a + aτ =
aτ ′ some shift τ ′, or
0
Theorem. (Zierler) The sequence a is a shift and
add sequence if and only if it is an m-sequence.
Arithmetic shift and add
(Shift and add with carry)
Let a = a0, a1, · · · be T -periodic (ai ∈ Z/(p))
It is an arithmetic shift and add sequence if, ∀τ ,
periodic part of (α + ατ) = shift of α
where α = a0 + a1p + a2p2 + · · · ∈ Zp.
Shift and add sequences
Let a = a0, a1, . · · · be T -periodic. (ai ∈ Z/(p))
It is a shift and add sequence if for any shift τ,
a + aτ =
aτ ′ some shift τ ′, or
0
Theorem. (Zierler) The sequence a is a shift and
add sequence if and only if it is an m-sequence.
Arithmetic shift and add
(Shift and add with carry)
Let a = a0, a1, · · · be T -periodic (ai ∈ Z/(p))
It is an arithmetic shift and add sequence if, ∀τ ,
periodic part of (α + ατ) = shift of α
where α = a0 + a1p + a2p2 + · · · ∈ Zp.
Theorem. The sequence a is an arithmetic shift
and add sequence if and only if it is an `-sequence.
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Primitive element:α ∈ Fpr root p ∈ Z/(q)
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Primitive element:α ∈ Fpr root p ∈ Z/(q)
Reduction mapping:
FprTr→ Fp Z/(q)
mod→ Fp
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Primitive element:α ∈ Fpr root p ∈ Z/(q)
Reduction mapping:
FprTr→ Fp Z/(q)
mod→ Fp
Output sequence:
an = Tr(αn) an = p−n (mod q) (mod p)
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Primitive element:α ∈ Fpr root p ∈ Z/(q)
Reduction mapping:
FprTr→ Fp Z/(q)
mod→ Fp
Output sequence:
an = Tr(αn) an = p−n (mod q) (mod p)Auto-correlation:
|Cτ(a, a)| ≤ 1|Carith
τ (a, a)| ≤ 1Carith
τ (a, a) = 0 for p = 2
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Primitive element:α ∈ Fpr root p ∈ Z/(q)
Reduction mapping:
FprTr→ Fp Z/(q)
mod→ Fp
Output sequence:
an = Tr(αn) an = p−n (mod q) (mod p)Auto-correlation:
|Cτ(a, a)| ≤ 1|Carith
τ (a, a)| ≤ 1Carith
τ (a, a) = 0 for p = 2Occurrences of a block b,
s = T/(p|b|)
N(b) ∈ {s, s + 1} N(b) ∈ {s, s + 1}
Summary of propertiesm-sequence `-sequence
Characterization:shift-and-add shift-and-add with carry
Period:
T = pr − 1 T = q − 1Connection element:
polynomial q(x) integer q
Primitive element:α ∈ Fpr root p ∈ Z/(q)
Reduction mapping:
FprTr→ Fp Z/(q)
mod→ Fp
Output sequence:
an = Tr(αn) an = p−n (mod q) (mod p)Auto-correlation:
|Cτ(a, a)| ≤ 1|Carith
τ (a, a)| ≤ 1Carith
τ (a, a) = 0 for p = 2Occurrences of a block b,
s = T/(p|b|)
N(b) ∈ {s, s + 1} N(b) ∈ {s, s + 1}Decimations:
a 6= aτ for (τ, T ) = 1a 6= aτ for (τ, T ) = 1and q > 13 (conj.)
Generalizations
• Replace Z/(p) with Z/(N)
• Replace Z/(p) with Fpr
alphabet m-sequence `-sequence
Z/(N) N-adic numbers
Generalizations
• Replace Z/(p) with Z/(N)
• Replace Z/(p) with Fpr
alphabet m-sequence `-sequence
Z/(N)Galois ringsinteresting
N-adic numbers
Generalizations
• Replace Z/(p) with Z/(N)
• Replace Z/(p) with Fpr
alphabet m-sequence `-sequence
Z/(N)Galois ringsinteresting
N-adic numbers
Fpr m-sequences
Generalizations
• Replace Z/(p) with Z/(N)
• Replace Z/(p) with Fpr
alphabet m-sequence `-sequence
Z/(N)Galois ringsinteresting
N-adic numbers
Fpr m-sequencesp-adic fieldsinteresting