Guida alla risoluzione dei sistemi lineari
Ho notato che molti utenti pongono domande sulla risoluzione dei sistemi lineari e ho pensato che un topic generale di “orientamento” nell'argomento potesse essere utile. A mio giudizio questa è una delle questioni più meccaniche in assoluto e un piccolo riassunto potrebbe tornare utile a molti.
Faccio notare che Rouchè Capelli è fondamentale nonchè comodissimo per trattare la discussione di sistemi con parametro!
Supponiamo di avere un sistema lineare a [tex]m[/tex] equazioni ed [tex]n[/tex] incognite, denotato da
[tex]A\cdot\mathbf{x}=\mathbf{b} \to
\left(
\begin{array}{ccc}
a_{11}&\cdots&a_{1n}\\
\vdots&\vdots&\vdots\\
a_{m1}&\cdots&a_{mn}
\end{array}\right) \cdot
\left(\begin{array}{c}
x_1\\
\vdots\\
x_n
\end{array}\right)=\left(\begin{array}{c}
b_1\\
\vdots\\
b_m
\end{array}\right)[/tex]
Il teorema di Rouchè Capelli fornisce una via risolutiva molto schematica, basata sul calcolo del rango (vedi appendice A) di matrice completa e incompleta.
La matrice incompleta del sistema è semplicemente la matrice [tex]A[/tex], mentre la matrice completa, denotata [tex]A|b[/tex], si ottiene aggiungendo ad [tex]A[/tex] come ulteriore colonna il vettore dei termini noti [tex]\mathbf{b}[/tex], così:
[tex]\left( \begin{array}{ccc|c}
a_{11}&\cdots&a_{1n}&b_1\\
\vdots&\vdots&\vdots&\vdots\\
a_{m1}&\cdots&a_{mn}&b_m
\end{array}\right)[/tex]
Riporto ora lo schema risolutivo fornito dal teorema; chi risolve un esercizio del genere deve capire in quale caso il sistema rientra e trarre le conclusioni.
Caso 1: [tex]rank(A)\neq rank(A|b)[/tex]
Il sistema è impossibile, cioè non ha alcuna soluzione.
Caso 2: [tex]rank(A)=rank(A|b)= n[/tex] (ricordo che [tex]n[/tex] è il numero delle incognite)
Il sistema è determinato, cioè ha un'unica soluzione. Per trovarla si possono applicare vari metodi, riassunti nell'appendice B.
Caso 3: [tex]rank(A)=rank(A|b)< n[/tex]
Il sistema è indeterminato, ovvero ha infinite soluzioni. Il numero di parametri liberi, cioè liberi di variare per fornire appunto le infinite soluzioni, è [tex]k: =n-rank(A)[/tex]; si dice anche che il sistema ha [tex]\infty^k[/tex] soluzioni. Per esplicitare la soluzione generica, si scelgono – possibilmente in un modo che convenga ai fini del calcolo – [tex]k[/tex] incognite e si ricavano tutte le altre in funzione di esse; può risultare utile utilizzare la riduzione a gradini (inclusa nell'appendice B). Gli esempi in fondo comunque chiariscono meglio cosa si deve fare.
APPENDICE A: calcolo del rango
Supponiamo di avere una matrice qualunque [tex]A[/tex] con [tex]m[/tex] righe ed [tex]n[/tex] colonne e di volerne calcolare il rango. Se la matrice risulta essere quadrata ( [tex]m=n[/tex] ), conviene come prima cosa calcolarne il determinante. Se è non nullo abbiamo già trovato il rango ( [tex]n[/tex] ), altrimenti possiamo solo dire che $rank(A) < n $ e provare un'altra via.
Il metodo generale più comune è il metodo degli orlati. Si parte cercando un minore non nullo di ordine [tex]2[/tex]. Trovatolo, si cerca di “orlarlo” per avere un minore non nullo di ordine [tex]3[/tex]... E così via fino a che non si arriva ad avere un minore non nullo di ordine [tex]k[/tex] e non si riesce più a continuare. Allora si conclude che il rango della matrice è [tex]k[/tex].
Il vantaggio di questo metodo è che ogni volta che orliamo abbiamo il minore precedentemente trovato a cui “ancorarci” e non dobbiamo quindi provare tutte le combinazioni possibili, ma molte meno!
Vediamo meglio con un esempio:
APPENDICE B: metodi risolutivi per sistemi determinati
Faccio notare che nel caso di sistema determinato, abbiamo sempre una matrice incompleta quadrata, in quanto è sempre possibile eliminare righe che sono tutte nulle o combinazioni lineare di altre ed ottenere un sistema equivalente a quello di partenza.
Come sapere quali righe eventualmente eliminare? Quelle nulle di sicuro. Per quanto riguarda le altre righe inutili, durante il calcolo del rango avrete costruito un minore non nullo di ordine [tex]n[/tex]: tenete le righe che hanno elementi inclusi in questo minore e cancellate tutte le altre.
Riduzione a gradini
Questo metodo è utilizzabile anche nel caso di sistema indeterminato. In questo caso, una volta che avete battezzato le incognite che faranno la parte dei parametri liberi, portate le colonne dei coefficienti ad esse corrispondenti a destra e consideratele come termini noti. Includerò un esempio in fondo al topic, così è più chiaro.
Lo scopo di questo metodo è ottenere una matrice incompleta della forma
[tex]\left(\begin{array}{ccccc}
\star&\star&\star&\cdots&\star\\
0&\star&\star&\cdots&\star\\
0&0&\star&\cdots&\star\\
\vdots&\vdots&\vdots&\vdots&\vdots\\
0&0&0&\cdots&\star\\
\end{array}\right)[/tex]
Per farlo si può:
Faccio notare che Rouchè Capelli è fondamentale nonchè comodissimo per trattare la discussione di sistemi con parametro!
Supponiamo di avere un sistema lineare a [tex]m[/tex] equazioni ed [tex]n[/tex] incognite, denotato da
[tex]A\cdot\mathbf{x}=\mathbf{b} \to
\left(
\begin{array}{ccc}
a_{11}&\cdots&a_{1n}\\
\vdots&\vdots&\vdots\\
a_{m1}&\cdots&a_{mn}
\end{array}\right) \cdot
\left(\begin{array}{c}
x_1\\
\vdots\\
x_n
\end{array}\right)=\left(\begin{array}{c}
b_1\\
\vdots\\
b_m
\end{array}\right)[/tex]
Il teorema di Rouchè Capelli fornisce una via risolutiva molto schematica, basata sul calcolo del rango (vedi appendice A) di matrice completa e incompleta.
La matrice incompleta del sistema è semplicemente la matrice [tex]A[/tex], mentre la matrice completa, denotata [tex]A|b[/tex], si ottiene aggiungendo ad [tex]A[/tex] come ulteriore colonna il vettore dei termini noti [tex]\mathbf{b}[/tex], così:
[tex]\left( \begin{array}{ccc|c}
a_{11}&\cdots&a_{1n}&b_1\\
\vdots&\vdots&\vdots&\vdots\\
a_{m1}&\cdots&a_{mn}&b_m
\end{array}\right)[/tex]
Riporto ora lo schema risolutivo fornito dal teorema; chi risolve un esercizio del genere deve capire in quale caso il sistema rientra e trarre le conclusioni.
Caso 1: [tex]rank(A)\neq rank(A|b)[/tex]
Il sistema è impossibile, cioè non ha alcuna soluzione.
Caso 2: [tex]rank(A)=rank(A|b)= n[/tex] (ricordo che [tex]n[/tex] è il numero delle incognite)
Il sistema è determinato, cioè ha un'unica soluzione. Per trovarla si possono applicare vari metodi, riassunti nell'appendice B.
Caso 3: [tex]rank(A)=rank(A|b)< n[/tex]
Il sistema è indeterminato, ovvero ha infinite soluzioni. Il numero di parametri liberi, cioè liberi di variare per fornire appunto le infinite soluzioni, è [tex]k: =n-rank(A)[/tex]; si dice anche che il sistema ha [tex]\infty^k[/tex] soluzioni. Per esplicitare la soluzione generica, si scelgono – possibilmente in un modo che convenga ai fini del calcolo – [tex]k[/tex] incognite e si ricavano tutte le altre in funzione di esse; può risultare utile utilizzare la riduzione a gradini (inclusa nell'appendice B). Gli esempi in fondo comunque chiariscono meglio cosa si deve fare.
APPENDICE A: calcolo del rango
Supponiamo di avere una matrice qualunque [tex]A[/tex] con [tex]m[/tex] righe ed [tex]n[/tex] colonne e di volerne calcolare il rango. Se la matrice risulta essere quadrata ( [tex]m=n[/tex] ), conviene come prima cosa calcolarne il determinante. Se è non nullo abbiamo già trovato il rango ( [tex]n[/tex] ), altrimenti possiamo solo dire che $rank(A) < n $ e provare un'altra via.
Il metodo generale più comune è il metodo degli orlati. Si parte cercando un minore non nullo di ordine [tex]2[/tex]. Trovatolo, si cerca di “orlarlo” per avere un minore non nullo di ordine [tex]3[/tex]... E così via fino a che non si arriva ad avere un minore non nullo di ordine [tex]k[/tex] e non si riesce più a continuare. Allora si conclude che il rango della matrice è [tex]k[/tex].
Il vantaggio di questo metodo è che ogni volta che orliamo abbiamo il minore precedentemente trovato a cui “ancorarci” e non dobbiamo quindi provare tutte le combinazioni possibili, ma molte meno!
Vediamo meglio con un esempio:
APPENDICE B: metodi risolutivi per sistemi determinati
Faccio notare che nel caso di sistema determinato, abbiamo sempre una matrice incompleta quadrata, in quanto è sempre possibile eliminare righe che sono tutte nulle o combinazioni lineare di altre ed ottenere un sistema equivalente a quello di partenza.
Come sapere quali righe eventualmente eliminare? Quelle nulle di sicuro. Per quanto riguarda le altre righe inutili, durante il calcolo del rango avrete costruito un minore non nullo di ordine [tex]n[/tex]: tenete le righe che hanno elementi inclusi in questo minore e cancellate tutte le altre.
Riduzione a gradini
Questo metodo è utilizzabile anche nel caso di sistema indeterminato. In questo caso, una volta che avete battezzato le incognite che faranno la parte dei parametri liberi, portate le colonne dei coefficienti ad esse corrispondenti a destra e consideratele come termini noti. Includerò un esempio in fondo al topic, così è più chiaro.
Lo scopo di questo metodo è ottenere una matrice incompleta della forma
[tex]\left(\begin{array}{ccccc}
\star&\star&\star&\cdots&\star\\
0&\star&\star&\cdots&\star\\
0&0&\star&\cdots&\star\\
\vdots&\vdots&\vdots&\vdots&\vdots\\
0&0&0&\cdots&\star\\
\end{array}\right)[/tex]
Per farlo si può:
- scambiare righe tra loro
moltiplicare una riga per un numero reale e sommarla ad un altra.[/list:u:2hrf604j]
A questo scopo useremo gli elementi della diagonale principale come pivot per procurarci tutti quegli zeri. Nota bene: tutte queste operazioni vanno fatte sulla matrice completa, è un grave errore lavorare sull'incompleta.
Credo che un esempio chiarisca molto di più di una regola generale:
Il vantaggio di questo metodo è che con la matrice ridotta a scalini si può facilmente ricavare l'ultima variabile, poi andandola a sostituire nella penultima equazione trovare la penultima... e così via fino alla prima variabile.
Nel nostro esempio:
Cramer
Questa regola è piuttosto immediata, ma rischia di trasformarsi in un inferno di conti... io la terrei buona per matrici di dimensioni non superiori a [tex]4[/tex] oppure per matrici piene di zeri.
La i-esima variabile si ricava con questa semplice operazione:
[tex]\displaystyle x_i =\frac{det(A_i)}{det(A)}[/tex]
dove la matrice [tex]A_i[/tex] è quella che si ottiene sostituendo alla colonna i-esima di [tex]A[/tex] il vettore dei termini noti [tex]\mathbf{b}[/tex].
Facciamo un esempio:
ESEMPI (da completare)
Sistemi determinati
Sistemi indeterminati
Sistemi impossibili
Sistemi parametrici
********************************************************************************
P.S. Se ho fatto errori o dimenticato qualche contenuto, critiche e commenti sono ben accetti! Vorrei che questo topic fosse il più completo e chiaro possibile.
Paola
Risposte
Bel lavoro Paola, l'ho messo in prima linea.
Questi commenti sono forse più collegati ad un corso di algebra lineare numerica ma li pongo qui perché trovo che questa parte venga spesso fatta abbastanza male in algebra lineare. Soprattutto quando si passa dall'algoritmo di eliminazione di Gauß alla ben più pratica fattorizzazione LU e altre fattorizzazioni.
Penso che andrebbe fatto un accenno alla fattorizzazione LU e ad altri metodi simili. Se ho tempo magari aggiungo qualcosa qui. Intanto introduco il problema da cui nascono questi metodi. Ma prima aggiungo che il metodo di Cramer ha una complessità computazionale $O(n!)$ se si usa il metodo classico per i calcoli del determinante contro gli $O(n^3)$ del metodo di eliminazione di Gauß. Ignorando le costanti, che sono comunque piuttosto basse, $n!>n^3$ da $6$ in poi ed è quindi per questo che Cramer è generalmente sconsigliato se non si lavora in matrici molto piccole.
Il maggior problema di questo genere di metodi risiede comunque nel fatto che si lavora con matrici che contengono i termini noti e quindi che non risulta possibile riutilizzare i calcoli per risolvere sistemi in cui fai variare i termini noti. La fattorizzazione LU e metodi simili nascono invece con questo scopo. In generale i metodi consistono nell'esprimere la matrice $A$ del sistema come prodotto di matrici, come quelle triangolari, che sono facili da risolvere e/o da invertire (il sistema [tex]A\mathbf{x} = \mathbf{b}[/tex] è equivalente a [tex]\mathbf{x} = A^{-1}\mathbf{b}[/tex]*).
In generale abbiamo quindi che $A = A_1A_2\cdots A_n$ e che quindi [tex]\mathbf{b} = A\mathbf{x} = A_1A_2\cdots A_n\mathbf{x}[/tex]. Il risultato viene quindi calcolato ricorsivamente. Si pone infatti $bb x_1 = A_2\cdots A_n bb x$, $bb x_2 = A_3\cdots A_n bb x$ e così via fino a $bb x_n = bb x$ e quindi si osserva che $A_1 bb x_1 = bb b$, $A_2 bb x_2 = bb x_1$, $A_3 bb x_3 = bb x_2$ e così via fino a $A_n bb x_n = A_n bb x = bb x_{n-1}$. Non sempre questo è comunque possibile e per alcune fattorizzazioni è necessario l'uso del pivoting (come in quella LU).
Finora ho presentato solo l'argomento generale e non risulta certo immediato come questi metodi possano essere collegati ai metodi presentati in precedenza. Cominciamo quindi a vedere il metodo della riduzione a gradini in termini differenti.
Il metodo inizia dal sistema $A bb x = bb b$. A questo quindi, per ora ignorando il pivoting, vengono applicate le trasformazioni descritte in precedenza in modo da eliminare i valori nella prima colonna ad eccezione del primo. Il sistema diventerà quindi nella forma $U_1 bb x = bb b_1$ dove $U_1 = T_1A$ e $bb b_1 = T_1 bb b$.
È abbastanza semplice osservare che $T_1$ è triangolare inferiore.
In modo analogo si passerà quindi al sistema $U_2 bb x = bb b_2$ e così via fino ad avere una matrice $U$ triangolare superiore o, nel caso in cui la matrice non sia quadrata ad una matrice della forma presentata precedentemente.
Ad ogni passaggio si è moltiplicato entrambi i membri dell'equazione matriciale per una matrice $T_i$ triangolare inferiore (prodotto di matrici elementari della forma descritta precedentemente da prime_number). Alla fine quindi si ha che $U = T_n\cdots T_1A$ o equivalentemente $T_1^{-1}\cdots T_{n}^{-1}U = A$. Ponendo il prodotto $T_1^{-1}\cdots T_{n}= L$ si ricava la formula $LU = A$ in cui $L$ è triangolare inferiore e $U$ è triangolare superiore. Si tenga conto comunque che sto ignorando il pivoting per semplicità e che in generale si ha che $LU = PA$ dove $P$ è una permutazione delle righe**.
La fattorizzazione non è unica, infatti se $D$ è una matrice diagonale allora $LD$ e $D^{-1}U$ sono rispettivamente triangolari inferiori e superiori e $LDD^{-1}U = LU = A$. La fattorizzazione è però unica se si impone che $L$ abbia tutti 1 sulla diagonale.
Va comunque notato che fattorizzare la matrice richiede un numero di calcoli paragonabili alla riduzione e che non è necessario tenere a mente tutti i $T_i$ soprattutto considerando che l'inversione e il prodotto di questo tipo di matrici è molto semplice (in generale non viene fatto). Ora che abbiano notato che questa fattorizzazione esiste si può ricavare l'algoritmo in modo più semplice tenendo conto che $A = LU$ e quindi ricavare le componenti di $L$ e di $U$ a partire dal prodotto matriciale, eventualmente aggiungendoci il pivoting.
Se ho tempo ci aggiungo per bene i calcoli. In ogni caso si tenga presente che per quanto i metodi siano equivalenti è comunque possibile riordinare le operazioni in vario modo.
Sullo stesso principio c'è, per esempio, la fattorizzazione QR dove la matrice viene espressa come prodotto di una matrice ortogonale e di una triangolare superiore. La dimostrazione della sua esistenza è basata sull'algoritmo di Gram-Schmidt di ortogonalizzazione di una base in uno spazio vettoriale in cui è definito un prodotto interno (come il normale prodotto scalare euclideo).
*Questo metodo è utilizzato per esempio con le matrici ortogonali in cui l'inversa coincide con la trasposta.
** In algebra lineare numerica si trovano anche fattorizzazioni del tipo $LU = PAQ$ in cui cioè che vengono permutate sia le righe che le colonne. Questo tipo di fattorizzazione ha lo scopo di aumentare la stabilità dell'algoritmo ma non ha vantaggi nel caso in cui a risolvere il sistema sia un umano.
Penso che andrebbe fatto un accenno alla fattorizzazione LU e ad altri metodi simili. Se ho tempo magari aggiungo qualcosa qui. Intanto introduco il problema da cui nascono questi metodi. Ma prima aggiungo che il metodo di Cramer ha una complessità computazionale $O(n!)$ se si usa il metodo classico per i calcoli del determinante contro gli $O(n^3)$ del metodo di eliminazione di Gauß. Ignorando le costanti, che sono comunque piuttosto basse, $n!>n^3$ da $6$ in poi ed è quindi per questo che Cramer è generalmente sconsigliato se non si lavora in matrici molto piccole.
Il maggior problema di questo genere di metodi risiede comunque nel fatto che si lavora con matrici che contengono i termini noti e quindi che non risulta possibile riutilizzare i calcoli per risolvere sistemi in cui fai variare i termini noti. La fattorizzazione LU e metodi simili nascono invece con questo scopo. In generale i metodi consistono nell'esprimere la matrice $A$ del sistema come prodotto di matrici, come quelle triangolari, che sono facili da risolvere e/o da invertire (il sistema [tex]A\mathbf{x} = \mathbf{b}[/tex] è equivalente a [tex]\mathbf{x} = A^{-1}\mathbf{b}[/tex]*).
In generale abbiamo quindi che $A = A_1A_2\cdots A_n$ e che quindi [tex]\mathbf{b} = A\mathbf{x} = A_1A_2\cdots A_n\mathbf{x}[/tex]. Il risultato viene quindi calcolato ricorsivamente. Si pone infatti $bb x_1 = A_2\cdots A_n bb x$, $bb x_2 = A_3\cdots A_n bb x$ e così via fino a $bb x_n = bb x$ e quindi si osserva che $A_1 bb x_1 = bb b$, $A_2 bb x_2 = bb x_1$, $A_3 bb x_3 = bb x_2$ e così via fino a $A_n bb x_n = A_n bb x = bb x_{n-1}$. Non sempre questo è comunque possibile e per alcune fattorizzazioni è necessario l'uso del pivoting (come in quella LU).
Finora ho presentato solo l'argomento generale e non risulta certo immediato come questi metodi possano essere collegati ai metodi presentati in precedenza. Cominciamo quindi a vedere il metodo della riduzione a gradini in termini differenti.
Il metodo inizia dal sistema $A bb x = bb b$. A questo quindi, per ora ignorando il pivoting, vengono applicate le trasformazioni descritte in precedenza in modo da eliminare i valori nella prima colonna ad eccezione del primo. Il sistema diventerà quindi nella forma $U_1 bb x = bb b_1$ dove $U_1 = T_1A$ e $bb b_1 = T_1 bb b$.
È abbastanza semplice osservare che $T_1$ è triangolare inferiore.
In modo analogo si passerà quindi al sistema $U_2 bb x = bb b_2$ e così via fino ad avere una matrice $U$ triangolare superiore o, nel caso in cui la matrice non sia quadrata ad una matrice della forma presentata precedentemente.
Ad ogni passaggio si è moltiplicato entrambi i membri dell'equazione matriciale per una matrice $T_i$ triangolare inferiore (prodotto di matrici elementari della forma descritta precedentemente da prime_number). Alla fine quindi si ha che $U = T_n\cdots T_1A$ o equivalentemente $T_1^{-1}\cdots T_{n}^{-1}U = A$. Ponendo il prodotto $T_1^{-1}\cdots T_{n}= L$ si ricava la formula $LU = A$ in cui $L$ è triangolare inferiore e $U$ è triangolare superiore. Si tenga conto comunque che sto ignorando il pivoting per semplicità e che in generale si ha che $LU = PA$ dove $P$ è una permutazione delle righe**.
La fattorizzazione non è unica, infatti se $D$ è una matrice diagonale allora $LD$ e $D^{-1}U$ sono rispettivamente triangolari inferiori e superiori e $LDD^{-1}U = LU = A$. La fattorizzazione è però unica se si impone che $L$ abbia tutti 1 sulla diagonale.
Va comunque notato che fattorizzare la matrice richiede un numero di calcoli paragonabili alla riduzione e che non è necessario tenere a mente tutti i $T_i$ soprattutto considerando che l'inversione e il prodotto di questo tipo di matrici è molto semplice (in generale non viene fatto). Ora che abbiano notato che questa fattorizzazione esiste si può ricavare l'algoritmo in modo più semplice tenendo conto che $A = LU$ e quindi ricavare le componenti di $L$ e di $U$ a partire dal prodotto matriciale, eventualmente aggiungendoci il pivoting.
Se ho tempo ci aggiungo per bene i calcoli. In ogni caso si tenga presente che per quanto i metodi siano equivalenti è comunque possibile riordinare le operazioni in vario modo.
Sullo stesso principio c'è, per esempio, la fattorizzazione QR dove la matrice viene espressa come prodotto di una matrice ortogonale e di una triangolare superiore. La dimostrazione della sua esistenza è basata sull'algoritmo di Gram-Schmidt di ortogonalizzazione di una base in uno spazio vettoriale in cui è definito un prodotto interno (come il normale prodotto scalare euclideo).
*Questo metodo è utilizzato per esempio con le matrici ortogonali in cui l'inversa coincide con la trasposta.
** In algebra lineare numerica si trovano anche fattorizzazioni del tipo $LU = PAQ$ in cui cioè che vengono permutate sia le righe che le colonne. Questo tipo di fattorizzazione ha lo scopo di aumentare la stabilità dell'algoritmo ma non ha vantaggi nel caso in cui a risolvere il sistema sia un umano.
"Sergio":
......Soprattutto, sottolinerei che parlare di $oo^k$ soluzioni è, a rigore, alquanto improprio. Infatti le soluzioni, se infinite, sono sempre $oo$, mentre $k$ è la dimensione del sottospazio affine delle soluzioni. La "formuletta" $oo^k$ risulta intuitivamente utile (in pratica, aiuta a trovare correttamente le soluzioni), ma non si deve dimenticare che la cardinalità di un insieme infinito di soluzioni è sempre la stessa, quale che sia $k$, così come la cardinalità dell'insieme "punti del segmento $l$" è uguale a quella dell'insieme "punti del quadrato di lato $l$" (una coserella poco intuitiva, ma importante).
Complimenti ancora e buon lavoro!
Sergio
Ah..questi matematici vecchio stampo e gentiluomini,
che trovano romantico financo il ricordo d'un prof un pò cavilloso:
ne servirebbero di più,a questo povero mondo!
Comunque attento che,come saprai,la verità fornita dall'ultimo esempio costò al buon George la ragione
(e mi vien da pensare a quel talentaccio di Maradona,che disse nel film sulla sua figura di Kusturica
"Ma se tutto quello che ho fatto su un campo da calcio è avvenuto nella condizioni sbagliate che tutti conoscete,
vi rendete conto che calciatore vi siete persi?"),
per colpa dell'ostracismo d'una comunità che non era ancora matura per accettare (af)finezze come quella
(e se non ricordo male,dato che si parla di ranghi,fù proprio Kronecker il suo nemico più acerrimo!):
ma i frequentatori di questo forum sono ben più dotati d'immaginazione,direi,
e dunque non corri rischi..
Per il resto son d'accordo:
entrambi lavori sono ottimi,sintetici,chiari ed esaustivi.
Complimenti per questa vostra bella creatura,
e più in generale al forum ed a te in particolare:
contraggo debiti sui perchè
(come disse il mio insegnante d'Analisi II quando usò $int_(-oo)^(+oo) e^(-x^2)dx$ senza aver ancora parlato d'integrali multipli..),
ma ancora non è arrivato il tempo di saldarli.
Saluti dal web.
salve, sono uno studente di Ingegneria e volevo avere delucidazioni sui sistemi:
avendo un sistema lineare con 3 equazioni in 3 incognite , scrivo la matrice associata, calcolo il determinante che è diverso da 0, svolgo normalmente Cramer per determinare i valori (x,y,z), ma avendo un parametro h all'interno delle equazioni, arrivato al calcolo delle (x,y,z) cosa devo fare? Devo vedere al variare di h cosa accade, sostituendo il valore ottenuto dall'equazione associata al determinate al sistema lineare, e poi? Quali sono le soluzioni del sistema? Quelle trovate prima (e quindi il sostituire l'h servirebbe solo a confermare le soluzioni) o i nuovi valori per (x,y,z)? Grazie
avendo un sistema lineare con 3 equazioni in 3 incognite , scrivo la matrice associata, calcolo il determinante che è diverso da 0, svolgo normalmente Cramer per determinare i valori (x,y,z), ma avendo un parametro h all'interno delle equazioni, arrivato al calcolo delle (x,y,z) cosa devo fare? Devo vedere al variare di h cosa accade, sostituendo il valore ottenuto dall'equazione associata al determinate al sistema lineare, e poi? Quali sono le soluzioni del sistema? Quelle trovate prima (e quindi il sostituire l'h servirebbe solo a confermare le soluzioni) o i nuovi valori per (x,y,z)? Grazie
Questa discussione serve come dispensa/guida e non per rispondere ai problemi personali.
Per quello ti invito a riproporre il problema in una nuova discussione.
P.S: magari usando le formule.
Per quello ti invito a riproporre il problema in una nuova discussione.
P.S: magari usando le formule.
Che bello, adoro essere il primo a notare un errore di distrazione, mi fa sentire sveglio
Il vettore dei termini noti dovrebbe avere m componenti, non n.

Grazie Sessio, ho corretto!
Paola
Paola
Ottima guida, molto utile.
Ho un dubbio però cosa succede se il rango(A)=rango(A|b) > n ?
Ho un dubbio però cosa succede se il rango(A)=rango(A|b) > n ?
"Perito97":
Ottima guida, molto utile.
Ho un dubbio però cosa succede se il rango(A)=rango(A|b) > n ?
Prova a pensare cos'è il rango e risponditi da solo

Il tuo è un modo per farmi capire che questo caso è impossibile che si verifichi? XD
Guida molto utile, mi è servita a ripassare queste nozioni oramai dimenticate.
nell'appendice A, quella dove vengono spiegati i ranghi, c'è una frase illeggibile: \( \displaystyle rank(A)
potresti spiegare?
Grazie, saluti.
nell'appendice A, quella dove vengono spiegati i ranghi, c'è una frase illeggibile: \( \displaystyle rank(A)
potresti spiegare?
Grazie, saluti.
Scusa, ma nel caso 3) non si dovrebbe scrivere che il rango (A)=rango (A|b)>n
invece che rango (A)=rango (A|b) diverso n ?
ciao
invece che rango (A)=rango (A|b) diverso n ?
ciao
Il sistema in questione è:
$\{(2x + 3y - 2z = 4),(3x - 2y + 5z = 1):}$
Ho applicato una delle tre trasformazioni elementari, moltiplicando la prima equazione per lo scalare $-3/2$ e poi sommandola alla seconda equazione, e mi ritrovo il sistema:
$\{(2x + 3y - 2z = 4),(-5y + 8z = 1):}$
Ora come devo procedere ? Secondo le proprietà del sistema lineare ridotto, ho 1 sola varibile indipendente ( num. di incognite meno num. di equazioni del sistema ).
$\{(2x + 3y - 2z = 4),(3x - 2y + 5z = 1):}$
Ho applicato una delle tre trasformazioni elementari, moltiplicando la prima equazione per lo scalare $-3/2$ e poi sommandola alla seconda equazione, e mi ritrovo il sistema:
$\{(2x + 3y - 2z = 4),(-5y + 8z = 1):}$
Ora come devo procedere ? Secondo le proprietà del sistema lineare ridotto, ho 1 sola varibile indipendente ( num. di incognite meno num. di equazioni del sistema ).
@ Mr.Mazzarr: L'idea è che puoi usare una (a piacere tuo) delle tre incognite come parametro e calcolare, in funzione di tale parametro, tutte le soluzioni del sistema.
Ad esempio, prendendo come parametro la \(z\), i.e. ponendo \(z=t\), trovi:
\[
\begin{cases}
2x+3y=4+2t\\
-5y=1-8t\\
z=t
\end{cases} \qquad \Rightarrow \qquad
\begin{cases}
x=-\frac{7}{5}\ t + \frac{23}{10}\\
y=\frac{8}{5}\ t - \frac{1}{5}\\
z=t
\end{cases}
\]
(se non ho sbagliato i conti), dunque le soluzioni del tuo sistema sono tutti e soli i vettori \((x,y,z)\in \mathbb{R}^3\) che si ottengono da \((-\frac{7}{5}\ t + \frac{23}{10} , \frac{8}{5}\ t - \frac{1}{5}, t)\) al variare di \(t\in \mathbb{R}\).
Geometricamente, le soluzioni del tuo sistema sono tutti e soli i punti \((x,y,z)\) comuni ai due piani \(\Pi_1:\ 2x+3y-2z=4\) e \(\Pi_2:\ 3x-2y+5z=1\).
I piani \(\Pi_1\) e \(\Pi_2\) non sono paralleli né coincidono, dunque essi si intersecano necessariamente in una retta dello spazio cartesiano; pertanto le tue soluzioni \((x,y,z)\) sono tutti e soli i punti che stanno sulla retta ottenuta intersecando \(\Pi_1\) e \(\Pi_2\).
Ad esempio, prendendo come parametro la \(z\), i.e. ponendo \(z=t\), trovi:
\[
\begin{cases}
2x+3y=4+2t\\
-5y=1-8t\\
z=t
\end{cases} \qquad \Rightarrow \qquad
\begin{cases}
x=-\frac{7}{5}\ t + \frac{23}{10}\\
y=\frac{8}{5}\ t - \frac{1}{5}\\
z=t
\end{cases}
\]
(se non ho sbagliato i conti), dunque le soluzioni del tuo sistema sono tutti e soli i vettori \((x,y,z)\in \mathbb{R}^3\) che si ottengono da \((-\frac{7}{5}\ t + \frac{23}{10} , \frac{8}{5}\ t - \frac{1}{5}, t)\) al variare di \(t\in \mathbb{R}\).
Geometricamente, le soluzioni del tuo sistema sono tutti e soli i punti \((x,y,z)\) comuni ai due piani \(\Pi_1:\ 2x+3y-2z=4\) e \(\Pi_2:\ 3x-2y+5z=1\).
I piani \(\Pi_1\) e \(\Pi_2\) non sono paralleli né coincidono, dunque essi si intersecano necessariamente in una retta dello spazio cartesiano; pertanto le tue soluzioni \((x,y,z)\) sono tutti e soli i punti che stanno sulla retta ottenuta intersecando \(\Pi_1\) e \(\Pi_2\).
Ottimo gugo, grazie mille.
P.s.
Non avendo un libro di esercizi, c'è online un sito dove posso trovare tantissimi esercizi su sistemi lineari, matrici ed altro argomenti di Geometria e Algebra Lineare ?
P.s.
Non avendo un libro di esercizi, c'è online un sito dove posso trovare tantissimi esercizi su sistemi lineari, matrici ed altro argomenti di Geometria e Algebra Lineare ?
Una domanda: quando il sistema contiene delle variabili di cui dobbiamo trovare il valore affinchè esistano soluzioni, del tipo:
$\{(x+y+z=k),(kx+y+2z=1),(x+ky+3z=1):}$
come faccio a scegliere il valore giusto di $k$? In questo esempio viene scelto $k=1$ perchè è il valore che semplifica il più possibile la matrice (nel senso che i termini con $k$ vengono annullati), e per questo io addotto sempre questa "tecnica", ma in alcuni casi non è efficace. Non c'è un metodo sicuro per capire su quali valori di $k$ puntare?
$\{(x+y+z=k),(kx+y+2z=1),(x+ky+3z=1):}$
come faccio a scegliere il valore giusto di $k$? In questo esempio viene scelto $k=1$ perchè è il valore che semplifica il più possibile la matrice (nel senso che i termini con $k$ vengono annullati), e per questo io addotto sempre questa "tecnica", ma in alcuni casi non è efficace. Non c'è un metodo sicuro per capire su quali valori di $k$ puntare?
Ottima domanda. Si tratta di un cosiddetto "sistema parametrico". In fondo alla guida trovi degli esempi!
Nel tuo caso, ad esempio, costruisci la matrice completa:
[tex]A|b=\left( \begin{array}{ccc|c}
1&1&1&k\\
k&1&2&1\\
1&k&3&1
\end{array}\right)[/tex]
Ora inizia la discussione. Dato che l'incompleta $A$ è quadrata, conviene partire facendone il determinante: $det A=k^2-5k+4=(k-1)(k-4)$. Ora distinguiamo due casi principali, quando si annulla e quando no.
CASO 1: $det A\ne 0$ ovvero $k\ne 1, 4$
Possiamo già concludere che $rank A = 3$ e anche che $rank A|b = 3$ (anche perchè più di così non può essere e hai già trovato un minore non nullo di ordine massimo!) quindi il sistema è determinato.
CASO 2 : $det A =0$ ovvero $k=1$ oppure $k=4$
Dividiamo nei due sottocasi dunque:
caso 2a: $k=1$
Già sappiamo che $rank A <3$. Non sappiamo nulla di $rank A|b$ ancora. Conviene riscrivere tutta la matrice completa con il valore conosciuto di $k$:
[tex]A|b=\left( \begin{array}{ccc|c}
1&1&1&1\\
1&1&2&1\\
1&1&3&1
\end{array}\right)[/tex]
Il rango di $A$ è $2$ perché subito notiamo il minore non nullo di ordine $2$: $|(1,2),(1,3)|\ne 0$. Usiamo il metodo degli orlati per vedere il valore del rango di $A|b$. Orliamo nell'unico modo possibile questo minore, ottenendo:
$|(1,1,1),(1,2,1),(1,3,1)|=0$
Allora anche $rank A|b = 2$. Il sistema è indeterminato con $\infty^1$ soluzioni.
caso 2b : $k=4$
... discussione analoga al caso 2a che lascio a te
Paola
Nel tuo caso, ad esempio, costruisci la matrice completa:
[tex]A|b=\left( \begin{array}{ccc|c}
1&1&1&k\\
k&1&2&1\\
1&k&3&1
\end{array}\right)[/tex]
Ora inizia la discussione. Dato che l'incompleta $A$ è quadrata, conviene partire facendone il determinante: $det A=k^2-5k+4=(k-1)(k-4)$. Ora distinguiamo due casi principali, quando si annulla e quando no.
CASO 1: $det A\ne 0$ ovvero $k\ne 1, 4$
Possiamo già concludere che $rank A = 3$ e anche che $rank A|b = 3$ (anche perchè più di così non può essere e hai già trovato un minore non nullo di ordine massimo!) quindi il sistema è determinato.
CASO 2 : $det A =0$ ovvero $k=1$ oppure $k=4$
Dividiamo nei due sottocasi dunque:
caso 2a: $k=1$
Già sappiamo che $rank A <3$. Non sappiamo nulla di $rank A|b$ ancora. Conviene riscrivere tutta la matrice completa con il valore conosciuto di $k$:
[tex]A|b=\left( \begin{array}{ccc|c}
1&1&1&1\\
1&1&2&1\\
1&1&3&1
\end{array}\right)[/tex]
Il rango di $A$ è $2$ perché subito notiamo il minore non nullo di ordine $2$: $|(1,2),(1,3)|\ne 0$. Usiamo il metodo degli orlati per vedere il valore del rango di $A|b$. Orliamo nell'unico modo possibile questo minore, ottenendo:
$|(1,1,1),(1,2,1),(1,3,1)|=0$
Allora anche $rank A|b = 2$. Il sistema è indeterminato con $\infty^1$ soluzioni.
caso 2b : $k=4$
... discussione analoga al caso 2a che lascio a te

Paola
Spiegazione chiarissima! Grazie mille!
Gli esempi li avevo visti, ma ho capito bene solo ora
Ieri esercitandomi ho scoperto che anche risolvendo direttamente il sistema trovo per quali k la soluzione è unica, infatti man mano che lo risolvo tengo conto per quali k la soluzione non esiste (e nell'esempio che ho postato sono proprio per $k!=1$ e $k!=4$) e quindi una volta risolto questo sistema prendo i k uguali ai valori che ho trovato, li sostituisco al sistema e risolvo. Mi potresti dire se anche così è giusto? Con il determinante è decisamente più veloce, però se dovessi trovarmi una matrice non quadrata almeno so come muovermi... grazie


Ieri esercitandomi ho scoperto che anche risolvendo direttamente il sistema trovo per quali k la soluzione è unica, infatti man mano che lo risolvo tengo conto per quali k la soluzione non esiste (e nell'esempio che ho postato sono proprio per $k!=1$ e $k!=4$) e quindi una volta risolto questo sistema prendo i k uguali ai valori che ho trovato, li sostituisco al sistema e risolvo. Mi potresti dire se anche così è giusto? Con il determinante è decisamente più veloce, però se dovessi trovarmi una matrice non quadrata almeno so come muovermi... grazie

Sì direi che va bene, ma essendo un procedimento meno metodico attenzione perché qualcosa può sfuggire. Ma se tu ti trovi meglio così fai bene.
Comunque nel caso ti dovesse uscire una matrice non quadrata, niente panico: utilizza il metodo degli orlati (vedi guida). Di solito si cerca di isolare (se possibile!!) dei minori non nulli dove non c'è il parametro, così da poter dire "ok, il rango è ALMENO tot" e poi si orla con righe e colonne con il parametro quando non si può fare altrimenti e si discute.
Paola
Comunque nel caso ti dovesse uscire una matrice non quadrata, niente panico: utilizza il metodo degli orlati (vedi guida). Di solito si cerca di isolare (se possibile!!) dei minori non nulli dove non c'è il parametro, così da poter dire "ok, il rango è ALMENO tot" e poi si orla con righe e colonne con il parametro quando non si può fare altrimenti e si discute.
Paola