|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre expérimenté
![]() Inscription : février 2010 Messages : 1 473 ![]() |
salut tous,
j'ai quelques infos à vous demandez : 1°) si je comprends bien le calcul de déterminant fait intervenir autant de boucle que la taille de la matrice ? du coup si je veux calculer un determinant de 1e6*1e6 comment dois je faire ? les temps de calcul vont être enorment ? (meme chose pour le calcul d'une matrice inverse puisqu'il y a un determiant ?) 2°) comment calcul t on la complexité d'un algorithme, pourriez vous me donner deux exemples simples s'il vous plait ? - cas du déterminant - cas de la resolution d'une matrice triangulaire. je vous remercie d'avance pour l'aide pour que vous pourrez m'apportez
|
|
|
00
|
|
|
#2 |
![]() ![]() Jean-Marc Blanc Inscription : avril 2007 Messages : 2 658 ![]() |
Salut!
A quoi cela sert-il de calculer le déterminant d'une grosse matrice? Jean-Marc Blanc
__________________
Calcul numérique de processus industriels Formation, conseil, développement Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux) |
|
|
00
|
|
|
#3 | ||
![]() ![]() |
Citation:
Citation:
|
||
|
00
|
|
|
#4 | |
|
Membre expérimenté
![]() Inscription : février 2010 Messages : 1 473 ![]() |
Citation:
en fait je cherche une explication pour une personne débutante là dedans, j'aimerai plus une explication de la demarche à suivre pour calculer la complexité des algo.. |
|
|
|
00
|
|
|
#5 | |||
![]() ![]() |
Citation:
Citation:
Citation:
|
|||
|
00
|
|
|
#6 | |
|
Membre expérimenté
![]() Inscription : février 2010 Messages : 1 473 ![]() |
Citation:
A+ |
|
|
|
00
|
|
|
#7 |
![]() ![]() |
Si quelqu'un passant ici connaît une bonne ressource (site Internet, pdf, etc) expliquant clairement la méthode pour déterminer la complexité d'un algorithme, svp faites-le nous savoir !
Personnellement j'ai appris les bases par transmission orale (c'est assez simple au final une fois que l'on trouve une source claire) et perfectionné essentiellement sur http://algo.developpez.com/livres/#L9782100545261 (version anglaise et deuxième édition pour être précis, c'est une mauvaise idée de l'acheter en français) |
|
00
|
|
|
#8 |
![]() ![]() Jean-Marc Blanc Inscription : avril 2007 Messages : 2 658 ![]() |
Salut!
Le calcul d'un déterminant peut être utile dans l'étude des quadripôles, mais on a affaire à des matrices de taille 2*2, le plus souvent à coefficients complexes. On a alors det(A)=A11*A22-A12*A21; on a donc toujours 2 multiplications et une soustraction et la notion de complexité ne s'applique pas dans ce cas. Dans certains problèmes de géométrie, un volume peut aussi être calculé à l'aide du déterminant d'une matrice, mais la taille de celle-ci ne dépassera pas 3*3, parce que nous vivons dans un espace tridimensionnel. En revanche, on sait qu'une matrice est singulière si et seulement si son déterminant est nul. Cela a pour conséquence que beaucoup de débutants commencent par essayer de calculer le déterminant par la méthode de Sarrus généralisées pour savoir si la matrice est singulière. Or la complexité de cette méthode est O(n!); pour le commun des mortels, il suffit de savoir qu'elle est catastrophique. Lorsqu'on doit résoudre un système linéaire ou, ce qui est beaucoup plus rare, inverser une matrice, il est beaucoup plus sage de faire une factorisation LU (méthode de Crout), dont la complexité est O(N^3), en vérifiant avant chaque division que le dénominateur n'est pas nul. Pour voir comment ça se passe en pratique, je te recommande de regarder comment fonctionnent les routines SGEFA, SGESL et SGEDI de la librairie LinPack (disponible sur www.netlib.org). Jean-Marc Blanc
__________________
Calcul numérique de processus industriels Formation, conseil, développement Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux) |
|
|
10
|
|
|
#9 | |||
|
Membre émérite
![]() Chercheur Inscription : mars 2010 Messages : 733 ![]() |
Bonjour,
pour calculer le déterminant d'une matrice inversible A, on considère sa factorisation LU à une permutation près : Citation:
Citation:
Citation:
Bref, il suffit de calculer les termes diagonaux de U : on utilise pour cela la méthode d'élimination de Gauss en la simplifiant grandement puisqu'on a ni besoin de stocker L, ni besoin de stocker les termes extra-diagonaux de U. Je ne me suis jamais amusé à calculer la complexité de cette approche mais il est possible qu'elle soit d'un ordre inférieur à celle de la version "complète" de l'algorithme de Gauss qui est en O(n^3). Si la matrice est hermitienne définie positive, on utilise l'algorithme de Cholesky mais l'approche est sensiblement la même. |
|||
|
|
10
|
|
|
#10 |
|
Membre expérimenté
![]() Inscription : février 2010 Messages : 1 473 ![]() |
merci pour ces reponses intéressante
|
|
|
00
|
|
|
#11 |
![]() ![]() |
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() Chercheur Inscription : mars 2010 Messages : 733 ![]() |
Ah oui? Avec quelle approche obtient-on cette borne?
|
|
|
00
|
|
|
#13 | |
![]() ![]() |
Citation:
|
|
|
00
|
|
|
#14 |
![]() ![]() |
Je t'avouerai cependant que je ne me suis jamais penché en détail sur les meilleurs algorithmes (ce n'est pourtant pas la curiosité qui me manque, mais comme toujours le temps), donc aucune idée de leur fonctionnement !
|
|
00
|
|
|
#15 |
|
Membre émérite
![]() Chercheur Inscription : mars 2010 Messages : 733 ![]() |
Pour les cas pratiques, ce n'est pas très intéressant d'utiliser ces algorithmes : ils sont numériquement instables.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com