Salta al contenuto
Note per Studenti Eliminazione di Gauss

Eliminazione di Gauss

In questa pagina 9

Lezioni 16, 17 e 18 (videolezioni n. 16–18). Esercizi svolti: Esercizio 41 · sistema 4×4 con due parametri (compitino 2025), Esercizio 42 · rango con parametro e condizione sui termini noti (compitino 2026), Esercizio 43 · rango con parametro e sistemi incompatibili (compitino 2023), Esercizio 44 · rango con parametro, righe e colonne, nucleo della trasposta (settembre 2023), Esercizio 45 · matrice R tale che RA è a scala, nucleo, immagine e cambio di base. Seguito: Matrice inversaL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa →.

Il teorema di Rouché-CapelliUn sistema lineare si scrive AX = B; ha soluzioni se e solo se B sta nell'immagine di A, cioè se rango(A) = rango(A|B) (Rouché-Capelli); le soluzioni sono una soluzione particolare più il nucleo e dipendono da n − r parametri.Sistemi lineari e teorema di Rouché-Capelli → dice che tutto dipende dal rango di una matrice. Finora per calcolarlo si scriveva una combinazione lineare uguale a zero e si risolveva un sistema (e, se i vettori risultavano dipendenti, se ne toglieva uno e si ricominciava). Il metodo di eliminazione di Gauss fa lo stesso lavoro in molti meno passaggi: si trasforma la matrice in una più semplice con lo stesso rango, finché il rango si legge a occhio.

Le tre operazioni elementari

Le operazioni elementari sulle righe di una matrice sono:

  1. scambiare due righe: Ri↔RjR_i \leftrightarrow R_j;
  2. moltiplicare una riga per un numero diverso da zero: Ri→λRiR_i \to \lambda R_i, con λ≠0\lambda \ne 0;
  3. sommare a una riga un multiplo di un'altra riga (o una combinazione lineare di altre righe): Ri→Ri+αRjR_i \to R_i + \alpha R_j, con j≠ij \ne i.

Allo stesso modo si definiscono le operazioni elementari sulle colonne (Ci↔CjC_i \leftrightarrow C_j, ecc.).

Perché non cambiano il rango. Il rango è il numero di righe linearmente indipendenti (che è anche il numero di colonne indipendenti).

  1. Scambiare due righe cambia solo l'ordine: le righe sono sempre le stesse.
  2. Sostituire una riga con un suo multiplo λRi\lambda R_i, λ≠0\lambda \ne 0, non cambia il sottospazio generatoL'intersezione di due sottospazi è un sottospazio, l'unione in generale no. Al suo posto si usa la somma U + W = {u + w}, il più piccolo sottospazio che contiene entrambi. Il sottospazio generato da un insieme S è l'insieme di tutte le combinazioni lineari di vettori di S.Intersezione, somma e sottospazio generato → dalle righe: λRi\lambda R_i si ottiene da RiR_i e Ri=1λ(λRi)R_i = \frac1\lambda (\lambda R_i) si riottiene da λRi\lambda R_i. (Con λ=0\lambda = 0 invece la riga sparirebbe: per questo è vietato.)
  3. Ri+αRjR_i + \alpha R_j è combinazione di righe della matrice, e viceversa Ri=(Ri+αRj)−αRjR_i = (R_i + \alpha R_j) - \alpha R_j: anche qui il sottospazio generato dalle righe resta lo stesso.

In tutti e tre i casi il sottospazio generato dalle righe non cambia, quindi nemmeno la sua dimensione, che è il rango. Lo stesso ragionamento vale per le colonne.

Lettura con i sistemi. Sulle righe della matrice completa di un sistema, le tre operazioni sono: scambiare due equazioni, moltiplicare un'equazione per un numero non nullo, sommare a un'equazione un multiplo di un'altra. Sono le mosse che si fanno da sempre per risolvere un sistema, e producono un sistema equivalente (con le stesse soluzioni).

La forma a scala

Una matrice è in forma a scala (per righe) se, in ogni riga, il primo elemento non nullo sta strettamente più a destra del primo elemento non nullo della riga precedente; le eventuali righe nulle stanno in fondo.

Il primo elemento non nullo di ogni riga non nulla si chiama pivot.

(p1∗∗∗∗0p2∗∗∗000p3∗00000)(p1,p2,p3≠0, ∗=numeri qualsiasi)\begin{pmatrix} \boxed{p_1} & * & * & * & * \\ 0 & \boxed{p_2} & * & * & * \\ 0 & 0 & 0 & \boxed{p_3} & * \\ 0 & 0 & 0 & 0 & 0 \end{pmatrix} \qquad (p_1, p_2, p_3 \ne 0, \ * = \text{numeri qualsiasi})

Gli zeri sotto la "scala" sono obbligatori, gli asterischi possono essere qualunque cosa. Come si vede, i pivot non devono per forza stare sulla diagonale: un gradino può essere largo più di una colonna (qui il terzo pivot è nella quarta colonna).

Teorema. Il rango di una matrice in forma a scala è il numero di righe non nulle (cioè il numero di pivot).

Perché. Le righe nulle non contano. Le righe non nulle sono indipendenti: in una combinazione c1R1+c2R2+⋯+ckRk=0c_1 R_1 + c_2 R_2 + \dots + c_k R_k = 0, guardando la colonna del primo pivot, solo R1R_1 ha un elemento non nullo lì (sotto ci sono zeri), quindi c1p1=0c_1 p_1 = 0 e c1=0c_1 = 0. Tolta R1R_1, lo stesso ragionamento sulla colonna del secondo pivot dà c2=0c_2 = 0, e così via: tutti i coefficienti sono nulli.

