IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Inverse d'une matrice de Hilbert


Sujet :

Mathématiques

  1. #1
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 861
    Points
    11 861
    Par défaut Inverse d'une matrice de Hilbert
    Bonsoir,

    Un ami à moi a une conjecture sur une propriété de l'inverse d'une matrice de Hilbert.

    En effet, il a vérifié que pour les dimensions 2, 3, 4, 5 et 6, la somme des coefficiens de l'inverse de la matrice de Hilbert vaut respectivement 4, 9, 16, 25 et 36.

    Donc la somme sur i,j des coefficients de cette matrice vaut n², visiblement.

    J'ai trouvé l'expression générale de l'inverse de la matrice de Hilbert, mais aucune démonstration. Et nullepart nous ne trouvons la propriété dont je vous parle.

    Quelqu'un en saurait plus, que ce soit sur le calcul de l'inverse ou sur cette fameuse potentielle propriété ?


  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par Alp Voir le message
    Bonsoir,

    Un ami à moi a une conjecture sur une propriété de l'inverse d'une matrice de Hilbert.

    En effet, il a vérifié que pour les dimensions 2, 3, 4, 5 et 6, la somme des coefficiens de l'inverse de la matrice de Hilbert vaut respectivement 4, 9, 16, 25 et 36.

    Donc la somme sur i,j des coefficients de cette matrice vaut n², visiblement.

    J'ai trouvé l'expression générale de l'inverse de la matrice de Hilbert, mais aucune démonstration. Et nullepart nous ne trouvons la propriété dont je vous parle.

    Quelqu'un en saurait plus, que ce soit sur le calcul de l'inverse ou sur cette fameuse potentielle propriété ?

    Ça doit être classique. Ce que je n'essayerais pas : calculer H^{-1}. Ce que j'essayerais :
    soit U le vecteur colonne dont tous les coefficients valent 1. Ce qu'on cherche c'est le produit scalaire S = <H^{-1}U | U >. Je poserais V=H^{-1}U en sorte que S = <V | HV >.

    Or ça c'est calculable car H est une matrice de Gram pour le produit scalaire f -> int_0^1 t^{k-1}dt et la base canonique. Après, je suppose que si on se retrousse un peu les manches, ça devrait sortir. Si ça ne marche pas, faut peut-être regarder le spectre d'une matrice de Hilbert. Bon courage.

  3. #3
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Deux approches sont possibles:

    1. Approche déductive: Tu essaies de démontrer rigoureusement ta conjecture, ou tu charges un logiciel de calcul formel, comme Mathematica, de le faire à ta place. Je n'insiste pas là-dessus, parce que je suis un numériste et que ce n'est pas mon truc.
    2. Approche inductive (selon G. Polya): Tu as calculé pour n entre 2 et 6, et chaque fois la conjecture était vérifiée. Tu continues avec d'autres n plus grands. Chaque fois que le test est réussi, la conjecture est un peu plus plausible. La première fois que le test est échoué, tu en déduis que la conjecture est fausse. En fait, tu vas te heurter à un autre obstacle: les matrices de Hilbert sont très mal conditionnées et les erreurs d'arrondis vont vite devenir prohibitives.


    Bonne chance
    Jean-Marc Blanc

  4. #4
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Juste pour info, la formule d'inversion de la n*n matrice de Hilbert Hij est connue:

    Hij^-1 = (-1)^(i+j) * (i+j-1) * C(n+i-1,n-j)*C(n+j-1,n-i)*(C(i+j-2,i-1)^2)


    Ok, après, il faut tripatouiller ces coeff de pascal pour en ressortir quelque-chose...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par Nemerle Voir le message
    Juste pour info, la formule d'inversion de la n*n matrice de Hilbert Hij est connue:

    Hij^-1 = (-1)^(i+j) * (i+j-1) * C(n+i-1,n-j)*C(n+j-1,n-i)*(C(i+j-2,i-1)^2)


    Ok, après, il faut tripatouiller ces coeff de pascal pour en ressortir quelque-chose...
    Moi je dirais plutôt le contraire : il faut montrer que la somme vaut n^2 et en déduire une jolie identité

  6. #6
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Hij^-1 = (-1)^(i+j) * (i+j-1) * C(n+i-1,n-j)*C(n+j-1,n-i)*(C(i+j-2,i-1)^2)
    Ce serait plutôt H^-1i,j=.......
    Par ailleurs on avancerait beaucoup dans ce problème si quelqu'un connaissait
    la plus grande constante K telle que |H(X)|>=K|X| qui existe pour raison de continuité des applications linéaires en dimension finie.
    L'inverse de ce nombre correspond à la norme de l'inverse de H.
    On pourrait alors utiliser l'excellente remarque de c-candide pour arriver à une inégalité en tenant compte du fait que
    |<X,H^-1X>| <=|X||H^-1X|<=|H^-1||X|^2
    et que pour le vecteur X=(1,1,....1) |X|^2 vaut exactement n
    l'idéal serait donc que la constante K soit égale à 1/ n, on aurait fait la moitié du chemin.

  7. #7
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Citation Envoyé par Zavonen Voir le message
    Ce serait plutôt H^-1i,j=........
    ça c'est vraiment chipoter (sous TeX, l'ordre des inf & sup importent peu par exemple)
    Citation Envoyé par Zavonen Voir le message
    Par ailleurs on avancerait beaucoup dans ce problème si quelqu'un connaissait
    la plus grande constante K telle que |H(X)|>=K|X| qui existe pour raison de continuité des applications linéaires en dimension finie.
    L'inverse de ce nombre correspond à la norme de l'inverse de H.
    On pourrait alors utiliser l'excellente remarque de c-candide pour arriver à une inégalité en tenant compte du fait que
    |<X,H^-1X>| <=|X||H^-1X|<=|H^-1||X|^2
    et que pour le vecteur X=(1,1,....1) |X|^2 vaut exactement n
    l'idéal serait donc que la constante K soit égale à 1/ n, on aurait fait la moitié du chemin.
    C'est aussi une bonne idée, il faut calculer K, mais bon courage !

  8. #8
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    ça c'est vraiment chipoter
    Oui, c'est juste pour te souhaiter la Bonne Année !
    Pour ceux qui en doutent encore la conjecture est TRES vraisemblable. Je viens d'écrire un petit programme de vérification jusqu'à n=500. Rien que des carrés parfaits:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    #include <stdio.h>
    #include <stdlib.h>
     
    #define N 1000
    unsigned int Cpn[N][N+1];
     
    // Remplit le triangle de Pascal
    void FillCpn()
    {
        int i,j;
        for (i=0;i<N;i++)
            for (j=1;j<N+1;j++)
                Cpn[i][j]=0;
        for (i=0;i<N;i++)
            Cpn[i][0]=1;
        for (i=1;i<N;i++)
            for (j=1;j<N+1;j++)
                Cpn[i][j]=Cpn[i-1][j-1]+Cpn[i-1][j];
    }
     
    // Retourne le coefficient Cp,n
    unsigned int Coeff(int p, int n)
    {
        return Cpn[n][p];
    }
     
    // Retourne le coefficient d'indices i, j de l'inverse de la matrice de Hermite d'ordre n
    int K(int i, int j,int n)
    {
        unsigned int r= (i+j-1)*Coeff(n-j,n+i-1)*Coeff(n-i,n+j-1)*Coeff(i-1,i+j-2)*Coeff(i-1,i+j-2);
        if ((i+j)%2) return -r;
        else return r;
    }
     
    // Calcule la somme des coefficients de ladite matrice
    int SommeCoeffs (int n)
    { int i,j;
      int S=0;
      for(i=1;i<=n;i++)
      for(j=1;j<=n;j++)
      S+=K(i,j,n);
      return S;
    }
     
    // Affiche les résultats pour 1 à n (donc les carrés)
    void Show (int n)
    {
        int i;
        for(i=1;i<=n;i++)
        printf("%d\n",SommeCoeffs(i));
    }
     
    // vérification jusqu'à 500. Tout colle !
    int main()
    {
        FillCpn();
        Show(500);
        return 0;
    }

  9. #9
    Rédacteur
    Avatar de Zavonen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 772
    Détails du profil
    Informations personnelles :
    Âge : 76
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 772
    Points : 1 913
    Points
    1 913
    Par défaut
    Les choses s'éclairent un peu.
    Voici un listing des 6 premières Hn inverses.
    De fait on voit que c'est le premier coefficient qui est égal à n^2.
    Tout revient à montrer que les autres s'annulent.
    Visuellement, on peut faire des groupements qui s'annulent.
    Il ne reste plus qu'à théoriser ça:
    1
    ----------------------------------------
    4 -6
    -6 12
    ----------------------------------------
    9 -36 30
    -36 192 -180
    30 -180 180
    ----------------------------------------
    16 -120 240 -140
    -120 1200 -2700 1680
    240 -2700 6480 -4200
    -140 1680 -4200 2800
    ----------------------------------------
    25 -300 1050 -1400 630
    -300 4800 -18900 26880 -12600
    1050 -18900 79380 -117600 56700
    -1400 26880 -117600 179200 -88200
    630 -12600 56700 -88200 44100
    ----------------------------------------
    36 -630 3360 -7560 7560 -2772
    -630 14700 -88200 211680 -220500 83160
    3360 -88200 564480 -1411200 1512000 -582120
    -7560 211680 -1411200 3628800 -3969000 1552320
    7560 -220500 1512000 -3969000 4410000 -1746360
    -2772 83160 -582120 1552320 -1746360 698544
    ----------------------------------------

    Process returned 0 (0x0) execution time : 0.046 s
    Press any key to continue.
    En fait les matrices sont symétriques.
    Si on prend la diagonale, elles sépare la matrice en deux triangles dont les sommes sont égales. Il suffit donc de prouver que la somme des éléments du triangle supérieur est égale à l'opposé de la moitié de la somme de la diagonale (privée de son premier terme).

  10. #10
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut !

    Ton problème, et la discussion qui s'en est suivi, sont très intéressant du point de vue académique. Maintenant, j'ai une question subsidiaire: à quoi sert-il pratiquement de calculer l'inverse d'une matrice de Hilbert ?

    Jean-Marc Blanc

  11. #11
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    => controle d'algorithmes matricels, mais pas uniquement: sur un classe de variétés différentielles (par exemple les espaces de type tube), ces matrices ont pleins d'applications (ce sont des normes sur les espaces tangents). Et l'inverse d'une norme, c'est pratique

    On a aussi:

    http://www.dartmouth.edu/~mqphan/Resources/TP3045.pdf

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par Alp Voir le message
    Un ami à moi a une conjecture sur une propriété de l'inverse d'une matrice de Hilbert.
    Donc la somme sur i,j des coefficients de cette matrice vaut n²,
    La conjecture est exacte en effet, cf. Knuth TAOCP, tome 1, exo 1.2.3.45 (il est corrigé, ça passe par le calcul de l'inverse d'une matrice de Cauchy mais c'est assez simple). Je reste persuadé qu'il existe une approche via le produit scalaire naturel lié à une matrice de Hilbert, l'idée étant d'interpréter le produit matriciel de H par son inverse en terme de base orthogonale pour ce produit scalaire.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/09/2007, 16h28
  2. Inverse d'une matrice
    Par tralf dans le forum C
    Réponses: 11
    Dernier message: 11/04/2007, 17h00
  3. Inversion d'une matrice carrée d'ordre
    Par rassol3 dans le forum C
    Réponses: 2
    Dernier message: 01/12/2006, 09h40
  4. inversion d'une matrice, probleme algebrique
    Par le_voisin dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 11/09/2006, 18h39
  5. Réponses: 8
    Dernier message: 07/09/2006, 09h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo