Sistemi lineari: regola di Cramer e Rouchè-Capelli
Regola di Cramer
La regola di Cramer1, è una metodo che consente di risolvere teoricamente un sistema lineare con n equazioni e n incognite, a condizione che la matrice dei coefficienti sia non singolare.
Consideriamo un sistema lineare che può essere scritto in forma matriciale compatta come:
\boldsymbol{A}\boldsymbol{x}= \boldsymbol{b}
Il vettore \boldsymbol{b} può essere espresso come una combinazione lineare delle colonne di \boldsymbol{A}:
\boldsymbol{b}= \boldsymbol{A}\boldsymbol{x}= \boldsymbol{A}_{\bullet,1}x_1 + \boldsymbol{A}_{\bullet,2}x_2 + \cdots + \boldsymbol{A}_{\bullet,n}x_n = \sum_{j=1}^n \boldsymbol{A}_{\bullet,j}x_j
dove \boldsymbol{x} è il vettore delle incognite e \boldsymbol{A}_{\bullet,j} rappresenta la j-esima colonna di \boldsymbol{A}.
Per calcolare l’incognita x_i, consideriamo il determinante della matrice ottenuta sostituendo la i-esima colonna di \boldsymbol{A} con \boldsymbol{b}:
\begin{aligned} &\mathcal{D}(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,i-1}, \boldsymbol{b}, \boldsymbol{A}_{\bullet,i+1}, \ldots, \boldsymbol{A}_{\bullet,n}) \\ &\qquad= \mathcal{D}\left(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,i-1}, \sum_{j=1}^n \boldsymbol{A}_{\bullet,j}x_j, \boldsymbol{A}_{\bullet,i+1}, \ldots, \boldsymbol{A}_{\bullet,n}\right) \\ &\qquad= \sum_{j=1}^n x_j \mathcal{D}(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,i-1}, \boldsymbol{A}_{\bullet,j}, \boldsymbol{A}_{\bullet,i+1}, \ldots, \boldsymbol{A}_{\bullet,n}) \\ &\qquad= x_i \mathcal{D}(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,i-1}, \boldsymbol{A}_{\bullet,i}, \boldsymbol{A}_{\bullet,i+1}, \ldots, \boldsymbol{A}_{\bullet,n}) \end{aligned}
Da questa espressione, possiamo ricavare x_i come:
x_i = \frac{\mathcal{D}(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,i-1}, \boldsymbol{b}, \boldsymbol{A}_{\bullet,i+1}, \ldots, \boldsymbol{A}_{\bullet,n})}{\mathcal{D}(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,n})}
La regola di Cramer è applicabile solo se la matrice \boldsymbol{A} è non singolare, cioè se:
\mathcal{D}(\boldsymbol{A}) = \mathcal{D}(\boldsymbol{A}_{\bullet,1}, \ldots, \boldsymbol{A}_{\bullet,n}) \neq 0
Il teorema di Rouchè3-Capelli4
Utilizzando i teoremi introdotti finora, possiamo definire dei criteri per determinare se un sistema di equazioni lineari ammette soluzioni. Consideriamo il sistema:
\boldsymbol{A}\boldsymbol{x}= \boldsymbol{b},
dove \boldsymbol{A}\in \Bbb{K}^{m \times n} è una matrice, \boldsymbol{x}\in \Bbb{K}^n è un vettore di variabili incognite e \boldsymbol{b}\in \Bbb{K}^m è un vettore noto.
Supponiamo che \boldsymbol{x} sia una soluzione del sistema (non preoccupiamoci per ora della sua unicità). In tal caso, possiamo esprimere il vettore \boldsymbol{b} come una combinazione lineare delle colonne di \boldsymbol{A}:
\boldsymbol{b}= x_1 \boldsymbol{A}_{\bullet,1} + x_2 \boldsymbol{A}_{\bullet,2} + \cdots + x_n \boldsymbol{A}_{\bullet,n},
dove x_1, x_2, \dots, x_n sono i componenti del vettore \boldsymbol{x}, e \boldsymbol{A}_{\bullet,1}, \boldsymbol{A}_{\bullet,2}, \dots, \boldsymbol{A}_{\bullet,n} sono le colonne della matrice \boldsymbol{A}.
Questo significa che \boldsymbol{b} è una combinazione lineare delle colonne di \boldsymbol{A}. Pertanto, il numero di vettori linearmente indipendenti tra le colonne \boldsymbol{A}_{\bullet,1}, \boldsymbol{A}_{\bullet,2}, \dots, \boldsymbol{A}_{\bullet,n} è lo stesso di quello delle colonne \boldsymbol{A}_{\bullet,1}, \boldsymbol{A}_{\bullet,2}, \dots, \boldsymbol{A}_{\bullet,n}, \boldsymbol{b}.
In simboli, possiamo scrivere:
\text{rank}(\boldsymbol{A}) = \text{rank}(\boldsymbol{A}, \boldsymbol{b}),
dove \text{rank}(\boldsymbol{A}, \boldsymbol{b}) indica il rango della matrice estesa
\begin{pmatrix}\boldsymbol{A}_{\bullet,1}, \boldsymbol{A}_{\bullet,2}, \dots, \boldsymbol{A}_{\bullet,n}, \boldsymbol{b}\end{pmatrix},
ossia la matrice formata dalle colonne di \boldsymbol{A} con in aggiunta il vettore colonna \boldsymbol{b}.
Viceversa, se il sistema non ammette soluzioni, il vettore \boldsymbol{b} non può essere scritto come una combinazione lineare delle colonne di \boldsymbol{A}. In tal caso, \boldsymbol{b} è linearmente indipendente dalle colonne di \boldsymbol{A}, e quindi il numero di vettori colonna linearmente indipendenti di \boldsymbol{A}_{\bullet,1}, \boldsymbol{A}_{\bullet,2}, \dots, \boldsymbol{A}_{\bullet,n} è inferiore a quello delle colonne \boldsymbol{A}_{\bullet,1}, \boldsymbol{A}_{\bullet,2}, \dots, \boldsymbol{A}_{\bullet,n}, \boldsymbol{b}.
In simboli, ciò si esprime come:
\text{rank}(\boldsymbol{A}) < \text{rank}(\boldsymbol{A}, \boldsymbol{b}).
Questi risultati possono essere riassunti nel seguente teorema:
Teorema 1 (Rouché-Capelli versione compatta) Sia dato il sistema
\boldsymbol{A}\boldsymbol{x}= \boldsymbol{b},
dove \boldsymbol{A}\in \Bbb{K}^{m \times n}, \boldsymbol{x}\in \Bbb{K}^n e \boldsymbol{b}\in \Bbb{K}^m. Il sistema ammette soluzioni se e solo se:
\text{rank}(\boldsymbol{A}) = \text{rank}(\boldsymbol{A}, \boldsymbol{b}).
I risultati sui determinanti permettono di dare una forma operativa del teorema Teorema 1, infatti
Teorema di Rouchè-Capelli (versione estesa)
Sia dato il sistema
\boldsymbol{A}\boldsymbol{x}=\boldsymbol{b},
dove \boldsymbol{A}\in\Bbb{K}^{m\times n}, \boldsymbol{x}\in\Bbb{K}^{n} e \boldsymbol{b}\in\Bbb{K}^{m}. Allora il sistema ha soluzione se e solo se il massimo ordine dei minori non nulli della matrice \boldsymbol{A} è lo stesso della matrice \begin{pmatrix}\boldsymbol{A},\boldsymbol{b}\end{pmatrix}.
Dimostrazione. Basta applicare il teorema seguente dimostrato negli appunti sui determinanti.
Teorema 2 (Minori e Indipendenza Lineare) Se i k vettori \boldsymbol{v}_{1},\,\boldsymbol{v}_{2},\ldots,\boldsymbol{v}_{k}\in\Bbb{K}^n sono linearmente indipendenti e k \leq n, allora esiste almeno un minore di ordine k non nullo della matrice \boldsymbol{A}\in \Bbb{K}^{k \times k} con n \geq k, definita come
\boldsymbol{A}= \begin{pmatrix}\boldsymbol{v}_{1}, \boldsymbol{v}_{2}, \ldots, \boldsymbol{v}_{k}\end{pmatrix}.
Sia \boldsymbol{x}\in\Bbb{K}^n una soluzione del sistema lineare \boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}, con \boldsymbol{A}\in\Bbb{K}^{m\times n} e \boldsymbol{b}\in\Bbb{K}^m, con \boldsymbol{b}\neq\boldsymbol{0}, e \tilde{\boldsymbol{x}}\in\Bbb{K}^n una soluzione del sistema lineare omogeneo \boldsymbol{A}\tilde{\boldsymbol{x}}=0.
É interessante notare che \boldsymbol{x}+\tilde{\boldsymbol{x}} è ancora soluzione del sistema lineare non omogeneo:
\boldsymbol{A}(\boldsymbol{x}+\tilde{\boldsymbol{x}}) = \boldsymbol{A}\boldsymbol{x}+ \boldsymbol{A}\tilde{\boldsymbol{x}} = \boldsymbol{b}+ \boldsymbol{0}= \boldsymbol{b}.
Quindi, data una soluzione particolare \boldsymbol{x} del sistema lineare non omogeneo — \boldsymbol{b}\neq\boldsymbol{0} — per ogni soluzione \tilde{\boldsymbol{x}} del sistema lineare omogeneo si ottiene una diversa soluzione del problema non omogeneo della forma \boldsymbol{x}+\tilde{\boldsymbol{x}}.
È intuitivo che la soluzione di un sistema lineare non omogeneo – una volta che ne sia ammessa l’esistenza – è unica solo nei casi in cui possiamo garantire che sia sempre \tilde{\boldsymbol{x}}=\boldsymbol{0}, cioè che l’unica soluzione possibile del sistema lineare omogeneo \boldsymbol{A}\tilde{\boldsymbol{x}}=\boldsymbol{0} sia il vettore nullo.
Formalizziamo questa considerazione nel seguente teorema per matrici quadrate.
Esistenza e unicità per sistemi lineari
Teorema 3 Sia \boldsymbol{A}\in\Bbb{K}^{n\times n}, tale che \textrm{rank}(\boldsymbol{A})=n. Allora la soluzione \boldsymbol{x}\in\Bbb{K}^n del problema \boldsymbol{A}\boldsymbol{x}=\boldsymbol{b}, con \boldsymbol{b}\in\Bbb{K}^n vettore assegnato, esiste ed è unica.
Dimostrazione. Dimostriamo separatamente prima l’esistenza e poi l’unicità.
- Esistenza. Poiché in \Bbb{K}^n possiamo avere al massimo n vettori linearmente indipendenti, \textrm{rank}(\boldsymbol{A})=n implica che \textrm{rank}(\boldsymbol{A},\boldsymbol{b})=n, e l’esistenza segue dal teorema Teorema 3
- Unicità. Essendo la matrice \boldsymbol{A} quadrata di ordine n uguale al suo rango, si deduce immediatamente che le sue colonne \boldsymbol{A}_{\bullet,1},\boldsymbol{A}_{\bullet,2},\ldots,\boldsymbol{A}_{\bullet,n}, sono vettori linearmente indipendenti. Supponiamo ora di avere due soluzioni possibili del sistema lineare non omogeneo, che indichiamo con \boldsymbol{x}_{1} e \boldsymbol{x}_{2}, per cui possiamo scrivere \boldsymbol{A}\boldsymbol{x}_{1}=\boldsymbol{A}\boldsymbol{x}_{2}=\boldsymbol{b}. Per differenza si ottiene \boldsymbol{A}(\boldsymbol{x}_{1}-\boldsymbol{x}_{2})=0, da cui segue che \boldsymbol{x}_{1}-\boldsymbol{x}_{2}=\boldsymbol{0}, cioè \boldsymbol{x}_{1}=\boldsymbol{x}_{2}.
Che cosa succede se la matrice è rettangolare?
Note
La notazione \mathcal{O}(g(n)) rappresenta l’insieme delle funzioni h(n) tali che h(n) \leq C \cdot g(n) per n \geq n_0, dove C è una costante non negativa indipendente da n. L’espressione f = \mathcal{O}(g) indica che f è dell’ordine di g, e rappresenta un abuso notazionale per f \in \mathcal{O}(g).↩︎