Om een reële $$M \times M$$ matrix $$\mathbf{A}$$ te inverteren, construeren we de rij van
$$M \times M$$ matrices gegeven door:
$$
\mathbf{X}_{n+1}=\mathbf{X}_n(2\mathbf{I}-\mathbf{AX}_n)
$$
Hierin stelt $$\mathbf{I}$$ de $$M \times M$$ eenheidsmatrix voor. Het is gemakkelijk in te zien
dat indien $$\mathbf{X}_n=\mathbf{A}^{-1}$$, $$\mathbf{X}_{n+1}$$ gelijk blijft aan $$\mathbf{X}_n$$
(en dus gelijk aan $$\mathbf{A}^{-1}$$). Om deze rij van $$\mathbf{X}$$-matrices te laten convergeren,
moeten we een goede startmatrix ($$\mathbf{X}_0$$) kiezen. Een goede keuze hiervoor is
$$
\mathbf{X}_0=\lambda \mathbf{A}^T
$$
waarin $$\mathbf{A}^T$$ de getransponeerde matrix van $$\mathbf{A}$$ voorstelt. Om $$\lambda$$ te bepalen
gaan we als volgt tewerk:
Een inverteerbare reële NumPy-matrix met $$M>0$$ rijen en $$M>0$$ kolommen, en de convergentieconstante $$f$$.
De inverse van deze NumPy-matrix (dus opnieuw een $$M \times M$$ Numpy-matrix).
a = np.matrix([[ 0., 1., 2., 3.], [-10., -17., -19., -15.], [25., 31., 9., 12.], [-7., -9., 12., 3.]]) inverteer_iteratief(a, 0.01) = [[ 0.39454263 0.33594475 0.25197964 0.27717953] [-0.50134341 -0.30831455 -0.19554483 -0.25795858] [-0.32512356 -0.07313495 -0.01914741 0.03607975] [ 0.71700177 0.15143906 0.07788963 0.06187132]]