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

Python Discussion :

Taille maximale de matrices (dans un un produit matriciel)


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Par défaut Taille maximale de matrices (dans un un produit matriciel)
    Bonjour,
    J'ai réalisé un scipt contenant dans une boucle un produit de deux matrices carrées A et B de taille (m, m). Le programme s'execute convenablement avec la fonction dot(A, B). Dés que la taille des matrices atteint (10, 10), je reçois un message d'erreurs (TypeError: can't multiply sequence by non-int of type 'list').
    Alors, y'a t-il une taille limite de la matrice que python ne supporte pas ?
    Merçi beaucoup pour votre contribution

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Par défaut
    Bonjour,

    Si tu joignais ton bout de code, dans les balises prévues à cet effet (#), il nous serait beaucoup
    plus facile de t'aider

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 064
    Par défaut
    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
    >>> from numpy import matrix
    >>> matrix([[i for i in range(10)] for i in range(10)])
    matrix([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
            [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
    >>> A = matrix([[i for i in range(10)] for i in range(10)])
    >>> B = matrix([[i for i in range(10)] for i in range(10)])
    >>> from numpy import dot
    >>> dot(A, B)
    matrix([[  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405],
            [  0,  45,  90, 135, 180, 225, 270, 315, 360, 405]])
    ?

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    La seule question intéressante, c'est: que veut dire le message d'erreur? Il semble pourtant assez explicite et ne suggère pas un dépassement de capacité mais une simple erreur de code.

    Voilà le genre de code buggué qui génère un tel message:

    ===> on peut multiplier une chaine par un entier pour la dupliquer, mais on n'a pas le droit de la multiplier par une liste.

  5. #5
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Par défaut Taille maximale de matrices (dans un produit matriciel)
    Bonjour messieurs,
    Merçi beaucoup pour cette célérité dans la réponse. concernant le probléme posé, il s'agit peut être d'erreur de code. Je vous joint cet exemple similaire qui affiche une erreur, le résultat du produit matriciel dot (w, p) n'est pas donné.

    Je vous remercie infiniment

    exemple de produit matriciel:
    import math, scipy, numpy
    from math import*
    import numpy as np
    import scipy as sp
    from numpy import*
    type=matrix
    w=matrix([[1.3, 1., 3, 1.45, 23.6, 3.45, 2.45, 6, 34, 7.45], [1, 3., 6., 6., 8., 2., 6., 8., 9., 3.], [1.3, 2.4, 5.98, 4.34, 6.34, 5.65, 3.56, 7.465, 8.34, 8.34], [2., 4., 7., 8., 6., 3.6, 7.9, 8.7, 4.12, 3.65], [1.23, 4.45, 7.45, 2.34, 4,45, 3,65, 6.67, 7.76, 7., 3.65], [1.3, 1., 3., 1.45, 23.6, 3.45, 2.45, 6., 34., 7.45], [1., 3., 6., 6., 8., 2., 6., 8., 9., 3.], [1.3, 2.4, 5.98, 4.34, 6.34, 5.65, 3.56, 7.465, 8.34, 8.34], [2., 4., 7., 8., 6., 3.6, 7.9, 8.7, 4.12, 3.65], [1.23, 4.45, 7.45, 2.34, 4,45, 3,65, 6.67, 7.76, 7., 1.]])
    p=matrix([[1.3, 1., 3, 1.25, 22.6, 1.45, 2.45, 6, 32, 3.45], [7, 1., 8., 4., 2., 5., 7., 1., 3., 2.4], [1.5, 2.4, 5.68, 1.34, 5.34, 3.65, 7.56, 8.465, 4.74, 6.84], [1., 3., 5., 2., 4., 6.6, 4.9, 5.7, 7.12, 8.65], [1.23, 4.45, 7.45, 2.34, 4,45, 3,65, 6.67, 7.76, 7., 3.65], [1.3, 1., 3., 1.45, 23.6, 3.45, 2.45, 6., 34., 7.45], [1., 3., 6., 6., 8., 2., 6., 8., 9., 3.], [1.3, 2.4, 5.98, 4.34, 6.34, 5.65, 3.56, 7.465, 8.34, 8.34], [2., 4., 7., 8., 6., 3.6, 7.9, 8.7, 4.12, 3.65], [1.23, 4.45, 7.45, 2.34, 4,45, 3,65, 6.67, 7.76, 7., 1.]])
    print("matrice1 w=", w)
    print("matrice1 p=", p)
    from numpy import dot
    s=dot(w, p)
    print("Produit des deux matrices est de =", s)

  6. #6
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    J'ai une autre erreur avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        s=dot(w, p)
    ValueError: objects are not aligned
    Il y a en effet un problème dans la 5ème ligne de w:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [1.23, 4.45, 7.45, 2.34, 4, 45, 3, 65, 6.67, 7.76, 7.0, 3.65]
    elle a 12 nombres et pas 10. Probablement, ce sont les nb: 4, 45 => 4.45 et 3, 65 => 3.65

    Je n'ai pas regardé les autres.

  7. #7
    Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mars 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 7
    Par défaut Taille maximale des matices (dans un produit matritiel)
    Bonjour,

    Effectivement il y'a eu erreur dans l'ecritures des nombres flotants. Mais il s'avere même aprés correction, le script ne s'execute pas, ci joint le message d'erreur

    Est ce qu'il s'agit d'une mauvaise déclaration des matrices??

    Merçi d'avance

    Résultat d'execution du script:

    Python 3.3.2 |Continuum Analytics, Inc.| (default, May 17 2013, 11:34:40) on Windows (32 bits).
    This is the IEP interpreter with integrated event loop for PYSIDE.
    Type "help" for help, type "?" for a list of *magic* commands.
    [Running script: "C:\Documents and Settings\hp\Bureau\appl11.py"]
    matrice1 w= [[[1.3, 1.0, 3, 1.45, 23.6, 3.45, 2.45, 6, 34, 7.45]
    [1, 3.0, 6.0, 6.0, 8.0, 2.0, 6.0, 8.0, 9.0, 3.0]
    [1.3, 2.4, 5.98, 4.34, 6.34, 5.65, 3.56, 7.465, 8.34, 8.34]
    [2.0, 4.0, 7.0, 8.0, 6.0, 3.6, 7.9, 8.7, 4.12, 3.65]
    [1.23, 4.45, 7.45, 2.34, 4, 45, 3, 65, 6.67, 7.76, 7.0, 3.65]
    [1.3, 1.0, 3.0, 1.45, 23.6, 3.45, 2.45, 6.0, 34.0, 7.45]
    [1.0, 3.0, 6.0, 6.0, 8.0, 2.0, 6.0, 8.0, 9.0, 3.0]
    [1.3, 2.4, 5.98, 4.34, 6.34, 5.65, 3.56, 7.465, 8.34, 8.34]
    [2.0, 4.0, 7.0, 8.0, 6.0, 3.6, 7.9, 8.7, 4.12, 3.65]
    [1.23, 4.45, 7.45, 2.34, 4.45, 3.65, 6.67, 7.76, 7.0, 1.0]]]
    matrice1 p= [[[1.3, 1.0, 3, 1.25, 22.6, 1.45, 2.45, 6, 32, 3.45]
    [7, 1.0, 8.0, 4.0, 2.0, 5.0, 7.0, 1.0, 3.0, 2.4]
    [1.5, 2.4, 5.68, 1.34, 5.34, 3.65, 7.56, 8.465, 4.74, 6.84]
    [1.0, 3.0, 5.0, 2.0, 4.0, 6.6, 4.9, 5.7, 7.12, 8.65]
    [1.23, 4.45, 7.45, 2.34, 4, 45, 3, 65, 6.67, 7.76, 7.0, 3.65]
    [1.3, 1.0, 3.0, 1.45, 23.6, 3.45, 2.45, 6.0, 34.0, 7.45]
    [1.0, 3.0, 6.0, 6.0, 8.0, 2.0, 6.0, 8.0, 9.0, 3.0]
    [1.3, 2.4, 5.98, 4.34, 6.34, 5.65, 3.56, 7.465, 8.34, 8.34]
    [2.0, 4.0, 7.0, 8.0, 6.0, 3.6, 7.9, 8.7, 4.12, 3.65]
    [1.23, 4.45, 7.45, 2.34, 4.45, 3.65, 6.67, 7.76, 7.0, 1.0]]]
    Traceback (most recent call last):
    File "C:\Documents and Settings\hp\Bureau\appl11.py", line 11, in <module>
    s=dot(w, p)
    ValueError: objects are not aligned
    >>>



    Citation Envoyé par tyrtamos Voir le message
    Bonjour,

    J'ai une autre erreur avec ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        s=dot(w, p)
    ValueError: objects are not aligned
    Il y a en effet un problème dans la 5ème ligne de w:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      [1.23, 4.45, 7.45, 2.34, 4, 45, 3, 65, 6.67, 7.76, 7.0, 3.65]
    elle a 12 nombres et pas 10. Probablement, ce sont les nb: 4, 45 => 4.45 et 3, 65 => 3.65

    Je n'ai pas regardé les autres.

Discussions similaires

  1. Matrice de Matrice dans un tableau de taille dynamique
    Par J_help dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 14/04/2010, 22h03
  2. Taille maximale des messages dans un groupe social
    Par maxim_um dans le forum Evolutions du club
    Réponses: 6
    Dernier message: 26/10/2009, 23h24
  3. Taille maximale d'une matrice
    Par le_lolo dans le forum MATLAB
    Réponses: 2
    Dernier message: 20/12/2007, 18h01
  4. Taille maximale de matrice
    Par yeesha dans le forum MATLAB
    Réponses: 2
    Dernier message: 27/04/2007, 13h44
  5. []Taille maximale a passé dans l'url
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/02/2006, 14h12

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