Articles

Sistema di equazioni lineari

Posted on

Ci sono diversi algoritmi per risolvere un sistema di equazioni lineari.

Descrivere la soluzioneModifica

Per descrivere un insieme con un numero infinito di soluzioni, tipicamente alcune delle variabili sono designate come libere (o indipendenti, o come parametri), nel senso che possono assumere qualsiasi valore, mentre le variabili rimanenti sono dipendenti dai valori delle variabili libere.

Per esempio, considerate il seguente sistema:

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 {\displaystyle {\begin{alignedat}{7}x&&&&3y&&&&2z&&&&&\\\3x&&;+\code(0144)+;&&5y&&;+\i>;&&6z&&&&&\end{alignedat}}}

L’insieme delle soluzioni di questo sistema può essere descritto dalle seguenti equazioni:

x = – 7 z – 1 e y = 3 z + 2 . {\displaystyle x=-7z-1\;\;\;\;{\text{and}}\;\;\;\;y=3z+2{\text{.}}}

Qui z è la variabile libera, mentre x e y dipendono da z. Qualsiasi punto nell’insieme delle soluzioni può essere ottenuto scegliendo prima un valore per z, e poi calcolando i valori corrispondenti per x e y.

Ogni variabile libera dà allo spazio delle soluzioni un grado di libertà, il cui numero è uguale alla dimensione dell’insieme delle soluzioni. Per esempio, l’insieme di soluzioni per l’equazione di cui sopra è una linea, poiché un punto nell’insieme di soluzioni può essere scelto specificando il valore del parametro z. Una soluzione infinita di ordine superiore può descrivere un piano, o un insieme di dimensioni superiori.

Scelte diverse delle variabili libere possono portare a descrizioni diverse dello stesso insieme di soluzioni. Per esempio, la soluzione delle equazioni precedenti può essere descritta alternativamente come segue:

y = – 3 7 x + 11 7 e z = – 1 7 x – 1 7 . y=-{frac {3}{7}}}x+{frac {11}{7}}};\testo;\testo;\testo;\testo;\testo;z=-{frac {1}{7}}x-{frac {1}{7}}

Qui x è la variabile libera, e y e z sono dipendenti.

Eliminazione delle variabiliModifica

Il metodo più semplice per risolvere un sistema di equazioni lineari è di eliminare ripetutamente le variabili. Questo metodo può essere descritto come segue:

  1. Nella prima equazione, risolvi una delle variabili in termini delle altre.
  2. Sostituisci questa espressione nelle equazioni rimanenti. Questo produce un sistema di equazioni con un’equazione in meno e un’incognita in meno.
  3. Ripetere fino a quando il sistema è ridotto a una sola equazione lineare.
  4. Solvere questa equazione, e poi sostituirla di nuovo fino a trovare l’intera soluzione.

Per esempio, considerate il seguente sistema:

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 2 x + 4 y + 3 z = 8 {\displaystyle {\begin{alignedat}{7}x&&;+\i};&&3y&&&&2z&&&&&\\\3x&&;+\code(0144)+;&&5y&&;+\i};&&6z&&&&&\\2x&&&&4y&&&&3z&&&&&\end{alignedat}}}

Solvendo la prima equazione per x si ottiene x = 5 + 2z – 3y, e inserendo questa nella seconda e terza equazione si ottiene

– 4 y + 12 z = – 8 – 2 y + 7 z = – 2 {\displaystyle {\begin{alignedat}{5}-4y&&;+\i};&&12z&&&&&\\\2y&&&&7z&&&&&\end{alignedat}}}

Solvendo la prima di queste equazioni per y si ottiene y = 2 + 3z, e inserendo questo nella seconda equazione si ottiene z = 2. Ora abbiamo:

x = 5 + 2 z – 3 y y = 2 + 3 z z = 2 {\displaystyle {\begin{alignedat}{7}x&&&&&&&&2z&&;-\a6};&&3y&\a6}&&&&&&&&3z&&&&&&\\z&&&&&&&&&&&&&&\end{alignedat}}}

Riduzione delle righeModifica

Articolo principale: Eliminazione gaussiana

Nella riduzione delle righe (nota anche come eliminazione gaussiana), il sistema lineare è rappresentato come una matrice aumentata:

.

Questa matrice viene poi modificata usando operazioni elementari fino a raggiungere la forma echelon a righe ridotte. Ci sono tre tipi di operazioni elementari sulle righe:

Tipo 1: Scambia le posizioni di due righe. Tipo 2: moltiplicare una riga per uno scalare non nullo. Tipo 3: aggiungere ad una riga un multiplo scalare di un’altra.

Perché queste operazioni sono reversibili, la matrice aumentata prodotta rappresenta sempre un sistema lineare equivalente all’originale.

Ci sono diversi algoritmi specifici per ridurre una matrice aumentata, i più semplici dei quali sono l’eliminazione Gaussiana e l’eliminazione Gauss-Jordan. Il seguente calcolo mostra l’eliminazione di Gauss-Jordan applicata alla matrice di cui sopra:

∼ ∼ ∼ ∼ ∼ ∼ ∼ . {\displaystyle {\fscx130\fscy130\frx40}Signorina&&&&&&&

.

L’ultima matrice è in forma di riga ridotta echelon, e rappresenta il sistema x = -15, y = 8, z = 2. Un confronto con l’esempio nella sezione precedente sull’eliminazione algebrica delle variabili mostra che questi due metodi sono di fatto gli stessi; la differenza sta nel modo in cui i calcoli sono scritti.

La regola di CramerModifica

Articolo principale: Regola di Cramer

La regola di Cramer è una formula esplicita per la soluzione di un sistema di equazioni lineari, con ogni variabile data da un quoziente di due determinanti. Per esempio, la soluzione del sistema

x + 3 y – 2 z = 5 3 x + 5 y + 6 z = 7 2 x + 4 y + 3 z = 8 {\displaystyle {\begin{alignedat}{7}x&&\;3y&&\;2z&&\;5\\3x&&\;5y&&\;6z&&\;7\\2x&&\;4y&&\;3z&&\;8\end{alignedat}}}

è dato da

x = | 5 3 – 2 7 5 6 8 4 3 | | 1 3 – 2 3 5 6 2 4 3 | , y = | 1 5 – 2 3 7 6 2 8 3 | | 1 3 – 2 3 5 6 2 4 3 | | 1 3 – 2 3 5 7 6 2 4 3 | , z = | 1 3 5 3 5 7 2 4 8 | 1 3 – 2 3 5 6 2 4 3 | . {displaystyle x={{frac {\frac {,\left|{\begin{matrix}5&&&&&&3\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}},\;\;\;\;y={frac {\frac {,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}},\;\;\;\;z={frac {\,\left|{\begin{matrix}1&&&&&&8\end{matrix}}\right|\,}{\,\left|{\begin{matrix}1&&&&&&3\end{matrix}}\right|\,}}.}

Per ogni variabile, il denominatore è il determinante della matrice dei coefficienti, mentre il numeratore è il determinante di una matrice in cui una colonna è stata sostituita dal vettore dei termini costanti.

Anche se la regola di Cramer è importante dal punto di vista teorico, ha poco valore pratico per matrici grandi, poiché il calcolo di grandi determinanti è piuttosto ingombrante. Inoltre, la regola di Cramer ha proprietà numeriche molto scarse, che la rendono inadatta a risolvere in modo affidabile anche piccoli sistemi, a meno che le operazioni non siano eseguite in aritmetica razionale con precisione illimitata.

Soluzione della matriceModifica

Se il sistema di equazioni è espresso nella forma matrice A x = b {\displaystyle A\mathbf {x} =\mathbf {b} } , l’intero insieme di soluzioni può anche essere espresso in forma di matrice. Se la matrice A è quadrata (ha m righe e n=m colonne) e ha pieno rango (tutte le m righe sono indipendenti), allora il sistema ha una soluzione unica data da

x = A – 1 b {\displaystyle \mathbf {x} =A^{-1}\mathbf {b} } x = A + b + ( I – A + A ) w {displaystyle \mathbf {x} =A^{+}\mathbf {b} +(I-A^{+}A)\mathbf {w} }

Altri metodiModifica

Mentre i sistemi di tre o quattro equazioni possono essere facilmente risolti a mano (vedi Cracovia), i computer sono spesso usati per sistemi più grandi. L’algoritmo standard per risolvere un sistema di equazioni lineari è basato sull’eliminazione gaussiana con alcune modifiche. In primo luogo, è essenziale evitare la divisione per piccoli numeri, che può portare a risultati imprecisi. Questo può essere fatto riordinando le equazioni se necessario, un processo noto come pivoting. In secondo luogo, l’algoritmo non fa esattamente l’eliminazione gaussiana, ma calcola la decomposizione LU della matrice A. Questo è per lo più uno strumento organizzativo, ma è molto più veloce se si devono risolvere diversi sistemi con la stessa matrice A ma diversi vettori b.

Se la matrice A ha qualche struttura speciale, questa può essere sfruttata per ottenere algoritmi più veloci o accurati. Per esempio, i sistemi con una matrice simmetrica definita positivamente possono essere risolti due volte più velocemente con la decomposizione di Cholesky. La ricorsione di Levinson è un metodo veloce per le matrici Toeplitz. Esistono metodi speciali anche per matrici con molti elementi zero (le cosiddette matrici sparse), che appaiono spesso nelle applicazioni.

Un approccio completamente diverso viene spesso adottato per sistemi molto grandi, che altrimenti richiederebbero troppo tempo o memoria. L’idea è di iniziare con un’approssimazione iniziale alla soluzione (che non deve essere affatto accurata), e di cambiare questa approssimazione in diversi passi per avvicinarla alla soluzione vera. Una volta che l’approssimazione è sufficientemente accurata, questa viene presa come soluzione del sistema. Questo porta alla classe dei metodi iterativi.

C’è anche un algoritmo quantistico per sistemi lineari di equazioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *