# Regola di Cramer

La regola di Cramer, o metodo di Cramer, è un teorema di algebra lineare, che prende il nome dal matematico Gabriel Cramer, utile per risolvere un sistema di equazioni lineari usando il determinante, nel caso in cui il sistema abbia esattamente una soluzione.
Come algoritmo di calcolo è inefficiente. Pertanto, può essere effettivamente utilizzato solo per risolvere sistemi di poche equazioni. Tuttavia, esso è di grande importanza teorica in quanto dà un'espressione esplicita per la soluzione del sistema.

## La regola

Un sistema di equazioni lineari può essere rappresentato usando moltiplicazione fra matrici come:
    $Ax=c$
dove $A$ è una matrice e $x$, $c$ sono due vettori. Se $A$ è una matrice quadrata (cioè il numero di incognite del sistema è pari al numero di equazioni) ed è anche invertibile (determinante diverso da zero cioè rango della matrice uguale al numero di incognite), il teorema di Rouché-Capelli asserisce che il sistema ha esattamente una soluzione.
In questo caso, la regola di Cramer fornisce un algoritmo per calcolare la soluzione $(x_{1},\ldots ,x_{n})$ usando il determinante nel modo seguente:
    $x_{i}={\det(A_{i}) \over \det(A)}$
dove $A_{i}$ è la matrice formata sostituendo la $i$-esima colonna di $A$ con il vettore $c$. Si nota che la condizione di invertibilità di $A$ garantisce che il denominatore $\det(A)$ sia diverso da zero, e quindi che l'espressione descritta abbia sempre senso.

### Dimostrazione

La dimostrazione tiene conto di due proprietà dei determinanti:
* Se si somma una colonna a un'altra, il valore del determinante non cambia;
* Se si moltiplica ogni elemento di una colonna per un certo fattore, il determinante risulterà moltiplicato di altrettanto.
Dato un sistema di $n$ equazioni lineari in $n$ variabili $x_{1},x_{2},\ldots ,x_{n}$:
    $\left\{{\begin{matrix}a_{1,1}x_{1}+a_{1,2}x_{2}+\cdots +a_{1,n}x_{n}&=&b_{1}\\a_{2,1}x_{1}+a_{2,2}x_{2}+\cdots +a_{2,n}x_{n}&=&b_{2}\\&\vdots &\\a_{n,1}x_{1}+a_{n,2}x_{2}+\cdots +a_{n,n}x_{n}&=&b_{n}\end{matrix}}\right.$
La regola di Cramer fornisce, per il valore di $x_{1}$, l'espressione:
    ${\frac {\det \left|{\begin{matrix}b_{1}&a_{12}&\ldots &a_{1n}\\b_{2}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\b_{n}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}}$
che può essere verificata adoperando le suddette proprietà del determinante. Infatti, stando al sistema, il quoziente riportato è equivalente a:
    ${\frac {\det \left|{\begin{matrix}(a_{11}x_{1}+a_{12}x_{2}+\cdots +a_{1n}x_{n})&a_{12}&\ldots &a_{1n}\\(a_{21}x_{1}+a_{22}x_{2}+\cdots +a_{2n}x_{n})&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\(a_{n1}x_{1}+a_{n2}x_{2}+\cdots +a_{nn}x_{n})&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}}$
Sottraendo dalla prima colonna la seconda moltiplicata per $x_{2}$, la terza colonna moltiplicata per $x_{3}$ ecc., e la $n$-sima colonna moltiplicata per $x_{n}$, si ottiene l'espressione:
    ${\frac {\det \left|{\begin{matrix}a_{11}x_{1}&a_{12}&\ldots &a_{1n}\\a_{21}x_{1}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}x_{1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}}$
e, stando alla seconda proprietà del determinante, questo equivale a:
    ${\frac {x_{1}\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}}=x_{1}$
Allo stesso modo, se la colonna di $b$ si trova al posto della $k$-sima colonna della matrice del sistema di equazioni, il risultato sarà uguale a $x_{k}$. Pertanto si ottiene:
    $x_{1}={\frac {\det \left|{\begin{matrix}b_{1}&a_{12}&\ldots &a_{1n}\\b_{2}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\b_{n}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}},\ \ x_{2}={\frac {\det \left|{\begin{matrix}a_{11}&b_{1}&\ldots &a_{1n}\\a_{21}&b_{2}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&b_{n}&\ldots &a_{nn}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}},\ \ \ldots ,\ \ x_{n}={\frac {\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &b_{1}\\a_{21}&a_{22}&\ldots &b_{2}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &b_{n}\end{matrix}}\right|}{\det \left|{\begin{matrix}a_{11}&a_{12}&\ldots &a_{1n}\\a_{21}&a_{22}&\ldots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\ldots &a_{nn}\end{matrix}}\right|}}$

## Interpretazione geometrica

La regola di Cramer può essere mostrata utilizzandone l'interpretazione geometrica. Si consideri il caso di due equazioni in due incognite:
    ${\begin{matrix}a_{11}x_{1}+a_{12}x_{2}&=b_{1}\\a_{21}x_{1}+a_{22}x_{2}&=b_{2}\end{matrix}}$
che si può vedere come un'equazione tra vettori:
    $x_{1}{\binom {a_{11}}{a_{21}}}+x_{2}{\binom {a_{12}}{a_{22}}}={\binom {b_{1}}{b_{2}}}$
L'area del parallelogramma determinato da:
    ${\binom {a_{11}}{a_{21}}}\quad ;\quad {\binom {a_{12}}{a_{22}}}$
è data dal determinante del sistema:
    $\left|{\begin{matrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{matrix}}\right|$
In generale, quando vi sono più equazioni di più variabili, il determinante di $n$ vettori di lunghezza $n$ fornisce il volume del parallelepipedo che essi formano nello spazio euclideo di dimensione $n$. Quindi, l'area del parallelogramma determinato da:
    $x_{1}{\binom {a_{11}}{a_{21}}}\quad ;\quad {\binom {a_{12}}{a_{22}}}$
deve anche essere $x_{1}$ volte l'area del primo, dal momento che uno dei lati è stato moltiplicato per tale fattore. Quest'ultimo parallelogramma ha, per il principio di Cavalieri, la stessa area del parallelogramma formato da:
    ${\binom {b_{1}}{b_{2}}}=x_{1}{\binom {a_{11}}{a_{21}}}+x_{2}{\binom {a_{12}}{a_{22}}}\quad ;\quad {\binom {a_{12}}{a_{22}}}$
Uguagliando le aree dell'ultimo e del secondo parallelogramma si ottiene l'equazione:
    $\left|{\begin{matrix}b_{1}&a_{12}\\b_{2}&a_{22}\end{matrix}}\right|=\left|{\begin{matrix}a_{11}x_{1}&a_{12}\\a_{21}x_{1}&a_{22}\end{matrix}}\right|=x_{1}\left|{\begin{matrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{matrix}}\right|$
da cui segue la regola di Cramer.

## Esempio
### Due per due

Un sistema con 2 equazioni e 2 incognite:
    ${\begin{array}{l}ax+by={\color {red}e}\\cx+dy={\color {red}f}\end{array}}$
espresso in forma matriciale come:
    ${\begin{bmatrix}a&b\\c&d\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}={\begin{bmatrix}{\color {red}e}\\{\color {red}f}\end{bmatrix}}$
ha un'unica soluzione se e solo se il determinante di:
    ${\begin{bmatrix}a&b\\c&d\end{bmatrix}}$
è diverso da zero. In questo caso, la soluzione $(x,y)$ è data da:
    $x={\frac {\begin{vmatrix}\color {red}{e}&b\\\color {red}{f}&d\end{vmatrix}}{\begin{vmatrix}a&b\\c&d\end{vmatrix}}}={{\color {red}e}d-b{\color {red}f} \over ad-bc}$
    $y={\frac {\begin{vmatrix}a&\color {red}{e}\\c&\color {red}{f}\end{vmatrix}}{\begin{vmatrix}a&b\\c&d\end{vmatrix}}}={a{\color {red}f}-{\color {red}e}c \over ad-bc}$

### Tre per tre

Analogamente, un sistema con 3 equazioni e 3 incognite:
    $\left\{{\begin{matrix}ax+by+cz={\color {red}j}\ \\dx+ey+fz={\color {red}k}\ \\gx+hy+iz={\color {red}l}\ \end{matrix}}\right.$
può essere scritto come prodotto fra matrici e vettori nel modo seguente:
    ${\begin{bmatrix}a&b&c\\d&e&f\\g&h&i\end{bmatrix}}{\begin{bmatrix}x\\y\\z\end{bmatrix}}={\begin{bmatrix}{\color {red}j}\\{\color {red}k}\\{\color {red}l}\end{bmatrix}}$
Se la matrice $3\times 3$ ha determinante diverso da zero, il sistema ha una sola soluzione $(x,y,z)$ data da:
    $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}}}\qquad 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}}}\qquad 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}}}$
Il determinante di una matrice 3 per 3 può essere calcolato utilizzando la regola di Sarrus.

## Applicazioni alla geometria differenziale

La regola di Cramer è estremamente utile per scrivere delle formule in geometria differenziale. Ad esempio, date due equazioni:
    $F(x,y,u,v)=0\qquad G(x,y,u,v)=0$
in quattro variabili, due delle quali dipendono dalle altre nel modo seguente:
    $x=X(u,v)\qquad y=Y(u,v)$
è possibile calcolare (ipotizzando che tutte queste funzioni siano sufficientemente derivabili):
    $\partial x/\partial u$
usando la regola di Cramer, nel modo seguente.
Prima si calcolino le prime derivate di $F$, $G$, $x$ ed $y$:
    $dF={\frac {\partial F}{\partial x}}dx+{\frac {\partial F}{\partial y}}dy+{\frac {\partial F}{\partial u}}du+{\frac {\partial F}{\partial v}}dv=0$
    $dG={\frac {\partial G}{\partial x}}dx+{\frac {\partial G}{\partial y}}dy+{\frac {\partial G}{\partial u}}du+{\frac {\partial G}{\partial v}}dv=0$
    $dx={\frac {\partial X}{\partial u}}du+{\frac {\partial X}{\partial v}}dv$
    $dy={\frac {\partial Y}{\partial u}}du+{\frac {\partial Y}{\partial v}}dv$
Sostituendo $dx$, $dy$ in $dF$ e in $dG$, si ha:
    $dF=\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial F}{\partial u}}\right)du+\left({\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial F}{\partial v}}\right)dv=0$
    $dG=\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}+{\frac {\partial G}{\partial u}}\right)du+\left({\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}+{\frac {\partial G}{\partial v}}\right)dv=0$
Poiché $u$, $v$ sono entrambe indipendenti, i coefficienti di $du$, $dv$ devono essere zero. Così si possono scrivere le equazioni per i coefficienti:
    ${\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial u}}=-{\frac {\partial F}{\partial u}}$
    ${\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial u}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial u}}=-{\frac {\partial G}{\partial u}}$
    ${\frac {\partial F}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial F}{\partial y}}{\frac {\partial y}{\partial v}}=-{\frac {\partial F}{\partial v}}$
    ${\frac {\partial G}{\partial x}}{\frac {\partial x}{\partial v}}+{\frac {\partial G}{\partial y}}{\frac {\partial y}{\partial v}}=-{\frac {\partial G}{\partial v}}$
Ora, dalla regola di Cramer, si vede che:
    ${\frac {\partial x}{\partial u}}={\frac {\begin{vmatrix}-{\frac {\partial F}{\partial u}}&{\frac {\partial F}{\partial y}}\\-{\frac {\partial G}{\partial u}}&{\frac {\partial G}{\partial y}}\end{vmatrix}}{\begin{vmatrix}{\frac {\partial F}{\partial x}}&{\frac {\partial F}{\partial y}}\\{\frac {\partial G}{\partial x}}&{\frac {\partial G}{\partial y}}\end{vmatrix}}}$
Questa è ora una formula in termini di due Jacobiane:
    ${\frac {\partial x}{\partial u}}=-{\frac {\left({\frac {\partial \left(F,G\right)}{\partial \left(y,u\right)}}\right)}{\left({\frac {\partial \left(F,G\right)}{\partial \left(x,y\right)}}\right)}}$
Formule simili possono essere derivate per $\partial x/\partial v$, $\partial y/\partial u$ e $\partial y/\partial v$.

## Problemi nell'applicazione

Come accennato nell'introduzione, il metodo di Cramer è adatto per calcolare la soluzione di sistemi lineari $N\times N$, solo se $N$ è molto piccolo. In pratica, il metodo richiede il calcolo di $N+1$ determinanti di matrici $N\times N$. Applicando la regola di Leibnitz, ciascuno di questi richiede $N!$ moltiplicazioni, per un totale di $(N+1)!$ moltiplicazioni. Un numero che diventa rapidamente enorme al crescere di $N$. Se si trascura il tempo necessario per effettuare le addizioni, un calcolatore che esegue un milione di moltiplicazioni al secondo impiegherebbe circa otto mesi per risolvere un sistema lineare di 15 equazioni, tempo che supererebbe il milione e mezzo di anni se le equazioni fossero 20.
In alternativa, gli $N+1$ determinanti possono essere calcolati tramite l'algoritmo di Gauss che è estremamente più veloce, $O(N^{3})$ moltiplicazioni. Però, questo è un sottoprodotto del metodo di eliminazione di Gauss per la soluzione di un sistema lineare associato alla stessa matrice. Quindi, è molto più rapido risolvere il sistema lineare di partenza utilizzando direttamente il metodo di Gauss una sola volta.