L'algoritmo

  1. Si guarda la prima colonna. Se è tutta nulla, la si ignora e si passa alla successiva.
  2. Se serve, con uno scambio di righe si porta in alto un elemento non nullo: sarà il pivot. (Conviene scegliere un 11 o un −1-1, se c'è, per evitare frazioni.)
  3. Con operazioni Ri→Ri−ai1a11R1R_i \to R_i - \frac{a_{i1}}{a_{11}} R_1 si crea uno zero sotto il pivot in ogni riga. Il coefficiente ai1a11\frac{a_{i1}}{a_{11}} è scelto apposta: il primo elemento di ai1a11R1\frac{a_{i1}}{a_{11}} R_1 è ai1a11⋅a11=ai1\frac{a_{i1}}{a_{11}} \cdot a_{11} = a_{i1}, e sottraendolo da ai1a_{i1} resta 00.
  4. Si "copre" la prima riga e la prima colonna e si ripete tutto sulla sottomatrice rimasta.
  5. Ci si ferma quando la matrice è a scala.

Consiglio del prof: procedere sempre con ordine. Per creare gli zeri della colonna kk si usa solo la riga del kk-esimo pivot. Usare una riga "vecchia" (per esempio la prima quando si lavora sulla terza colonna) crea lo zero voluto ma distrugge zeri già fatti nelle colonne precedenti, e si gira in tondo. Procedendo sempre allo stesso modo il metodo diventa meccanico, si sbaglia meno ed è anche il modo in cui lo si programma al calcolatore.

Esempio 1: rango di una 3×33 \times 3 (lezione 16)

A=(2−1314−2301)A = \begin{pmatrix} 2 & -1 & 3 \\ 1 & 4 & -2 \\ 3 & 0 & 1 \end{pmatrix}

Passo 1: R1↔R2R_1 \leftrightarrow R_2, per avere 11 come primo pivot (con il 22 si dovrebbe moltiplicare per 32\frac32 e comparirebbero frazioni).

(14−22−13301)\begin{pmatrix} 1 & 4 & -2 \\ 2 & -1 & 3 \\ 3 & 0 & 1 \end{pmatrix}

Passo 2: zeri nella prima colonna. La seconda riga inizia con 22 e la prima con 11: R2→R2−2R1R_2 \to R_2 - 2R_1. La terza inizia con 33: R3→R3−3R1R_3 \to R_3 - 3R_1.

R2−2R1=(2−2, −1−8, 3+4)=(0,−9,7),R3−3R1=(3−3, 0−12, 1+6)=(0,−12,7)R_2 - 2R_1 = (2 - 2,\ -1 - 8,\ 3 + 4) = (0, -9, 7), \qquad R_3 - 3R_1 = (3 - 3,\ 0 - 12,\ 1 + 6) = (0, -12, 7)

(14−20−970−127)\begin{pmatrix} 1 & 4 & -2 \\ 0 & -9 & 7 \\ 0 & -12 & 7 \end{pmatrix}

Passo 3: zero sotto il −9-9. Il rapporto è −12−9=43\frac{-12}{-9} = \frac43: R3→R3−43R2R_3 \to R_3 - \frac43 R_2. Il terzo elemento diventa 7−43⋅7=−737 - \frac43 \cdot 7 = -\frac73.

(14−20−9700−73)\begin{pmatrix} 1 & 4 & -2 \\ 0 & -9 & 7 \\ 0 & 0 & -\frac73 \end{pmatrix}

Tre righe non nulle: rango⁡(A)=3\operatorname{rango}(A) = 3. (Per il rango non serve nemmeno sapere che l'ultimo numero è −73-\frac73: basta sapere che non è zero.)

Esempio 2: una riga dipendente

A=(02−13130−128−11)(R3=R1+2R2)A = \begin{pmatrix} 0 & 2 & -1 & 3 \\ 1 & 3 & 0 & -1 \\ 2 & 8 & -1 & 1 \end{pmatrix} \qquad (R_3 = R_1 + 2R_2)

Il primo elemento è 00: con R1↔R2R_1 \leftrightarrow R_2 si mette in alto l'11, e la nuova seconda riga inizia già con 00. Poi R3→R3−2R1R_3 \to R_3 - 2R_1:

(130−102−1328−11)→(130−102−1302−13)→R3→R3−R2(130−102−130000)\begin{pmatrix} 1 & 3 & 0 & -1 \\ 0 & 2 & -1 & 3 \\ 2 & 8 & -1 & 1 \end{pmatrix} \to \begin{pmatrix} 1 & 3 & 0 & -1 \\ 0 & 2 & -1 & 3 \\ 0 & 2 & -1 & 3 \end{pmatrix} \xrightarrow{R_3 \to R_3 - R_2} \begin{pmatrix} 1 & 3 & 0 & -1 \\ 0 & 2 & -1 & 3 \\ 0 & 0 & 0 & 0 \end{pmatrix}

rango⁡(A)=2\operatorname{rango}(A) = 2. L'algoritmo ha "eliminato" proprio la riga che era combinazione delle altre: ecco da dove viene il nome.

Righe o colonne? Per calcolare solo il rango si possono usare anche le operazioni sulle colonne (o mescolarle), perché rango per righe e rango per colonne coincidono: per esempio lo stesso risultato si ottiene riducendo la trasposta ATA^T.

Risolvere un sistema con Gauss

Per risolvere AX=BAX = B si riduce a scala direttamente la matrice completa (A ∣ B)(A \,|\, B): le prime nn colonne ridotte sono la forma a scala di AA, quindi con un solo calcolo si ottengono rango⁡(A)\operatorname{rango}(A), rango⁡(A ∣ B)\operatorname{rango}(A \,|\, B) e un sistema equivalente facile da risolvere.

Attenzione: per risolvere un sistema si usano SOLO operazioni sulle righe.

Il motivo: le righe sono equazioni, e sommarle o scambiarle produce un sistema equivalente. Le colonne invece corrispondono a incognite diverse: sommare la colonna di x1x_1 a quella di x2x_2 significherebbe sommare "2x12x_1" e "−4x2-4x_2" ottenendo "−2-2 di che cosa?", che non ha senso. (Uno scambio di colonne si potrebbe fare, ma scambia anche il nome delle incognite: meglio evitarlo.)

Come si conclude. Dalla forma a scala:

  1. se compare una riga (0 ⋯ 0 ∣ c)(0 \ \cdots \ 0 \,|\, c) con c≠0c \ne 0 il sistema è impossibile (0=c0 = c);
  2. altrimenti le incognite che corrispondono alle colonne con un pivot si dicono dipendenti, le altre libere (sono i n−rn - r parametri);
  3. si risolve con la sostituzione all'indietro: dall'ultima equazione non nulla si ricava l'ultima incognita dipendente, la si sostituisce nella penultima, e così via risalendo fino alla prima.

Esempio 3: sistema con due parametri liberi

{x1+2x2−x3+x4=12x1+4x2+x3+5x4=5−x1−2x2+4x3+2x4=2\begin{cases} x_1 + 2x_2 - x_3 + x_4 = 1 \\ 2x_1 + 4x_2 + x_3 + 5x_4 = 5 \\ -x_1 - 2x_2 + 4x_3 + 2x_4 = 2 \end{cases}

(12−11124155−1−2422)→R3→R3+R1R2→R2−2R1(12−1110033300333)→R3→R3−R2(12−1110033300000)\left(\begin{array}{cccc|c} 1 & 2 & -1 & 1 & 1 \\ 2 & 4 & 1 & 5 & 5 \\ -1 & -2 & 4 & 2 & 2 \end{array}\right) \xrightarrow[R_3 \to R_3 + R_1]{R_2 \to R_2 - 2R_1} \left(\begin{array}{cccc|c} 1 & 2 & -1 & 1 & 1 \\ 0 & 0 & 3 & 3 & 3 \\ 0 & 0 & 3 & 3 & 3 \end{array}\right) \xrightarrow{R_3 \to R_3 - R_2} \left(\begin{array}{cccc|c} 1 & 2 & -1 & 1 & 1 \\ 0 & 0 & 3 & 3 & 3 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right)

Notare che creando lo zero in prima colonna si è annullata anche la seconda colonna: il secondo pivot è nella terza colonna.

  • rango⁡(A)=rango⁡(A ∣ B)=2\operatorname{rango}(A) = \operatorname{rango}(A \,|\, B) = 2: il sistema è risolubile, con n−r=4−2=2n - r = 4 - 2 = 2 parametri.
  • I pivot sono nelle colonne 11 e 33: x1,x3x_1, x_3 dipendenti, x2,x4x_2, x_4 libere.
  • Sostituzione all'indietro: dalla seconda riga 3x3+3x4=3⇒x3=1−x43x_3 + 3x_4 = 3 \Rightarrow x_3 = 1 - x_4. Dalla prima x1=1−2x2+x3−x4=1−2x2+(1−x4)−x4=2−2x2−2x4x_1 = 1 - 2x_2 + x_3 - x_4 = 1 - 2x_2 + (1 - x_4) - x_4 = 2 - 2x_2 - 2x_4.

X=(2−2x2−2x4x21−x4x4)=(2010)⏟particolare+x2(−2100)+x4(−20−11)X = \begin{pmatrix} 2 - 2x_2 - 2x_4 \\ x_2 \\ 1 - x_4 \\ x_4 \end{pmatrix} = \underbrace{\begin{pmatrix} 2 \\ 0 \\ 1 \\ 0 \end{pmatrix}}_{\text{particolare}} + x_2 \begin{pmatrix} -2 \\ 1 \\ 0 \\ 0 \end{pmatrix} + x_4 \begin{pmatrix} -2 \\ 0 \\ -1 \\ 1 \end{pmatrix}

come previsto dalla struttura "soluzione particolare più nucleoUn sistema lineare si scrive AX = B; ha soluzioni se e solo se B sta nell'immagine di A, cioè se rango(A) = rango(A|B) (Rouché-Capelli); le soluzioni sono una soluzione particolare più il nucleo e dipendono da n − r parametri.Sistemi lineari e teorema di Rouché-Capelli →". Verifica di (2,0,1,0)(2, 0, 1, 0) nella terza equazione: −2+4=2-2 + 4 = 2 ✓.

Matrici con un parametro

Se alcuni elementi dipendono da un parametro tt, conviene spostarli il più in basso a destra possibile prima di cominciare (scambiando righe e, se si calcola solo il rango, anche colonne): così quasi tutti i passaggi si fanno con numeri e il parametro entra in gioco solo all'ultimo gradino, dove si discutono i casi.

Esempio (lezione 18, in piccolo). At=(1t1213122)A_t = \begin{pmatrix} 1 & t & 1 \\ 2 & 1 & 3 \\ 1 & 2 & 2 \end{pmatrix}. Si scambiano le colonne 22 e 33 (lecito: interessa solo il rango), così tt va nell'ultima colonna:

(11t231122)→R3→R3−R1R2→R2−2R1(11t011−2t012−t)→R3→R3−R2(11t011−2t001+t)\begin{pmatrix} 1 & 1 & t \\ 2 & 3 & 1 \\ 1 & 2 & 2 \end{pmatrix} \xrightarrow[R_3 \to R_3 - R_1]{R_2 \to R_2 - 2R_1} \begin{pmatrix} 1 & 1 & t \\ 0 & 1 & 1 - 2t \\ 0 & 1 & 2 - t \end{pmatrix} \xrightarrow{R_3 \to R_3 - R_2} \begin{pmatrix} 1 & 1 & t \\ 0 & 1 & 1 - 2t \\ 0 & 0 & 1 + t \end{pmatrix}

Le prime due righe sono non nulle per ogni tt. La terza è nulla solo se 1+t=01 + t = 0. Quindi rango⁡(At)=2\operatorname{rango}(A_t) = 2 se t=−1t = -1, e rango⁡(At)=3\operatorname{rango}(A_t) = 3 se t≠−1t \ne -1.

Attenzione a non dividere per espressioni che contengono il parametro (per esempio R3→11+tR3R_3 \to \frac{1}{1+t} R_3) senza aver prima escluso il valore che le annulla.

Le operazioni elementari come prodotti di matrici (lezione 17)

Ogni operazione elementare sulle righe di AA si ottiene moltiplicando AA a sinistra per una matrice opportuna, costruita modificando la matrice identità ImI_m:

Operazione sulle righe Matrice Come si costruisce da ImI_m
Ri↔RjR_i \leftrightarrow R_j PijP_{ij} si scambiano le righe ii e jj dell'identità
Ri→λRiR_i \to \lambda R_i (λ≠0\lambda \ne 0) Mi(λ)M_i(\lambda) al posto dell'11 in posizione (i,i)(i,i) si mette λ\lambda
Ri→Ri+αRjR_i \to R_i + \alpha R_j (i≠ji \ne j) Sij(α)S_{ij}(\alpha) al posto dello 00 in posizione (i,j)(i,j) si mette α\alpha

Esempio. In M3(K)M_3(K):

S13(α)(abcdefghi)=(10α010001)(abcdefghi)=(a+αgb+αhc+αidefghi)S_{13}(\alpha) \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix} = \begin{pmatrix} 1 & 0 & \alpha \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} \begin{pmatrix} a & b & c \\ d & e & f \\ g & h & i \end{pmatrix} = \begin{pmatrix} a + \alpha g & b + \alpha h & c + \alpha i \\ d & e & f \\ g & h & i \end{pmatrix}

La prima riga del prodotto è (1,0,α)(1, 0, \alpha) per le colonne: 1⋅a+0⋅d+αg1 \cdot a + 0 \cdot d + \alpha g, ecc. Il risultato è proprio R1+αR3R_1 + \alpha R_3, mentre le altre righe dell'identità ricopiano le righe di AA.

Moltiplicando a destra (APijA P_{ij}, AMi(λ)A M_i(\lambda), ASij(α)A S_{ij}(\alpha)) si ottengono le operazioni corrispondenti sulle colonne.

Tutte queste matrici sono invertibili: l'operazione inversa è ancora elementare (PijP_{ij} si annulla rifacendo lo stesso scambio, Mi(λ)M_i(\lambda) con Mi(1λ)M_i(\frac1\lambda), Sij(α)S_{ij}(\alpha) con Sij(−α)S_{ij}(-\alpha)).

La matrice BB con BA=A′BA = A' (lezione 18)

Se per ridurre AA a scala A′A' si fanno le operazioni corrispondenti alle matrici B1,B2,…,BkB_1, B_2, \dots, B_k (in quest'ordine), allora

