Napište funkci, která pro zadanou horní trojúhelníkovou matici T {\displaystyle \mathbf {T} } a vektor b {\displaystyle \mathbf {b} } vypočte řešení soustavy lineárních rovnic T x = b . {\displaystyle \mathbf {Tx=b.} }
V horní trojúhelníkové matici T {\displaystyle \mathbf {T} } jsou všechny prvky pod hlavní diagonalou nulové, všechny prvky na hlavní diagonále jsou nenulové.
( t 11 t 12 t 13 … t 1 n 0 t 22 t 23 … t 2 n 0 0 t 33 … t 3 n … 0 0 … t n − 1 , 1 t n − 1 , n 0 0 … 0 t n n ) x = ( b 1 b 2 ⋮ b n − 1 b n ) {\displaystyle {\begin{pmatrix}t_{11}&t_{12}&t_{13}&\ldots &t_{1n}\\0&t_{22}&t_{23}&\ldots &t_{2n}\\0&0&t_{33}&\ldots &t_{3n}\\&&&\ldots &\\0&0&\ldots &t_{n-1,1}&t_{n-1,n}\\0&0&\ldots &0&t_{nn}\end{pmatrix}}\mathbf {x} ={\begin{pmatrix}b_{1}\\b_{2}\\\vdots \\b_{n-1}\\b_{n}\end{pmatrix}}}
Řešení:
x n = b n / t n n {\displaystyle x_{n}=b_{n}/t_{nn}}
x n − 1 = ( b n − 1 − t n x n ) / t n − 1 {\displaystyle x_{n-1}=(b_{n-1}-t_{n}x_{n})/t_{n-1}}
x n − 2 = ( b n − 2 − t n − 1 x n − 1 − t n x n ) / t n − 1 {\displaystyle x_{n-2}=(b_{n-2}-t_{n-1}x_{n-1}-t_{n}x_{n})/t_{n-1}}
x n − k = ( b n − k − ∑ j = n − k − 1 1 t j x j ) / t n − k {\displaystyle x_{n-k}=(b_{n-k}-\sum _{j=n-k-1}^{1}t_{j}x_{j})/t_{n-k}}