Calcul de grosses matrices

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
kopru49
Messages: 1
Enregistré le: 05 Juin 2008, 13:14

Calcul de grosses matrices

par kopru49 » 05 Juin 2008, 13:21

Bonjour à tous,
Je cherche à calculer le produits de 2 grosses matrice
Je n'y arrive pas sous excel: nombre colonnes >300
comment faire?
merci



Nightmare
Membre Légendaire
Messages: 13817
Enregistré le: 19 Juil 2005, 18:30

par Nightmare » 05 Juin 2008, 13:30

Bonjour,

quelque soit le logiciel, le temps de calcul sera énorme.

Les coefficients de tes matrices ne sont ils pas liés entre eux? Cela pourrait faciliter grandement les calculs!

Avatar de l’utilisateur
nuage
Membre Complexe
Messages: 2214
Enregistré le: 09 Fév 2006, 23:39

par nuage » 05 Juin 2008, 13:49

Salut,
j'ai entendu dire que scilab pouvait faire ce genre de calcul.
Mais je n'ai jamais essayé.
De toutes façon la remarque de Nightmare reste valable.

abcd22
Membre Complexe
Messages: 2426
Enregistré le: 13 Jan 2006, 15:36

par abcd22 » 05 Juin 2008, 14:22

Bonjour,
Comme nuage, je pense qu'un logiciel de calcul scientifique devrait faire l'affaire, mais je ne suis pas d'accord avec le temps de calcul énorme : l'algorithme naïf pour la multiplication de deux matrice n×n est en O(n³), soit de l'ordre de 27000000 d'opérations pour des matrices 300×300 (et j'imagine que les logiciels scientifiques utilisent des algorithmes plus efficaces), ce qui ne doit pas prendre plus de quelques minutes (peut-être beaucoup moins, j'ai la flemme de tester précisément) de calcul sur un ordinateur moderne.

ZaX
Messages: 4
Enregistré le: 05 Juin 2008, 19:24

par ZaX » 05 Juin 2008, 19:50

Pour réaliser ce calcul, il est possible d'utiliser Matlab ou son équivalent libre Octave. Le produit de matrice est il me semble optimisé si cela est possible, et sinon le calcul se fera de toute façon très rapidement.
Exemple sous octave :

ctave-2.9.17:12> a = rand(300,300);
octave-2.9.17:13> b = rand(300, 300);
octave-2.9.17:14> tic
octave-2.9.17:15> c = a*b;
octave-2.9.17:16> toc
Elapsed time is 0.06621909 seconds.

le temps affiché est celui entre la commande tic et la commande toc.
Moins de 0.1secondes. J'ai un Core2Duo 2.2Ghz, mais bon ça montre que le calcul peut être rapide.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 49 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite