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

Calcul scientifique Python Discussion :

création d'une matrice N*N


Sujet :

Calcul scientifique Python

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut création d'une matrice N*N
    Bonsoir,
    je voulais crée une matrice M sur python de cette forme :
    Étant donné un vecteur numpy x = np.array([x_0, x_1, ..., x_(n-1)])
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            [ x_0                x_1         ...    x_(n-1)       ]
            [(x_1)^2          (x_2)^2   ...   (x_0)^2      ]
     M = [(x_2)^3          (x_3)^3   ...   (x_1)^3      ]
            [ ..............................………………………...     ]
            [(x_(n-1)^n     (x_0)^n   ...    (x_(n-2)^n ]
    chaque ligne de la matrice M s'obtient en augmentant de 1 la puissance à laquelle est élevé chaque élément et en déplaçant les éléments d'une colonne à gauche de façon cyclique (le premier terme à gauche devient le dernier)
    j'ai essaie avec ce code mais ça marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import numpy as np
    def matrice(N):
        v=np.ones(N)
        for i in range(0,n):
            X=np.arange(x[i],x[n-i])
            for j in range(1,N):
                for i in X:
                    v[j:]=X[i]**j
        return v

    et x est donné ==> x = np.array([1.,-3.,2.,-2.,2.])

    MERCI POUR VOTRE AIDE.

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Salut,

    Citation Envoyé par MAtatima Voir le message
    j'ai essaie avec ce code mais ça marche pas
    Essayez de simplifier le problème en commençant par créer un array NxN et en remplissant chaque "ligne" par le vecteur x à la puissance correspondante.
    Un fois que vous aurez fait çà, pour permuter vous avez np.roll.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    salut,
    Merci pour votre réponse.
    je sais pas comment écrire mon x de cette forme
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    x=np.array([x_0, x_1, x_2,......,x_(n-1)])

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    je sais pas comment écrire mon x de cette forme
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    x=np.array([x_0, x_1, x_2,......,x_(n-1)])
    Relisez votre premier post, x vous est donné.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Relisez votre premier post, x vous est donné.

    - W
    ok d'accord
    pour créer ma matrice j'ai fait ça :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=int)
     
    for i in range(0,len(x)):
        for j in range(1,len(x)-1):
            M[i,:]=x**j
    print(M)
    mais il m'affiche ça :

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[  1 -27   8  -8   8]
     [  1 -27   8  -8   8]
     [  1 -27   8  -8   8]
     [  1 -27   8  -8   8]
     [  1 -27   8  -8   8]]
    je sais pas où est le problème

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    c'est j'ai réussi à remplir ma matrice il me reste qu'a permuté

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=int)
    for i in range(0,len(x)):
        M[i,:]=x**(i+1)
    print(M)
    ça me donne :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[   1   -3    2   -2    2]
     [   1    9    4    4    4]
     [   1  -27    8   -8    8]
     [   1   81   16   16   16]
     [   1 -243   32  -32   32]]

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    c'est j'ai réussi à remplir ma matrice il me reste qu'a permuté
    Et bien vous ouvrez la documentation de np.roll pour voir comment çà fonctionne et il n'y a plus qu'une instruction à ajouter à votre code.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Et bien vous ouvrez la documentation de np.roll pour voir comment çà fonctionne et il n'y a plus qu'une instruction à ajouter à votre code.

    - W
    j'ai fait ce que vous m'avez dit mais le problème c'est que il permute la première ligne aussi.
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import numpy as np
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=int)
    def matrice(x):
        for i in range(0,len(x)):
            M[i,:]=x**(i+1)
        print(M)
    print(matrice(x))
    M=np.roll(M, 1)
    print(M)
    il affiche :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[  32    1   -3    2   -2]
     [   2    1    9    4    4]
     [   4    1  -27    8   -8]
     [   8    1   81   16   16]
     [  16    1 -243   32  -32]]

  9. #9
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    j'ai fait ce que vous m'avez dit mais le problème c'est que il permute la première ligne aussi.
    Je vous ai juste indiqué la documentation de np.roll.
    Et je ne comprends pas pourquoi vous l'appliquez à M (plutôt qu'à x).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Je vous ai juste indiqué la documentation de np.roll.
    Et je ne comprends pas pourquoi vous l'appliquez à M (plutôt qu'à x).

    - W
    j'ai pensé qu'il faut l'appliqué sur M. J'ai changé un peu mon code mais ça me donne pas toujours ce que je veux

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=int)
    M[0,:]=x
    def matrice(x1):
        for i in range(1,len(x)):
            x1=np.roll(x, 1)
            M[i,:]=x1**(i+1)
        print(M)
    print(matrice(x))
    voici la matrice d'origine
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[   1   -3    2   -2    2]
     [   1    9    4    4    4]
     [   1  -27    8   -8    8]
     [   1   81   16   16   16]
     [   1 -243   32  -32   32]]
    il prend la valeur du droite et il l'a mis à gauche
    il affiche :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[   1   -3    2   -2    2]
     [   4    1    9    4    4]
     [   8    1  -27    8   -8]
     [  16    1   81   16   16]
     [  32    1 -243   32  -32]]
    je suis vraiment désolée pour ce dérangement

  11. #11
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    je suis vraiment désolée pour ce dérangement
    Vous regardez la matrice M que vous avez fabriqué et vous la comparez au résultat attendu. Vous devez constater que la première et la deuxième ligne sont correctes, mais que les lignes suivantes sont décalées de 1 comme la deuxième ligne. Puis vous relisez votre code pour essayer de trouver d'où sort ce 1 et vous corrigez.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #12
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Vous regardez la matrice M que vous avez fabriqué et vous la comparez au résultat attendu. Vous devez constater que la première et la deuxième ligne sont correctes, mais que les lignes suivantes sont décalées de 1 comme la deuxième ligne. Puis vous relisez votre code pour essayer de trouver d'où sort ce 1 et vous corrigez.

    - W
    en fait c'est pas ça qu'il faut faire, même la ligne 2 n'est pas correcte, voici la forme qu'il faut obtenue à la fin :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #     [ x_0       x_1     x_2      x_3       x_4   ]
    #     [(x_1)^2   (x_2)^2  (x_3)^2  (x_4)^2  (x_0)^2]
    # M = [(x_2)^3   (x_3)^3  (x_4)^3  (x_0)^3  (x_1)^3]
    #     [(x_3)^4   (x_4)^4  (x_0)^4  (x_1)^4  (x_2)^4]
    #     [(x_4)^5   (x_0)^5  (x_1)^5  (x_2)^5  (x_3)^5]
    le premier terme à gauche de la première ligne devient le dernier de la deuxième ligne ….

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    e premier terme à gauche de la première ligne devient le dernier de la deuxième ligne
    Déjà prenez un x plus facile à lire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> x = np.array(range(1, 4))
    >>> x
    array([1, 2, 3])
    puis appliquez lui np.roll(...):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> np.roll(x, 1)
    array([3, 1, 2])
    >>>
    Puis vous le comparez à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #     [ x0       x1     x2  ], au départ.
    #     [ x1      x2      x0  ], après un "roll".
    Puis si vous tenez à vos puissances:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> np.roll(x**2, 1)
    array([9, 1, 4])
    >>>
    Puis vous le comparez à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #     [ x0       x1     x2  ], au départ.
    #     [ x1^2      x2^2      x0^2  ], après un "roll".
    Donc np.roll fait le boulot (pour passer d'une ligne à l'autre).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  14. #14
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Vraiment j'arrive pas avoir cette forme :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #     [ x_0       x_1     x_2      x_3       x_4   ]
    #     [(x_1)^2   (x_2)^2  (x_3)^2  (x_4)^2  (x_0)^2]
    # M = [(x_2)^3   (x_3)^3  (x_4)^3  (x_0)^3  (x_1)^3]
    #     [(x_3)^4   (x_4)^4  (x_0)^4  (x_1)^4  (x_2)^4]
    #     [(x_4)^5   (x_0)^5  (x_1)^5  (x_2)^5  (x_3)^5]

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    j'ai fait ça :
    Code python : 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
    import numpy as np
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=float)
    M[0,:]=x
    def matrice_nor(x):
        for i in range(1,N):
            M[i,:]=x
        print(M)
    print(matrice_nor(x))
     
    def roll(x):
        x1=np.roll(x,4)
        M[1,:]=x1
        x2=np.roll(x1,4)
        M[2,:]=x2
        x3=np.roll(x2,4)
        M[3,:]=x3
        x4=np.roll(x3,4)
        M[4,:]=x4
        print(M)
    print(roll(x))
     
    def matrice_puiss(x):
        for i in range(1,len(x)):
            M=M[0,i]**(i+1)
        print(M)    
    print(matrice_puiss(x))
    la fonction roll(x) affiche :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [[ 1. -3.  2. -2.  2.]
     [-3.  2. -2.  2.  1.]
     [ 2. -2.  2.  1. -3.]
     [-2.  2.  1. -3.  2.]
     [ 2.  1. -3.  2. -2.]]
    c'est ce que je veux mais j'ai le problème avec la fonction matrice_puiss(x) pour élever la puissance des éléments de la matrice

  16. #16
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    je pense j'ai résolu le problème de tout à l'heur voici ce que j'ai fait :
    Code python : 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
    import numpy as np
    x=np.array([1.,-3.,2.,-2.,2.])
    N=len(x)
    M=np.ones((N,N), dtype=float)
    M[0,:]=x
    def matrice_nor(x):
        for i in range(1,N):
            M[i,:]=x
        print(M)
    #print(matrice_nor(x))
     
    def roll(x):
        x1=np.roll(x,4)
        M[1,:]=x1
        x2=np.roll(x1,4)
        M[2,:]=x2
        x3=np.roll(x2,4)
        M[3,:]=x3
        x4=np.roll(x3,4)
        M[4,:]=x4
        for i in range(1,N):
            M[i,:]=M[i,:]**(i+1)
        print(M)    
        e=np.min(sl.eigvals(M, homogeneous_eigvals=True)[0]) #la valeur propre réelle plus petite
        v=np.min(sl.eigvals(M, homogeneous_eigvals=True)[1]) #le vecteur propre correspondant de la matrice
        return(e,v)
    (e, v) =roll(x)  
    print(e,v)
    il affiche :
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    [[   1.   -3.    2.   -2.    2.]
     [   9.    4.    4.    4.    1.]
     [   8.   -8.    8.    1.  -27.]
     [  16.   16.    1.   81.   16.]
     [  32.    1. -243.   32.  -32.]]
    (-98.01727409707601+0j) (1+0j)
    mais je sais pas si le code apparait très long ou pas ? et pour les deux lignes que j'ai rajouté à la fin c'est pour avoir la plus petite valeur propre et le vecteur propre associé mais je ne sais pas si c'est bon ce que j'ai fait.

  17. #17
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par MAtatima Voir le message
    mais je sais pas si le code apparait très long ou pas ?
    Le code pourrait se résumer à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    import numpy as np
     
    def create_M(ar):
        N = ar.size
        M = np.zeros((N, N))
        for i in range(N):
            M[i] = np.roll(ar ** (i+1), i)
        return M
    On teste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> x = np.array(range(1, 4))
     
    >>> create_M(x)
    array([[  1.,   2.,   3.],
           [  9.,   1.,   4.],
           [  8.,  27.,   1.]])
    >>>
    et voilà.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  18. #18
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 21
    Par défaut
    Merci beaucoup pour votre temps

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/06/2007, 13h22
  2. [Débutant] Création d'une matrice de confusion
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 4
    Dernier message: 15/05/2007, 10h19
  3. [TP] Création d'une matrice
    Par amine6441 dans le forum Turbo Pascal
    Réponses: 1
    Dernier message: 03/03/2007, 17h20
  4. Réponses: 6
    Dernier message: 07/02/2007, 16h03
  5. Création d'une matrice d'entiers
    Par fleur de nostalgie dans le forum C
    Réponses: 6
    Dernier message: 21/12/2006, 15h17

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