Quoi?
Le calcul de courbes de spline demande la solution de systèmes d'équations linéaires avec un nombre d'équations proche du nombre de points à interpoler. Pour des splines cubiques, les matrices des systèmes d'équations correspondants ne contiennent que la diagonale et une sous-diagonale de chaque côté. Pour ces systèmes, des solutions sont connues et répandues.
Pour des fonctions d'ordre supérieur ou d'autres problèmes il peut être utile de pouvoir résoudre des systèmes sous forme 2-2-sous-diagonales. Une solution est dérivée et démontrée dans la suite.
Décomposition LU
La solution du système d'équation repose sur la décomposition LU et le fait - la preuve étant omise - que la décoposition d'une matrice de forme 2-2 diagonale est également dans la même forme.
Partons de la matrice initiale A de structure 2-2 diagonale et considérons les deux premiers pas de la décomposition LU:
Pas 1
Pas 1 transforme la matrice A = A(1) en matrice A(2)
Quels éléments sont modifiés?
- Ligne 1 reste inaltérée
- Colonne 1 dès ligne 2 résulte par division des éléments a21...an1 par a11. Pour cause de la structure en ruban, a21 et a31 seuls sont importants, le reste est zéro
- La sous-matrice a(2)22 à a(2)33 est obtenue par soustraction du produit dyadique de vecteurs [a(2)21, a(2)31]T mit [a(1)12, a(1)13] de [[a(1)22, a(1)23], [a(1)32, a(1)33]]
a(2)22 = a(1)22 – (a(1)12a(1)21)/a(1)11 etc. - Colonne 4, colorée en orange dans le tableau ci-haut est également obtenue par soustraction du produit du vecteur en colonne 1 par ligne 1. Cette dernière contient zéro dès a14, laissant colonne 4 et les suivantes inaltérée.
- Par analogie, ligne 4, colorée en jaune et les suivantes jusqu'à n restent inaltérées.
En tout, seuls les éléments de la sous-matrice A(1)2..3,1..3 subissent des modifications.
Pas 2
Pas 2 transforme matrice A(2) en matrice A(3) et, comme pour pas 1, seul un bloc 2x3 subit une modification.
Quels éléments sont modifiés et comment?
- Ligne 2 reste sans modification
- En colonne 2, les éléments a(3)32 et a(3)42 sont produits depuis a(2)32 et a(2)42 par division avec a(2)22 du pas 1. Faute de valeurs intermédiaires, ces deux opérations doivent etre contenues dans une formule: a(3)32 = (a(1)32 – (a(2)12a(2)31)/a(2)11)/a(2)22) etc.
- La sous-matrice a(3)33 bis a(3)44 est produite par soustraction du produit de vecteurs dyadique des vecteurs [a(3)32, a(3)42]T et [a(2)23, a(2)24] de [[a(2)33, a(2)34], [a(2)43, a(2)44]]
Elément a(3)33 mérit mention, étant obtenu depuis a(2)33. Puisqu'élémentt a(2)33 n'est pas stocké en intermédiaire, rendant nécéssaire d'inclure également le pas 1 de a(1)33 vers a(2)33 dans la formule. Pour le calcul des éléments des colonnes et lignes 4, les valeurs sont disponibles à partir de la matrice originale
Pour les pas suivants k, toutes les valeurs d'entrée des calculs sont disponibles soit dpuis dans la plage des calculs A(k-1), ou depuis la matric initiale A.
Exemple
Système d'équations linéaire Ax - b = 0
Matrice A et vecteur de conditions b
Le schéma de calcul implémenté peut traiter jusqu'à 20 équations, également moins. Les éléments pivot ne sont pas cherchés. Dans la plage d'entrée de A les colonnes a2 et a1 correpsondent aux diagonales secondaires inférieures, colonnes c1 et c2 aux supérieures.
Décomposition LU et vecteur y
La décomposition LR de A en un format économique en mémoirein contient les deux matrices L et U de façon imbriquée. La matrice L (désignée par M ) possède une diagonale pleine de 1 qui ne sont pas stockés mais directement contenus dans les formules de calcul.
Vecteur de solutions x
La solution du système d'équations.
Commentaires :