Regla de Cramer

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

La regla de Cramer es un teorema del álgebra lineal que da la solución de un sistema lineal de ecuaciones en términos de determinantes. Recibe este nombre en honor a Gabriel Cramer (1704 - 1752), quien publicó la regla en su Introduction à l'analyse des lignes courbes algébriques de 1750, aunque Colin Maclaurin también publicó el método en su Treatise of Geometry de 1748 (y probablemente sabía del método desde 1729).[1]

La regla de Cramer es de importancia teórica porque da una expresión explícita para la solución del sistema. Sin embargo, para sistemas de ecuaciones lineales de más de tres ecuaciones su aplicación para la resolución del mismo resulta excesivamente costosa: computacionalmente, es ineficiente para grandes matrices y por ello no es usado en aplicaciones prácticas que pueden implicar muchas ecuaciones. Sin embargo, como no es necesario pivotar matrices, es más eficiente que la eliminación gaussiana para matrices pequeñas, particularmente cuando son usadas operaciones SIMD.

Si \mathbf{Ax} = \mathbf{b} es un sistema de ecuaciones. \mathbf{A} es la matriz de coeficientes del sistema, \mathbf{x} = (x_1,\dots,x_n) es el vector columna de las incógnitas y \mathbf{b} es el vector columna de los términos independientes. Entonces la solución al sistema se presenta así:


   x_j =
   \cfrac {
      \det(\mathbf{A}_j)
   }{
      \det(\mathbf{A})
   }

donde \mathbf{A}_j es la matriz resultante de reemplazar la j-ésima columna de \mathbf{A} por el vector columna \mathbf{b}. Hágase notar que para que el sistema sea compatible determinado, el determinante de la matriz \mathbf{A} ha de ser no nulo.

Sistema de 2x2[editar]

Para la resolución de un sistema de dos ecuaciones con dos incógnitas, de la forma. Dado el sistema de ecuaciones:

a{\color{blue}x}+b{\color{blue}y} = {\color{red}e}\,
c{\color{blue}x}+d{\color{blue}y} = {\color{red}f}\,

Se representa matricialmente :


   \begin{bmatrix}
       a & b \\
       c & d 
   \end{bmatrix}
   \begin{bmatrix}
      {\color{blue}x} \\
      {\color{blue}y}
   \end{bmatrix} = 
   \begin{bmatrix}
      {\color{red}e}  \\
      {\color{red}f}
   \end{bmatrix}

Entonces, x e y pueden ser encontradas con la regla de Cramer, con una división de determinantes, de la siguiente manera:


   x =
   \frac {
      \begin{vmatrix}
         \color{red}{e} & b \\
         \color{red}{f} & d
      \end{vmatrix}
   }{
      \begin{vmatrix}
         a & b \\
         c & d
      \end{vmatrix}
   } = 
   \frac{
      {\color{red} e } d - b {\color{red} f }
   }{
      ad - bc
   }; \quad
   y =
   \frac {
      \begin{vmatrix}
         a & \color{red}{e} \\
         c & \color{red}{f}
      \end{vmatrix}
   }{
      \begin{vmatrix}
         a & b \\
         c & d
      \end{vmatrix}
   } = 
   \frac{
      a{\color{red} f } - {\color{red} e } c 
   }{
      ad - bc
   }

Ejemplo[editar]

Ejemplo de la resolución de un sistema simple de 2x2:

Dado

3x+1y = 9\,
2x+3y = 13\,

que matricialmente es:

\begin{bmatrix} 3 & 1 \\ 2 & 3 \end{bmatrix}\begin{bmatrix} x \\ y \end{bmatrix}=\begin{bmatrix} 9 \\ 13 \end{bmatrix}

x e y pueden ser resueltos usando la regla de Cramer

x = \frac { \begin{vmatrix} 9 & 1 \\ 13 & 3 \end{vmatrix} } { \begin{vmatrix} 3 & 1 \\ 2 & 3 \end{vmatrix} } = { 9*3 - 1*13 \over 3*3 - 1*2} = 2
y = \frac { \begin{vmatrix} 3 & 9 \\ 2 & 13 \end{vmatrix} } { \begin{vmatrix} 3 & 1 \\ 2 & 3 \end{vmatrix} } = { 3*13 - 9*2 \over 3*3 - 1*2} = 3

Sistema de 3x3[editar]

La regla para un sistema de 3x3, con una división de determinantes:


   \begin{cases} 
      a{\color{blue}x} + b{\color{blue}y} + c{\color{blue}z} = {\color{black}j}\\ 
      d{\color{blue}x} + e{\color{blue}y} + f{\color{blue}z} = {\color{black}k}\\
      g{\color{blue}x} + h{\color{blue}y} + i{\color{blue}z} = {\color{black}l}
   \end{cases}

Que representadas en forma de matriz es:


   \begin{bmatrix}
      a & b & c \\
      d & e & f \\
      g & h & i
   \end{bmatrix}
   \begin{bmatrix}
      {\color{blue}x} \\
      {\color{blue}y} \\
      {\color{blue}z}
   \end{bmatrix} =
   \begin{bmatrix}
      {\color{red}j} \\
      {\color{red}k} \\
      {\color{red}l} 
   \end{bmatrix}

x, y, z pueden ser encontradas como sigue:


   x =
   \frac {
      \begin{vmatrix}
         {\color{red}j} & b & c \\
         {\color{red}k} & e & f \\
         {\color{red}l} & h & i
      \end{vmatrix}
   }{
      \begin{vmatrix} a & b & c \\
         d & e & f \\
         g & h & i
      \end{vmatrix}
   }; \quad
   y =
   \frac {
      \begin{vmatrix}
         a & {\color{red}j} & c \\
         d & {\color{red}k} & f \\
         g & {\color{red}l} & i
      \end{vmatrix}
   }{
      \begin{vmatrix}
         a & b & c \\
         d & e & f \\
         g & h & i
      \end{vmatrix}
   } , \quad
   z =
   \frac {
      \begin{vmatrix}
         a & b & {\color{red}j} \\
         d & e & {\color{red}k} \\
         g & h & {\color{red}l}
      \end{vmatrix}
   }{
      \begin{vmatrix}
         a & b & c \\
         d & e & f \\
         g & h & i
      \end{vmatrix}
   }

Ejemplo[editar]

Dado el sistema de ecuaciones lineales:

3x+2y+1z = 1\,
2x+0y+1z = 2\,
-1x+1y+2z = 4\,

expresado en forma matricial: 
   \begin{bmatrix}
      3 & 2 & 1 \\
      2 & 0 & 1 \\
      -1 & 1 & 2
   \end{bmatrix}
\begin{bmatrix}
x\\
y\\
z
\end{bmatrix}=
\begin{bmatrix}
1\\
2\\
4
\end{bmatrix}

Los valores de x, y \text{ y } z serían:

 x= \frac {
\begin{vmatrix}
1 & 2 & 1\\
2 & 0 & 1\\
4 & 1 & 2
\end{vmatrix}
}{
\begin{vmatrix}
3 & 2 & 1\\
2 & 0 & 1\\
-1 & 1 & 2
\end{vmatrix}
} ; \quad
y= \frac {
\begin{vmatrix}
3 & 1 & 1\\
2 & 2 & 1\\
-1 & 4 & 2
\end{vmatrix}
}{
\begin{vmatrix}
3 & 2 & 1\\
2 & 0 & 1\\
-1 & 1 & 2
\end{vmatrix}
} ; \quad
 z= \frac {
\begin{vmatrix}
3 & 2 & 1\\
2 & 0 & 2\\
-1 & 1 & 4
\end{vmatrix}
}{
\begin{vmatrix}
3 & 2 & 1\\
2 & 0 & 1\\
-1 & 1 & 2
\end{vmatrix}
}

Demostración[editar]

