We beschouwen de matrixvergelijking $$\mathbf{AX} = \mathbf{B}$$. Schrijf de functie thomas
met 2 argumenten, namelijk
A
met $$M$$ rijen en drie kolommen die een tridiagonale $$M \times M$$ coëfficiëntenmatrix voorstelt B
met evenveel rijen als A
en $$N$$ kolommen die het rechterlid van het stelsel voorsteltHet resultaat is de $$M \times N$$-matrix $$\mathbf{X}$$ die de oplossing voorstelt van de gegeven matrixvergelijking, die berekend werd via het Thomas-algoritme.
A = np.array([[ 0., 4., 9.], [-2., -9., 1.], [-1., 6., 9.], [ 1., 6., -9.], [-5., -7., 0.]], dtype = float) B = np.array([[5, -1, 2, 3, 1],[7, 8, 0, -2, 3]], dtype = float) X = thomas(A, B.T) #[[ 1.95792267 7.33320697] # [-0.3146323 -2.48142532] # [ 0.08415466 0.33358605] # [ 0.13115997 -0.49810462] # [-0.23654284 -0.07278241]]