27.06.2013 Views

Emmanuel Amiot Modèles algébriques et algorithmes pour la ...

Emmanuel Amiot Modèles algébriques et algorithmes pour la ...

Emmanuel Amiot Modèles algébriques et algorithmes pour la ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

22 autosimi<strong>la</strong>r melodies<br />

Now we would like to know when this can happen. We have no simple arithm<strong>et</strong>ic characterization, but<br />

a few interesting conditions. Notice that a − 1 is not allowed to divide b (in Zn) – which excludes a − 1<br />

being coprime with n in Z, or b = 0 – or else we have fixed points, by Prop. 2.14.<br />

Lemma 7.4 All orbits have the same length whenever the smallest orbit has length (some multiple of)<br />

o(a).<br />

Proof L<strong>et</strong> x0 belong to the smallest orbit with length m: ((a − 1)x0 + b)(1 + a + . . . a m−1 ) = 0 and<br />

∀x, ((a − 1)x + b)(1 + a + . . . a r−1 ) = 0 ⇒ r ≥ m<br />

All orbits will share the same length m iff r = m works, i.e.<br />

∀x 0 = 0−0 = ((a−1)x+b)(1+a+. . . a m−1 )−((a−1)x0+b)(1+a+. . . a m−1 ) = (a−1)(x−x0)(1+a+. . . a m−1 )<br />

As (for x = x0 + 1) (a − 1)(1 + a + . . . a m−1 ) = a m − 1 = 0 iff m is a multiple of o(a), and ((a − 1)x0 +<br />

b)(1 + a + . . . a m−1 ) = 0 by assumption, this works.<br />

Reverse implication: if all orbits share the same length m, we know that this length is the order of f,<br />

which is always a multiple of o(a). <br />

Computationally,<br />

Theorem 7.5 All orbits will have the same length m ⇐⇒ ∀x<br />

<br />

((a − 1)x + b)(1 + a + . . . a m−1 <br />

) = 0 ⇒ o(a) | m<br />

that is to say one cannot have ((a − 1)x + b)(1 + a + . . . a m−1 ) = 0 without o(a) dividing m.<br />

Proof Assume all orbits have the same length m; from the Lemma above, that length is a multiple of o(a).<br />

The length of Ox is the smallest r such that<br />

a r x + b (1 + a + . . . a r−1 ) = x ⇐⇒ ((a − 1)x + b) (1 + a + . . . a r−1 ) = 0<br />

By assumption, this r is a multiple of o(a). Hence a r = 1. Hence also b (1 + a + . . . a r−1 ) = 0.<br />

Now for any m > 0 with<br />

((a − 1)x + b) (1 + a + . . . a m−1 ) = 0<br />

this means f m (x) = x and m is a period of the restriction of f to Ox. As seen previously, this means that<br />

m is a multiple of r, length of Ox: again a m = a kr = (a r ) k = 1 i.e. o(a) | m.<br />

Reverse implication: assume that condition ((a − 1)x + b) (1 + a + . . . a m−1 ) = 0 always implies that<br />

a m = 1, i.e. o(a) | m. This means literally that all orbit lengths m are multiples of o(a); by the lemma<br />

above, it proves that all orbits have the same length. <br />

There is little hope of simplifying this condition: one has to look into the sequence 1 + a + . . . a m−1 (m<br />

varies from 1 to some divisor of o(f)) for factors c common with n, and look for arithm<strong>et</strong>ic sequences<br />

(b + x(a − 1)) (x from 0 to n/ gcd(n, a − 1)) that do NOT provide the missing factors n/c. In the <strong>la</strong>st<br />

example, the only possible case was with m = 2, 1 + a = 14, common factor 2: one had to find arithm<strong>et</strong>ic<br />

sequences with ratio 12, where no term is a multiple of 20/2 = 10.<br />

Example 7.6 For instance, for f : x ↦→ 13 x+3 (mod 20), the sequence of the 1+a+. . . a m−1 takes values<br />

1, 14, 3, 0 cyclically. The order of a = 13 is 4 mod 20. For b = 3, one computes b+x(a−1) = 3, 15, 7, 19, 11,<br />

neither of which gives 0 when multiplied by 1, 14 or 3. So the condition is verified, as it is for any odd b.<br />

But for (say) b = 2, it does not work (|O4| = 2). The sequence (12 x + 2)x=0...4 contains 10 (for x = 4),<br />

and this enables ((a − 1)x + b) (1 + a + . . . a m−1 ) = 0 for m = 2 < 4, i.e. an orbit of length 2 instead of 4.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!