Chart of the function:

     During our study we found a work similar of ours published in the review "Scientific American" (french translation: "Pour la Science" Mars 1982) under Mathematical Games, written by Douglas Hofstadter. It is its graphic method which we will use. The idea to bring back the iterated values ranging between 0 and 1 comes from the study of the linear congruence generator program of Julia Faflex published on the site of MuPAD.


 A. Dewdney in "Scientific American" (french translation: "Pour la Science" Sept 1987) wrote:

     "In the article of June, devoted to the music by computer, I proposed the composition of long, nonrepetitive melodies starting from a succession of numbers modulo m. One chose an initial value from which one obtained the following number  while multiplying by constant a and by adding another constant b; then, after each iteration, one brought back the result to a number ranging between 0 and m-1 by calculating the remainder of division per m. If a and m are incommensurable numbers, (i.e. if they do not have a common divider different from 1) the length sequence is maximum : it produces a strange music ".

that can be written in the form:

 Xn+1 = a. Xn + b mod m  {a and m incommensurable numbers}

     Being given that any integer in the sequence lies between 0 and m-1, we can divide numbers per m and obtain numbers between 0 and 1.

    Graphically we use the traditional method of the layout of the iteration of a mathematical function with real value, i.e. the layout of values x, f(x), f(f(x)), f(f(f(x)))..., or f is a particular function.                

    The feature in green represents the bisectrix, i.e. the line y = x. A vertical line resulting from X0 cuts the curve at y = a*Xn + b. To reiterate the function f, we must trace a new vertical line resulting from the point where X has this value y. It is here that the bisectrix becomes useful. On the basis of the ordinate y0, we move horizontally until cutting the first bisectrix. Then, as on this line y = X, y and X are there both equal to y0. Let us call this new value x1. We plot a second vertical straight line now. This one cuts the curve at y1 = f(x1) = f(y0) = f(f(x0)). We can further repeat the operation.
    When the y value is equal or higher than 1 the modulo function brings back it in the interval [ 0 ]1 ].
    Graphically that is obtained by the second bisectrix which has a mirror function for the value y.
    The use of the particular function where a = 1 is related to the aim of modeling of a neuromimetic structure. The propagation speed of the spikes on the chains of neurons (spiking neurons) connected in loop is supposed to be constant. The parameter b then represents the time between the inputs of the successive values of an external stimulus.

We can study this function with a Delphi program derived from a program displaying the logistic map: x = constant * x * (1-x) .