\( \DeclareMathOperator{\abs}{abs} \newcommand{\ensuremath}[1]{\mbox{$#1$}} \)
(%i1) | A : matrix([ 3, 0, - 1, 1],[ - 2, 3, 2, 2],[ 4, 2, - 1, 1],[ - 1, 2, - 3, 0]) $ |
(%i2) | X : addcol( A, ident( 4)) ; |
Primero consigamos el 1 elemento de X[1,1] sea 1, para ello tendremos que restarle a la primera fila la misma multiplicada por (1-1/X[1,1]):
(%i3) | X : rowop( X, 1, 1, 1 - 1 / X[ 1, 1]) ; |
Ahora consigamos hace ceros todos los elementos de la columna 1 por debajo de X[1,1]:
(%i6) |
X
:
rowop(
X,
2,
1,
X[
2,
1])
$
X : rowop( X, 3, 1, X[ 3, 1]) $ X : rowop( X, 4, 1, X[ 4, 1]) ; |
El siguiente paso es hacer X[2,2] que sea 1, para ello:
(%i7) | X : rowop( X, 2, 2, 1 - 1 / X[ 2, 2]) ; |
Consigamos que sean cero todos los elementos
(%i9) |
X
:
rowop(
X,
3,
2,
X[
3,
2])
$
X : rowop( X, 4, 2, X[ 4, 2]) ; |
Repitamos el proceso para hacer X[3,3] que valga 1 y ceros los elementos posteriores:
(%i11) |
X
:
rowop(
X,
3,
3,
1
-
1
/
X[
3,
3])
$
X : rowop( X, 4, 3, X[ 4, 3]) ; |
Ahora solo nos queda hace 1 el elemento X[4,4]:
(%i12) | X : rowop( X, 4, 4, 1 - 1 / X[ 4, 4]) ; |
El siguiente paso es hacer ceros los elementos superiores a la diagonal principal con el procedimiento que hemos visto:
(%i15) |
X
:
rowop(
X,
3,
4,
X[
3,
4])
$
X : rowop( X, 2, 4, X[ 2, 4]) $ X : rowop( X, 1, 4, X[ 1, 4]) ; |
Y lo mismo para la columna 3:
(%i17) |
X
:
rowop(
X,
2,
3,
X[
2,
3])
$
X : rowop( X, 1, 3, X[ 1, 3]) ; |
Observemos que no es necesario hacer 0 el elemento X[1,2], pues lo es. Ya tenemos la matriz inversa que buscábamos:
(%i18) | invA : submatrix( X, 1, 2, 3, 4) ; |
Created with wxMaxima.
Para calcular la inversa utilizaremos el procedimiento de realizar operaciones elementales que transformen [A|I] en [I|B], donde I es la identidad. La matriz resultante B será la inversa buscada.
Consideremos la matriz ampliada [A|I]