Former le complément Schur
Supposons que vous ayez permuté et partitionné votre matrice sous la forme
A=(A11A21A12A22),
de telle sorte que contient vos degrés de liberté d'intérêt et est beaucoup plus petit que A 11 , alors on peut former le complément SchurA22A11
S22: = A22- un21UNE- 111UNE12,
soit par une factorisation LU partielle droite, soit par la formule explicite, puis peut être compris dans le sens suivant:S22
S22x = y→( A11UNE21UNE12UNE22) ( ⋆X)=(0y),
où représente la partie «sans intérêt» de la solution. Ainsi, à condition qu'un côté droit ne soit pas nul dans les degrés de liberté du complément Schur S 22 , il suffit de résoudre contre S 22 pour obtenir la portion de la solution correspondant à ces degrés de liberté.⋆S22S22
Complexité informatique dans un cas dense non structuré
Réglage de à la hauteur de A et n à la hauteur de A 22 , la méthode de référence pour le calcul de S 22 est d'abord facteur L 11 U 11 : = A 11 (Ignorons pivotant pour le moment) à peu près deux / trois ( N - n ) 3 travaux, puis formerNAnA22S22L11U11:=A112/3(N−n)3
S22:=A22−(A21U−111)(L−111A12)=A22−A21A−111A12
en utilisant deux résolutions de triangle nécessitant travaux chacune, puis effectuer la mise à jour vers A 22 en 2 n 2 ( N - n ) travaux.n(N−n)2A222n2(N-n)
Ainsi, le travail total est d' environ . Quand n est très faible, N - n ≈ N , de sorte que le coût peut être considérée comme à peu près 2 / 3 N 3 , qui est le coût d'une factorisation complète.2/3(N−n)3+2n(N−n)2+2n2(N- n )nN−n≈N2/3N3
L'avantage est que, s'il y a un très grand nombre de côtés droits à résoudre avec le même système d'équations, alors pourrait potentiellement être réutilisé un grand nombre de fois, où chaque résolution ne nécessiterait que 2 n 2 de travail (plutôt que 2 N 2 ) si S 22 est pris en compte.S222n22N2S22
Complexité informatique dans le cas rare (typique)
Si votre système clairsemé est né d'un certain type d'approximation par différences finies ou éléments finis, les solveurs directs clairsemés seront presque certainement en mesure d'exploiter une partie de la structure; 2d systèmes peuvent être résolus avec travail et O ( N log N ) de stockage, tandis que les systèmes 3D peuvent être résolus avec O ( N 2 ) de travail et O ( N 4 / 3 ) de stockage. Les systèmes factorisés peuvent alors être résolus avec la même quantité de travail que les besoins de stockage.O(N3/2)O(NlogN)O(N2)O(N4/3)
Le point de faire apparaître les complexités de calcul est que, si et vous avez un système 2d, alors comme le complément de Schur sera probablement dense, la complexité de résolution étant donné le complément de Schur factorisé seraO(n2)=O(N), qui ne manque qu'un facteur logarithmique par rapport à la résolution complète système! En 3D, il fautO(N)travaillieu deO(N 4 / 3 ).n≈N−−√O(n2) = O ( N)O ( N)O ( N4 / 3)
Il est donc important de garder à l’esprit que, dans votre cas où , il n'y aura des économies importantes que si vous travaillez dans plusieurs dimensions et que vous avez de nombreux problèmes à résoudre.n = N--√