A′=Bk⋯B2B1A=BA,B=Bk⋯B2B1.A' = B_k \cdots B_2 B_1 A = BA, \qquad B = B_k \cdots B_2 B_1.

BB "ricorda" tutte le operazioni fatte, ed è invertibile (prodotto di invertibili). Per calcolarla senza scrivere tutte le BiB_i:

Trucco. Si scrive l'identità accanto ad AA, cioè (A ∣ Im)(A \,|\, I_m), e si riduce AA a scala con sole operazioni sulle righe, facendo le stesse operazioni anche sulla parte destra. Alla fine si ottiene (A′ ∣ B)(A' \,|\, B).

Perché funziona. Fare le operazioni sulle righe di (A ∣ Im)(A \,|\, I_m) equivale a moltiplicare a sinistra per BB: B(A ∣ Im)=(BA ∣ BIm)=(A′ ∣ B)B (A \,|\, I_m) = (BA \,|\, B I_m) = (A' \,|\, B).

A cosa serve: le relazioni di dipendenza lineare

Se si mettono in riga dei vettori v1,…,vmv_1, \dots, v_m, ogni riga nulla di A′A' dà una relazione di dipendenza lineare: se la riga ii di A′A' è nulla, la riga ii di BB, cioè (β1,…,βm)(\beta_1, \dots, \beta_m), soddisfa

β1v1+β2v2+⋯+βmvm=0⃗,\beta_1 v_1 + \beta_2 v_2 + \dots + \beta_m v_m = \vec 0,

perché la riga ii di BABA è proprio questa combinazione delle righe di AA. I coefficienti si trovano senza scrivere né risolvere alcun sistema.

Esempio. v1=(2,1,3,−1)v_1 = (2, 1, 3, -1), v2=(1,0,2,1)v_2 = (1, 0, 2, 1), v3=(4,3,5,−5)v_3 = (4, 3, 5, -5).

(213−11001021010435−5001)→R1↔R2(1021010213−1100435−5001)\left(\begin{array}{cccc|ccc} 2 & 1 & 3 & -1 & 1 & 0 & 0 \\ 1 & 0 & 2 & 1 & 0 & 1 & 0 \\ 4 & 3 & 5 & -5 & 0 & 0 & 1 \end{array}\right) \xrightarrow{R_1 \leftrightarrow R_2} \left(\begin{array}{cccc|ccc} 1 & 0 & 2 & 1 & 0 & 1 & 0 \\ 2 & 1 & 3 & -1 & 1 & 0 & 0 \\ 4 & 3 & 5 & -5 & 0 & 0 & 1 \end{array}\right)

→R3→R3−4R1R2→R2−2R1(102101001−1−31−2003−3−90−41)→R3→R3−3R2(102101001−1−31−200000−321)\xrightarrow[R_3 \to R_3 - 4R_1]{R_2 \to R_2 - 2R_1} \left(\begin{array}{cccc|ccc} 1 & 0 & 2 & 1 & 0 & 1 & 0 \\ 0 & 1 & -1 & -3 & 1 & -2 & 0 \\ 0 & 3 & -3 & -9 & 0 & -4 & 1 \end{array}\right) \xrightarrow{R_3 \to R_3 - 3R_2} \left(\begin{array}{cccc|ccc} 1 & 0 & 2 & 1 & 0 & 1 & 0 \\ 0 & 1 & -1 & -3 & 1 & -2 & 0 \\ 0 & 0 & 0 & 0 & -3 & 2 & 1 \end{array}\right)

  • Il rango è 22: i tre vettori generano un sottospazio di dimensione 22.
  • La terza riga di A′A' è nulla, e la terza riga di BB è (−3,2,1)(-3, 2, 1): quindi −3v1+2v2+v3=0⃗-3v_1 + 2v_2 + v_3 = \vec 0, cioè v3=3v1−2v2v_3 = 3v_1 - 2v_2. Verifica: 3(2,1,3,−1)−2(1,0,2,1)=(4,3,5,−5)3(2, 1, 3, -1) - 2(1, 0, 2, 1) = (4, 3, 5, -5) ✓.

Intersezione di due sottospazi senza risolvere sistemi

Siano U=⟨u1,u2⟩U = \langle u_1, u_2 \rangle e W=⟨w1,w2,w3⟩W = \langle w_1, w_2, w_3 \rangle in R4\mathbb{R}^4, con u1=(1,0,1,0)u_1 = (1, 0, 1, 0), u2=(0,1,0,1)u_2 = (0, 1, 0, 1), w1=(1,1,0,0)w_1 = (1, 1, 0, 0), w2=(0,0,1,1)w_2 = (0, 0, 1, 1), w3=(1,0,0,1)w_3 = (1, 0, 0, 1). Un vettore v∈U∩Wv \in U \cap W si scrive v=α1u1+α2u2=β1w1+β2w2+β3w3v = \alpha_1 u_1 + \alpha_2 u_2 = \beta_1 w_1 + \beta_2 w_2 + \beta_3 w_3, cioè

α1u1+α2u2−β1w1−β2w2−β3w3=0⃗,\alpha_1 u_1 + \alpha_2 u_2 - \beta_1 w_1 - \beta_2 w_2 - \beta_3 w_3 = \vec 0,

che è una relazione di dipendenza tra i cinque vettori: la si legge nella matrice BB. Si mettono i cinque vettori in riga (nell'ordine u1,u2,w1,w2,w3u_1, u_2, w_1, w_2, w_3) e si riduce (A ∣ I5)(A \,|\, I_5):

  • R3→R3−R1R_3 \to R_3 - R_1 e R5→R5−R1R_5 \to R_5 - R_1 (zeri in prima colonna; la quarta riga inizia già con 00);
  • R3→R3−R2R_3 \to R_3 - R_2 (zero in seconda colonna): ora R3=(0,0,−1,−1)R_3 = (0, 0, -1, -1), ottenuta come w1−u1−u2w_1 - u_1 - u_2;
  • R4→R4+R3R_4 \to R_4 + R_3 e R5→R5−R3R_5 \to R_5 - R_3 (zeri in terza colonna): R4=(0,0,0,0)R_4 = (0, 0, 0, 0), ottenuta come w2+(w1−u1−u2)w_2 + (w_1 - u_1 - u_2), e R5=(0,0,0,2)R_5 = (0, 0, 0, 2).

La riga nulla dice che −u1−u2+w1+w2=0⃗-u_1 - u_2 + w_1 + w_2 = \vec 0: la riga corrispondente di BB è (−1,−1,1,1,0)(-1, -1, 1, 1, 0). Le righe non nulle sono 44, quindi dim⁡(U+W)=4\dim(U + W) = 4 e, per la formula di GrassmannFormula di Grassmann: dim(U + W) = dim U + dim W − dim(U ∩ W), come contare gli elementi di un'unione senza contare due volte quelli comuni. Se U ∩ W = {0} la somma è diretta, U ⊕ W, e ogni vettore si scrive in modo unico come u + w.Formula di Grassmann e somma diretta →, dim⁡(U∩W)=2+3−4=1\dim(U \cap W) = 2 + 3 - 4 = 1. Una base di U∩WU \cap W è

v=u1+u2=w1+w2=(1,1,1,1).v = u_1 + u_2 = w_1 + w_2 = (1, 1, 1, 1).

Costo del metodo

Per ridurre a scala una matrice n×nn \times n si devono creare al più (n−1)+(n−2)+⋯+1=n(n−1)2(n - 1) + (n - 2) + \dots + 1 = \frac{n(n-1)}{2} zeri, ciascuno con un'operazione elementare: l'ordine di grandezza è n2n^2 operazioni sulle righe. Con il vecchio metodo (risolvere un sistema, togliere un vettore, risolvere di nuovo…) i conti crescono molto più in fretta. Per questo l'eliminazione di Gauss è lo strumento usato in pratica (anche nei programmi) per ranghi, sistemi, inverseL'inversa di una matrice quadrata A è la matrice A⁻¹ con A A⁻¹ = A⁻¹ A = I; esiste se e solo se rango(A) = n e si calcola con Gauss-Jordan riducendo (A | I) fino a (I | A⁻¹).Matrice inversa → e determinantiIl determinante è lineare in ogni riga, cambia segno scambiando due righe, non cambia sommando a una riga un multiplo di un'altra: così si calcola con Gauss riducendo a triangolare. Binet: det(AB) = det A · det B. Laplace: sviluppo lungo una riga o colonna con i complementi algebrici.Proprietà del determinante, Binet e Laplace →.

Errori comuni

  • Usare operazioni sulle colonne mentre si risolve un sistema. Per il solo rango si può, per un sistema no.
  • Moltiplicare una riga per 00 (o per un'espressione con un parametro che può annullarsi): la riga sparisce e il rango cambia.
  • Credere che i pivot debbano stare sulla diagonale. Un gradino può saltare più colonne.
  • Fermarsi troppo presto: se due righe hanno il primo elemento non nullo nella stessa colonna, la matrice non è ancora a scala.
  • Riutilizzare righe già sistemate per creare zeri più a destra: si distruggono zeri fatti prima.
  • Dimenticare di applicare le operazioni anche alla colonna dei termini noti (o alla parte destra di (A ∣ I)(A \,|\, I)).

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata