Matrici di permutazione

Documenti analoghi
Metodi per la risoluzione di sistemi lineari

MATRICI E VETTORI APPROFONDIMENTO PER IL CORSO DI LABORATORIO DI INFORMATICA SARA POLTRONIERI

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Sistemi di equazioni lineari

SISTEMI LINEARI, METODO DI GAUSS

LEZIONE 3. Typeset by AMS-TEX

Metodo di Gauss-Jordan 1

TEOREMA DEL RESTO E REGOLA DI RUFFINI

11.4 Chiusura transitiva

a + 2b + c 3d = 0, a + c d = 0 c d

Quali condizionisi si possono richiedere sulla funzione interpolante?

Corso di Analisi Numerica - AN1. Parte 2: metodi diretti per sistemi lineari. Roberto Ferretti

SISTEMI LINEARI. x 2y 2z = 0. Svolgimento. Procediamo con operazioni elementari di riga sulla matrice del primo sistema: R 2 R 2 3R

Cifre significative delle misure di grandezze fisiche

1 Definizione di sistema lineare omogeneo.

SISTEMI LINEARI MATRICI E SISTEMI 1

1. Proprietà della somma di matrici. 1. (A + B) + C = A + (B + C) qualunque. 2. A + B = B + A qualunque siano le matrici

Esercizi sui sistemi di equazioni lineari.

MATRICI. 1. Esercizi

Metodi numerici per la risoluzione di Sistemi Lineari

Argomento 13 Sistemi lineari

Sistemi di equazioni lineari

Applicazioni lineari e diagonalizzazione. Esercizi svolti

Facoltá di Scienze MM.FF.NN. Corso di Studi in Informatica- A.A

Metodi diretti per la soluzione di sistemi lineari

Informatica B

Metodo dei minimi quadrati e matrice pseudoinversa

Parte V: Rilassamento Lagrangiano

Risoluzione di problemi ingegneristici con Excel

Somma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi

Prodotti scalari e matrici

La riduzione a gradini e i sistemi lineari (senza il concetto di rango)

04 - Numeri Complessi

Equazioni, funzioni e algoritmi: il metodo delle secanti

Condizionamento del problema

Note per il corso di Geometria e algebra lineare Corso di laurea in Ing. Elettronica e delle Telecomunicazioni

Esercizi svolti sui sistemi lineari

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore

( ), i, j = 1,2,...,n, si cerca un vettore x!r n tale che

Espressioni ed Equazioni

4 0 = 4 2 = 4 4 = 4 6 = 0.

Corso di Calcolo Numerico

Rappresentazioni numeriche

Problemi di Flusso: Il modello del Trasporto

LEZIONE 23. ax 2 + bxy + cy 2 + dx + ey + f

C I R C O N F E R E N Z A...

1 L estrazione di radice

Precorso di Matematica

Il programma OCTAVE per l insegnamento dell algebra lineare nella Scuola Secondaria p. 1

Esercizi sui vettori liberi (i, j, k è una base ortonormale positiva)

Diagrammi a blocchi 1

Esercizi svolti sui sistemi lineari

Rilassamento Lagrangiano

9 Metodi diretti per la risoluzione di sistemi lineari: fattorizzazione P A = LU

Catene di Markov. 8 ottobre 2009

I RADICALI QUADRATICI

Esame di FONDAMENTI DI AUTOMATICA (9 crediti) SOLUZIONE

Richiami di aritmetica(2)

1.5 DIVISIONE TRA DUE POLINOMI

1) Quali dei seguenti sottoinsiemi del campo dei numeri reali ℝ sono sottospazi vettoriali?

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Richiami sulla rappresentazione dei numeri in una base fissata

ESPONENZIALI E LOGARITMI. chiameremo logaritmica (e si legge il logaritmo in base a di c è uguale a b ).

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

Cercare il percorso minimo Ant Colony Optimization

Elaborazione aut. dei dati

Note sull implementazione in virgola fissa di filtri numerici

Liceo scientifico Pascal Manerbio Esercizi di matematica per le vacanze estive

Importanza delle incertezze nelle misure fisiche

ESERCIZIO SOLUZIONE. 13 Aprile 2011

INTERPOLAZIONE. Francesca Pelosi. Dipartimento di Matematica, Università di Roma Tor Vergata. CALCOLO NUMERICO e PROGRAMMAZIONE

Robotica industriale. Richiami di statica del corpo rigido. Prof. Paolo Rocco

valore di a: verso l alto (ordinate crescenti) se a>0, verso il basso (ordinate decrescenti) se a<0;

INDICAZIONI PER LA RICERCA DEGLI ASINTOTI VERTICALI

FUNZIONI ELEMENTARI, DISEQUAZIONI, NUMERI REALI, PRINCIPIO DI INDUZIONE Esercizi risolti

Esercitazione 03: Sistemi a tempo discreto

Richiami di aritmetica

Ripasso di Calcolo Scientifico: Giulio Del Corso

Equazioni di Primo grado

Codice Gray. (versione Marzo 2007)

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Numeri frazionari. sistema posizionale. due modi: virgola fissa virgola mobile. posizionale, decimale

SISTEMI LINEARI QUADRATI: METODI ITERATIVI

+2 3 = = =3 + =3 + =8 =15. Sistemi lineari. nelle stesse due incognite. + = + = = = Esempi + =5. Il sistema è determinato

Esercizio. Sia a R non nullo e siano m, n numeri interi non nulli con m n. Allora a m /a n è uguale a. [1] 1/a n m [2] 1/a m n [3] 1/a n m [4] a n m

Le disequazioni frazionarie (o fratte)

EQUAZIONI CON VALORE ASSOLUTO DISEQUAZIONI CON VALORE ASSOLUTO

Esercizio C2.1 - Acquisizione dati: specifiche dei blocchi

CORSO DI LAUREA IN MATEMATICA

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

CONICHE. Esercizi Esercizio 1. Nel piano con riferimento cartesiano ortogonale Oxy sia data la conica C di equazione

1 Multipli di un numero

Prof.ssa Laura Pagnozzi Prof. Ivano Coccorullo. Calcolo Combinatorio

Esercizi svolti sulla parabola

Corso di Geometria e Algebra Lineare - Sezione di Metodi Numerici

Rilassamento Lagrangiano

Metodo alternativo per il calcolo delle divisioni.

Daniela Lera A.A

Transcript:

Matrici di permutazione Si dice matrice di permutazione elementare una matrice ottenuta dall identità scambiando due righe i e j o due colonne i e j. P ij =...... P ij ha come effetto di scambiare le righe i e j di. P ij ha come effetto di scambiare le colonne i e j di. P ij = P T ij. Dunque P ijp ij = I è ortogonale e involutoria. Si dice matrice di permutazione P il prodotto di permutazioni elementari. P = P ij P kl P rs...p uv P T = (P ij P kl P rs...p uv ) T = P uv...p rs P kl P ij...

P P T = P ij P kl P rs...p uv P uv...p rs P kl P ij = I P è ortogonale.

Fattorizzazione di una matrice qualunque con trasformazioni elementari di Gauss Lo scopo è quello di risolvere sistemi in cui, pur essendo non singolare, non è fattorizzabile nella forma LR. = x = b b 2 Se si permutano le due equazioni si ottiene un sistema equivalente e fattorizzabile secondo Gauss. Ciò significa premoltiplicare ambo i membri del sistema per una matrice di permutazione elementare: b P = P x = P b x x 2 = Teorema. Sia una matrice m n. Esiste una matrice di permutazione P m m tale che P = LR ove L è una matrice m m triangolare inferiore con sulla diagonale e R è una matrice m n trapezoidale superiore, tale che rango()=rango(r). Se è quadrata non singolare, anche R è quadrata delle stesse dimensioni, non singolare. La dimostrazione è costruttiva. Consideriamo la prima colonna di. Se c è un elemento a r, si premoltiplica per una matrice di permutazione elementare P che b 2

scambia le righe r e per portare l elemento in posizione perno e poi si esegue una trasformazione elementare di Gauss L che annulla tutti gli elementi della prima colonna al di sotto dell elemento diagonale. Se al contrario tutta la prima colonna è nulla e, in tal caso, si pone P = L = I. L P = 2 Si cerca un elemento non nullo sulla seconda colonna dalla posizione di riga 2 alla riga n. Se esiste tale elemento, si porta in posizione perno, scambiando la seconda riga con la riga in cui sta l elemento (mediante la permutazione P 2 ) e poi si esegue una trasformazione di Gauss L 2 per annullare tutti gli elementi al di sotto della posizione perno. ltrimenti si pone L 2 = P 2 = I e si prosegue. Dopo k = min(m, n) passi si ottiene L k P k...l P = R ove R è una matrice m n, R = k+. Se m n, k = m, R = @ \......... \...... \... Se m > n, k = n, R = \...... \... \ C Gli elementi diagonali di R sono nulli in corrispondenza dei perni nulli.

Per esempio, se è quadrata di ordine n non singolare, esiste ul elemento diverso da sulla prima colonna (altrimenti ci sarebbe una colonna nulla) e pertanto si esegue una permutazione per portarlo in posizione perno e una trasformazione di Gauss: L P = a (2)...... a (2) n......... à 2............ C = 2 Ora nella prima colonna di à 2 esiste almeno un elemento non nullo, altrimenti det( 2 ) =. Ma 2 è prodotto di matrici non singolari e, quindi, è non singolare. l passo j, L j P j...l P = j = a (j)...... a (j) n \...... a (j) jj...... à j C j è non singolare perchè prodotto di matrici non singolari. Uno degli elementi della prima colonna di à j è non nullo, poichè altrimenti det( j ) =. Pertanto in k = n passi si ottiene con R non singolare. L n P n...l P = R

In generale Si pone L k P k...l 2 P 2 L P = R S k j = P k P k...p k j S k j = S k j P k j S k j è invertibile e S k j = P k j...p k. llora, L k P k L k P k L k 2 P k 2...L 3 P 3 L 2 P 2 L P = R L k P k L k S k S kp k L k 2 S k S k P k 2...... L 3 S 4 S 4P 3 L 2 S 3 S 3P 2 L S 2 S 2P = R L k (S k L k S k )(S k L k 2 S k )(S k 2L k 2 S k 2 )...... (S 4 L 3 S 4 )(S 3L 2 S 3 )(S 2L S 2 )S = R Si pone P = S e si osserva che S i L i S i = S i (I m (i ) e T i )S i = I S i m (i ) e T i S i = I m i e T i = L i L i ha la stessa struttura di L i. Infatti S i = P k...p i permuta elementi che stanno dalla posizione i a posizioni superiori. S i m (i ) = m (i ) =. x x C i zeri et i S i = e T i llora L k Lk Lk 2... L P = R

P = L = L Gli m ij sono permutati di righe.... L k L k {z } L...... m ij......... R C Ora, si dimostra che, se rango() = r, rango(r) = r, ossia R ha solo r elementi diagonali non nulli. Infatti rango() = r ha r colonne al più linearmente indipendenti (siano i,..., i r ) λ i + λ 2 i2 +...λ r i r = λ i = λ (P T LR i ) +... + λ r (P T LR i r) = λ i = P T L(λ R i +... + λ r R i r) = λ i = λ R i +... + λ r R i r = λ i = rango(r) = r Il sistema da risolvere x = b diventa, con non singolare, poichè P = LR: Ly = P b Rx = y Inoltre vale che: det() = ( ) σ r...r nn ove σ è il numero di permutazioni effettivamente effettuate sulla ennupla (, 2,..., n). Infatti il determinante di ogni matrice di permutazione elementare diversa dall identità vale -.

ESEMPIO. P = I L = @ @ 2 2 2 2 P 2 = @ L 2 P 2 L P [ b] = R = P = P 2 P = @ 2 2 2 @ L P [ b] = L2 = I @ L P b = x 3 = x 2 = x = @ L = @ @ L = L 2 P 2 L P T 2 = L 2 L L I = @ = P = LR @ @

La presenza di un perno nullo è causa d arresto nell algoritmo di eliminazione di Gauss. Occorre ricorrere alla tecnica di ricerca del perno. Cosa accade in presenza di un perno piccolo? Si consideri: @. 2 2 2 [ 2 b 2 ] = @ x x 2 x 3 = @. Teoricamente si può procedere poichè a (2) 22 : m 32 =. = 4 [ 3 b 3 ] = @ 2 @. 9999 4 Le soluzioni esatte sono x 3 =..., x 2 =..., x =. Usando aritmetica finita con t = 4 cifre decimali: x 3 =. x 2 = ( )/ 4 = x = ( )/ = Gli errori in x 2 e x sono grandi. Si noti che il perno a (2) 22 è piccolo ( 4 ). Se c è un piccolo errore nella determinazione di x 3, questo viene amplificato di 4 nel calcolo di x 2 e, di conseguenza, si ripercuote nella determinazione di x. llora occorre evitare che i perni siano molto piccoli (e i moltiplicatori grandi).

[ 2 b 2 ] = @. 2 2 2 2 @. Si può sfruttare la libertà di scelta del perno per rendere l algoritmo più stabile (ossia meno sensibile agli errori di arrotondamento delle operazioni). P 2 [ 2 b 2 ] = @. m 32 = 4 a (3) 33 = 4 =.9999 b (3) 3 = (R y) = Con t = 4 cifre decimali, @.9999 x 3 =. x 2 = x = Si noti che non c è stato esagerato accrescimento nei valori di R, poichè il moltiplicatore è minore di. Calcolo dei residui. r = @ r = @ 4 Con la strategia che sceglie il perno come l elemento di modulo massimo sulla colonna, il residuo resta piccolo.

Stategia di pivoting parziale Si sceglie come perno l elemento a (k) rk tale che a (k) rk = max i=k,n a (k) ik k =, 2,..., n In tal modo i moltiplicatori m ik, i = k +,..., n; k =, 2,..., n. Con questa strategia, è garantito che il residuo è piccolo. ttenzione! Ciò non implica che la soluzione sia accettabile:.78.563.27.93.659.254 Se si applica il pivoting parziale con t = 3 cifre decimali: m 2 =.78.93.659.254.93 =.854.. x 2 = ; x =.443 r =.46.54 Ma la soluzione esatta è x =. r < 3 Questo è un problema di mal condizionamento che non si risolve anche se si usa un algoritmo stabile. Conclusione: la libertà di scelta del perno è sfruttata per dare maggiore stabilità all algoritmo, limitando l amplificarsi degli errori di arrotondamento nelle operazioni.

Esempio. Si usa t = 3, β =. = 3 = @ @.58..52.56.2.56.2.2.4.58..52.6.58.9 Se si pone ɛ = 3, r ii > ɛ e rango() = 3. Se si pone ɛ = 2. 3, r 33 < ɛ e rango() = 2. Se si pone ɛ =, rango() =. Una piccola variazione di ɛ può generare una grande variazione del numero di elementi che si assumono nulli. Si parla di pseudorango numerico di una matrice.

Stategia di pivoting totale l passo k si sceglie come perno l elemento di modulo massimo della sottomatrice Ãk. a (k) ij = max r,s=k,n a (k) rs k =, 2,..., n Ciò richiede di eseguire lo scambio tra la riga i e la riga k e la colonna j e la colonna k. Questo comporta un riordinamento delle soluzioni dopo aver eseguito l algoritmo. Sono richiesti O( n3 3 ) confronti, anche se l algoritmo è più stabile. L algoritmo si basa sul seguente teorema generale. Teorema. Sia una matrice m n di rango r. llora esistono due matrici di permutazione P e Q di ordine m e n rispettivamente tali che: P Q = LR ove L R m m triangolare inferiore unitaria e R trapezoidale superiore m n di rango r, avente esattamente r righe che al di sopra della diagonale principale compresa possono contenere elementi non nulli: P Q = L @ \...... \... r righe rango() = r Se è non singolare, R è triangolare superiore non singolare.

Esempio. = = 2 = L P Q = 3 = L 2 P 2 L P Q Q 2 = = 4 2 3.7 4.4.8 3 2 3 5 C 5 2 3.6.2.8 2.8.6.7.8.6.8.8.6 3.4 C 5 3 2 3.4.6.8.4765.6353.794.742.9882.2353.588.48.7647 4 = L 3 P 3 L 2 P 2 L P Q Q 2 Q 3 = 5 3 2 3.4.6.8.7647.48.588 rango(r) = 3. In aritmetica finita, si deduce uno pseudorango numerico che non è detto che coincida con il rango teorico e dipende dalla tolleranza scelta. C C

Riduzione in scala Invece del pivoting totale (troppo costoso), si può usare la tecnica di riduzione in scala del sistema x = b Si tratta di costruire un sistema equivalente al dato mediante l uso di matrici diagonali (e quindi facilmente invertibili) in modo da abbassare il numero di condizionamento del sistema: D D 2 D 2 x = D b y = d con = D D 2, D 2 x = y e d = D b. Si vuole che K() < K( ), ove con K() si intende il numero di condizione della matrice. Si tratta di determinare D e D 2 diagonali in modo da abbattere il condizionamento del sistema. E un problema complesso. Si possono usare varie tecniche. Prima Idea. Fare in modo che la matrice trasformata sia tale che max j=,n a ij = i =,..., n; in tal caso si pone D = diag(d (),..., d() n ), D 2 = I, con d () i = max j=,n a ij (scalatura per righe) oppure max i=,n a ij = j =,..., n; in tal caso si pone D 2 = diag(d (2),..., d(2) n ), D = I, con d (2) i = max i=,n a ij (scalatura per colonne).

L idea è quella di calcolare d () i (o d (2) i ) a priori e, senza effettivamente eseguire la scalatura sulla matrice, calcolare il pivot come l elemento tale che a (k) rk a (k) rk max j=,n a rj = a(k) rk d() r = max i=k,n a (k) ik.d() i Seconda Idea. Si effettua la scalatura per righe (per colonne) in modo che nx nx a ij = ( j= i= a ij = ponendo d () i = P nj= a ij (d(2) i = P ni= ). a ij La scalatura altera la scelta del pivot. Non è detto, tuttavia, che ciò comporti un miglioramento significativo nella soluzione. Esempio. @ 2 3 6 2 4 2 La soluzione esatta è x = (...,.4...,.9994...) T. Supponendo di lavorare con aritmetica decimale con t = 3 cifre di precisione, si ha: @ 2 3 6 3 2 5.999.999.99 @ 2 3 6 3 2 5.333.325 La soluzione trovata è x = (.975,.,.5) T. Scalando per righe (prima idea), si calcolano d () = /3, d () 2 =

, d () 3 =. llora, si ottiene: @ /3 2/3 2 2 4 2 Di conseguenza, viene alterata la scelta del pivot: @.333.666 2 2 4 2 @.999.666.66.999.99 @.999.666.66.332.328 La soluzione trovata è x = (.987,.,.) T.

Schwarz suggerisce di non eseguire effettivamente la scalatura, ma di scegliere come pivot a (k) rk tale che a (k) rk P n j=k a(k) rj = max i=k,n a (k) ik P n j=k a(k) ij e di ripetere tale scalatura ad ogni passo. Questa tecnica, più costosa del semplice metodo di Gauss con pivoting parziale fornisce buoni risultati. Esempio @ 2 3 6 2 4 2 La soluzione esatta è x = (...,.4...,.9994...) T. Si pone d = /6, d 2 = /3, d 3 =.499. La scelta del pivot è a 2 : @ 2 3 6 2 4 2 @ 3 2 5.999.99 Ora abbiamo d 2 = /5, d 3 =.5. Il pivot resta a (2) 22 : @ 3 2 5.333.33 La soluzione calcolata è bx = (.99,.,.) T

Matrici a banda Si dice che è una matrice a banda con banda superiore s e banda inferiore r se a ij =, j i > s, i j > r. = a... a s+......... a 2s+2 a r+............ a r+22............... a nn Se non è necessario pivoting, la fattorizzazione = LR produce una matrice L di banda inferiore r e una matrice R di banda superiore s. Si ha dunque minore occupazione di memoria e minore complessità computazionale. L =... l r+... l r+22...... r... r s+...... r 2s+2 R =............... C r nn Se è necessario pivoting parziale, L mantiene banda r, ma R ha banda superiore 2s. Il pivoting parziale distrugge la struttura della matrice. C C

Matrici tridiagonali Si consideri una matrice tridiagonale strettamente diagonale dominante oppure non singolare diagonale dominante o definita positiva. Tre vettori c, d, b sono sufficienti a memorizzare gli elementi non nulli delle tre diagonali di. Supponiamo che si debba risolvere il sistema x = f d b c 2 d 2 b 2......... =............... b n C c n d n ove c 2 = b n =. Poichè è a banda con banda superiore e inferiore, L è triangolare inferiore unitaria con banda inferiore e R è triangolare superiore a banda superiore. = l 2... l n C u s......... s n u n C = LR Si osservi che: b i = a ii+ = (...l i...). s i u i+. C = s i i =,..., n

c i = a ii = (...l i...). b i 2 u i. C = l i u i i = 2,..., n 8 >< >: l i = d = u d i = a ii = (...l i...) c i u i. b i u i. i = 2,..., n C = l i b i + u i i = 2,..., n u = d ; u i = d i l i b i i = 2,..., n I due sistemi triangolare inferiore e superiore si risolvono nel seguente modo: f i = f i l i f i, i = 2,..., n f n = f n /u n ; f i = (f i b i f i+ )/u i i = n,..., Complessità computazionale Fattorizzazione: n divisioni, n somme e n prodotti; Soluzione: n divisioni, 2(n ) somme, 2(n ) prodotti. nche nel caso di matrici di Hessemberg, l applicazione del metodo di Gauss (anche con pivoting) comporta un abbassamento della complessità computazionale. Infatti in totale si eseguono n divisioni per calcolare i moltiplicatori e O(n 2 /2) prodotti e altrettante somme per il calcolo degli elementi di R.

Per matrici sparse, se non si esegue un riordinamento delle righe e colonne, si creano dei riempimenti, detti fill-in, che distruggono la struttura della matrice. Esempio. Il fattore di Cholesky della matrice sparsa è denso. L = = 4 2 /2 2 /2 2 3 /2 5/8 2 6 C 2.5.5.25.25.5.5 2 3 Esistono tecniche che riordinano una matrice per minimizzare il fill-in. Una delle più note è il criterio di Markowitz: seguendo questo criterio, ad ogni passo k si sceglie come perno l elemento della sottomatrice Ãk per cui la seguente quantità è minima: (row i )(col j ) ove row i e col j sono i numeri di elementi non nulli sulla riga i-esima e sulla j-esima colonna di à k. Se una matrice è simmetrica, il criterio di Markowitz equivale al minimum degree ordering. Quest ultima tecnica consiste nel costruire il grafo associato alla matrice: se n è la dimensione della matrice, si considera un grafo di n nodi numerati da a n e poi, per ogni elemento a ij si genera un arco che connette il nodo i al nodo j. C

Si prende come ordinamento quello dal nodo di grado minimo (grado di un nodo=numero di archi che partono da tale nodo) a quelli di grado superiore. Questo è dovuto al fatto che quando si elimina un nodo, tutti i nodi a lui connessi si connettono tra di loro, riflettendo la creazione di elementi non nulli. Pertanto si scelgono i nodi con minori connessioni prima degli altri. 5 4 2 3

In questo caso l ordinamento può essere: 2,3,4,5,, Pertanto P P T = /2 3 2 5/8 /2 6 2 2 /2 2 4 C L = / 2 3 5/(2 2) 4 p 2 2/ 3 2/5 /2 / 6 C Si noti che in questo caso non c è alcun fill-in.