Suite double

Bonsoir les amis
Question naïve.
Je suis tombée sur cette suite double (en faisant un exo de proba) : $$

\forall\, n \geqslant 1, \quad
\forall\, j \in \{1,\dots, n \}, \quad
u_{n,j} =
\Big(1 - \frac{1}n \Big) u_{n-1, j} \ + \
\frac{1}n u_{n-1, j-1}

$$ avec $u_{0,j} =
\left\{
\begin{array}{ll}
1 & \text{si $j = 0$} \\
0 & \text{sinon} \\
\end{array}
\right.
$
Peut-on dire des choses intelligentes sur $u_{n,j}$ ?
J'imagine qu'il est utopique d'obtenir une formule close...

[small]
Si Claude Quitté passait par là, il me dirait de programmer les premiers termes.
C'est ce que je vais faire !
[/small]


Ca y est, c'est programmé :
-->MatriceT(7)
 ans  =
 
    1.           0.           0.           0.           0.           0.           0.         
    0.5          0.5          0.           0.           0.           0.           0.         
    0.3333333    0.5          0.1666667    0.           0.           0.           0.         
    0.25         0.4583333    0.25         0.0416667    0.           0.           0.         
    0.2          0.4166667    0.2916667    0.0833333    0.0083333    0.           0.         
    0.1666667    0.3805556    0.3125       0.1180556    0.0208333    0.0013889    0.         
    0.1428571    0.35         0.3222222    0.1458333    0.0347222    0.0041667    0.0001984  

J'ai même simulé la variable aléatoire sous-jacente (en bleu) et la loi théorique (donnée par une ligne de la matrice) est en rouge83958

Réponses

  • @Clairon
    Il y a un petit truc que j'ai trouvé pas net dans la définition récursive de $u$ (mais peut-être que j'ai lu trop vite). Si bien que j'ai mis une garde pour $j > n$. En clair :
    [color=#000000]
    function u(n,j)
      assert n ge 0 ;
      if j gt n then return 0 ; end if ;
      if n eq 0 then return (j eq 0 select 1 else 0) ; end if ;
      return (1-1/n)*u(n-1,j) + 1/n*u(n-1,j-1) ;
    end function ;
    
    N := 7 ;
    M := Matrix(N, N, [[u(n,j) : j in [1..N]] : n in [1..N]]) ;
    [/color]
    
    J'ai écrit cela vite fait car je n'ai pas le temps (c'est bien parce que c'est toi).

    Voilà la matrice $M$ pour $N = 7$ ainsi que $N! \times M$, à coefficients entiers
    [color=#000000]
    > M ;                  
    [      1       0       0       0       0       0       0]
    [    1/2     1/2       0       0       0       0       0]
    [    1/3     1/2     1/6       0       0       0       0]
    [    1/4   11/24     1/4    1/24       0       0       0]
    [    1/5    5/12    7/24    1/12   1/120       0       0]
    [    1/6 137/360    5/16  17/144    1/48   1/720       0]
    [    1/7    7/20   29/90    7/48   5/144   1/240  1/5040]
    > Factorial(N)*M ;
    [5040    0    0    0    0    0    0]
    [2520 2520    0    0    0    0    0]
    [1680 2520  840    0    0    0    0]
    [1260 2310 1260  210    0    0    0]
    [1008 2100 1470  420   42    0    0]
    [ 840 1918 1575  595  105    7    0]
    [ 720 1764 1624  735  175   21    1]
    [/color]
    
    En RealField, histoire de comparer avec toi pour voir si je me suis gouré. Sorry, on voit bien que je ne suis pas du tout numéricien : l'affichage est nul.
    [color=#000000]
    > R ;                  
    Real field of precision 7
    > ChangeRing(M,R) ;    
    [1.000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000]
    [0.5000000 0.5000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000]
    [0.3333333 0.5000000 0.1666667 0.0000000 0.0000000 0.0000000 0.0000000]
    [0.2500000 0.4583333 0.2500000 0.04166667 0.0000000 0.0000000 0.0000000]
    [0.2000000 0.4166667 0.2916667 0.08333334 0.008333334 0.0000000 0.0000000]
    [0.1666667 0.3805556 0.3125000 0.1180556 0.02083333 0.001388889 0.0000000]
    [0.1428571 0.3500000 0.3222222 0.1458333 0.03472222 0.004166667 0.0001984127]
    [/color]
    
  • Claude,

    Merci beaucoup !!
    Je suis bête. J'avais oublié que je connaissais $u_{i,i}$ et $u_{i,1}$ (à l'aide du contexte) !!
    En effet, c'est du $1/i!$ et du $1/i$.
  • Suite et fin de l'épisode :
    function proba(n,j)
      E := {1..n} ;
      Pj := Subsets(E, j) ;
      return &+([(&*[1/i : i in I])*(&*[(1-1/k) : k in E diff I]) : I in Pj]) ;
    end function ;
    
    N := 7 ;
    [proba(N,j) : j in [1..N-1]] ;
    
    [ 1/7, 7/20, 29/90, 7/48, 5/144, 1/240 ]
    
    $$
    u_{n,j} \ = \
    \sum_{I \in \mathcal P_j(1..n)}
    \prod_{i \in I} \frac{1}{i}
    \prod_{k \notin I} (1-\frac{1}{k})
    \ = \
    \dfrac{1}{n!}
    \sum_{I \in \mathcal P_j(1..n)}
    \prod_{k \notin I} (k-1)
    $$
  • @Clairon
    Bien joué. Je me permets une petite remarque sur le code car je vois qu'il te manque un terme (le dernier à savoir $1/7!$) dans ta suite. C'est le problème du produit vide (ou de la somme vide, c'est pareil). Il faut spécifier dans quelle structure algébrique se fait le produit de manière à ce que le produit vide donne 1 (l"élément neutre). Par exemple :
    [color=#000000]
    > &* [3, 4, 5] ;
    60
    > &*[] ;
    >> &*[] ;
       ^
    Runtime error in '&*': Illegal null sequence
    > Z := IntegerRing() ;
    > &*[Z| ] ;           
    1
    [/color]
    
    La mise à jour de la fonction en utilisant cette spécificité. Ainsi que suppression de parenthèses inutiles, code plus aéré (C.Q. t'es ch.ant), avec un nom de fonction ``à la magma'' (et pas comme dans certains langages de programmation que je ne nommerais pas). C.Q. t'est vraiment super-ch.nt. Et plutôt la forme standard function-name := function(parameters) plutôt que l'autre forme (pour la fonction $u$, c'était indispensable car récursive).
    [color=#000000]
    Q := RationalField() ;
    ClaireProbability := function(n,j)
      E := {1..n} ;
      Pj := Subsets(E, j) ;
      somme := &+ [&*[1/i : i in I] *  &*[Q| 1-1/k : k in E diff I] : I in Pj] ;
      assert somme eq 1/Factorial(n) * &+[&*[Q| k-1 : k in E diff I] : I in Pj] ;
      return somme ;
    end function ;
    
    > [ClaireProbability(N,j) : j in [1..N]] ;
    [ 1/7, 7/20, 29/90, 7/48, 5/144, 1/240, 1/5040 ]
    [/color]
    
  • Claude a écrit:
    Je me permets une petite remarque sur le code car je vois qu'il te manque un terme (le dernier à savoir 1/7!) dans ta suite. C'est le problème du produit vide (ou de la somme vide, c'est pareil).

    Excellent !
    C'est exactement ce que je voulais savoir !!!!

    Merci Claude.


    Vu pour le nom de la fonction (je me mélange les pinceaux entre Scilab et magma).
Connectez-vous ou Inscrivez-vous pour répondre.