Sean:


   \mathbf x =
   \begin{pmatrix}
      x_1 \\
      \vdots \\
      x_n
   \end{pmatrix}
   \quad
   \mathbf b =
   \begin{pmatrix}
    b_1 \\
    \vdots \\
    b_n
   \end{pmatrix}

   \mathbf A_j =
   \left [
      \begin{array}{llllllll}
         a_{1,1}   & \cdots & a_{1,j-1}  & b_1     & a_{1,j+1}   & \cdots & a_{1,n}   \\
         a_{2,1}   & \cdots & a_{2,j-1}  & b_2     & a_{2,j+1}   & \cdots & a_{2,n}   \\
                                                                                      \\
         \vdots    &        &            & \ddots  &             &        & \vdots    \\
                                                                                      \\
         a_{n-1,1} & \cdots & a_{n-1,j-1}& b_{n-1} & a_{n-1,j+1} & \cdots & a_{n-1,n} \\
         a_{n,1}   & \cdots & a_{n,j-1}  & b_n     & a_{n,j+1}   & \cdots & a_{n,n}
      \end{array}
   \right ]

Usando las propiedades de la multiplicación de matrices:


   \mathbf A \mathbf x = \mathbf b \Leftrightarrow
   \mathbf A^{-1} \mathbf A \mathbf x = \mathbf A^{-1} \mathbf b \Leftrightarrow
   \mathbf{Ix} = \mathbf A^{-1} \mathbf b \Leftrightarrow
   \mathbf x = \mathbf A^{-1} \mathbf b

entonces:


   \mathbf x = \mathbf A^{-1} \mathbf b =
   \frac{
      (\operatorname{Adj} \mathbf A)^t
   }{
      \left|
         \mathbf A
      \right|
   } \;
   \mathbf b

   (\operatorname{Adj}\mathbf A)^t =
   \frac{\mathbf A^\prime_{pl}}{\mathbf A^\prime_{pl}} =
    \mathbf A_{lp}

Por lo tanto:


   \mathbf A^{-1} \mathbf b =
   \sum_{i=1}^n
   \frac{
      \mathbf A^\prime_{ji}
   }{
      \left |
         \mathbf A
      \right |
   }
   b_{ik} =
   \frac{
      \sum_{i=1}^n \mathbf A_{ij} b_i
   }{
      \left |
         \mathbf A 
      \right |
   }
   =
   \cfrac {
      \left |
         \mathbf A_j
      \right |
   }{
      \left |
         \mathbf A
      \right |
   }

Aparte, recordando la definición de determinante, la suma definida acumula la multiplicación del elemento adjunto o cofactor de la posición ij, con el elemento i-ésimo del vector \mathbf B (que es precisamente el elemento i-èsimo de la columna j, en la matriz \mathbf{A}_j).

Código en MatLab[editar]

Programa escrito en Matlab para soluciones de sistemas de ecuaciones lineales usando la regla de Cramer

%Método de Cramer
%Sea A la matriz aumentada de (n)x(n+1) de algún sistema de ecuaciones
%lineales a resolver, previamente definida en consola.
%
%Francisco Peña Gallardo (Peñovsky Freeman)
%UMSNH (FisMat)
%
 
function cramer(A)
 
a=size(A);
 
%Hacemos el determinante de la matriz de coeficientes 
%para verificar si el sistema tiene solución distinta de la trivial
 
for i=1:1:a(1)
    for j=1:1:a(2)-1
        D(i,j)=A(i,j);
    end
end
 
if det(D)==0
    fprintf('El sistema es linealmente dependiente y por ende no tiene solución\n')
    return
else 
    d=det(D);
end
 
%Vector de coeficientes constantes
 
for i=1:1:a(1)
    v(i)=A(i,a(2));
end
 
%Aplicamos Cramer
 
for i=1:a(1)
    V=zeros(a(1));
    V(:,i)=v;
    W=zeros(a(1));
    W(:,i)=D(:,i);
    X=D-W+V;
    x(i)=det(X);
    x(i)=x(i)/d;
end
 
%Imprimimos soluciones
 
 fprintf('Soluciones\n')
for i=1:1:a(1)
    fprintf('X%.0f=%f\t',i,x(i))
end
fprintf('\n')
 
end

Referencias[editar]

  1. Carl B. Boyer, A History of Mathematics, 2nd edition (Wiley, 1968), p. 431.

Véase también[editar]