( ), i, j = 1,2,...,n, si cerca un vettore x!r n tale che
|
|
- Gennara Dolce
- 7 anni fa
- Visualizzazioni
Transcript
1 4. Sistemi di equazioni algebriche lineari La soluzione numerica della maggior parte dei problemi di interesse nell ingegneria, anche molto complessi, si riduce alla soluzione di un sistema di equazioni algebriche lineari. Ad esempio, i sistemi a parametri concentrati lineari in condizioni stazionarie sono governati da equazioni algebriche lineari. Inoltre, se si risolve un sistema di equazioni algebriche non lineari con il metodo di Newton-Raphson ad ogni passo bisogna risolvere un sistema di equazioni algebriche lineari (vedi Nota 5). Più in generale, la discretizzazione di equazioni differenziali e integrali lineari porta alla soluzione di sistemi di equazioni algebriche lineari (vedi Nota 2 e Nota 3). In questa Nota considereremo il seguente problema. Dato un vettore b!r n e una matrice A = a ij ( ), i, j = 1,2,...,n, si cerca un vettore x!r n tale che " a 11 x 1 + a 12 x a 1n x n = b 1 $ a 21 x 1 + a 22 x a 2n x n = b 2 Ax = b! # $... % $ a n1 x 1 + a n2 x a nn x n = b n. (4.1) In forma compatta si ha n! a ij x j = b i i = 1,2,...,n. (4.2) j =1 Il problema (4.1) è un sistema di n equazioni algebriche lineari in n incognite 1. Se det A ( )! 0, si ha x = A!1 b (4.3) 1 In queste Lezioni non considereremo il problema più generale in cui il numero di equazioni (vincoli) è diverso dal numero di incognite (gradi di libertà).
2 2 dove A!1 MATLAB det A ( ) indica il determinante. In ( ) è l istruzione per il calcolo del determinante e inv( A) è l istruzione indica la matrice inversa della matrice A e det A per il calcolo dell inversa. Pertanto, risolvere il sistema (4.1) è, in un certo senso, equivalente a determinare l inversa della matrice A. Esempio 4.1 La soluzione di un circuito resistivo lineare o di un circuito di impedenze si riduce alla soluzione di un sistema di equazioni algebriche lineari. Questo è solo un esempio tra quelli più vicini a uno studente di ingegneria. Figura 4.1 Un esempio di circuito resistivo lineare. Si consideri il circuito resistivo lineare descritto in Figura 4.1. Risolviamolo applicando il metodo dei potenziali nodali. Poniamo uguale a zero il potenziale del nodo 0, e 0 = 0. In questo modo il potenziale del nodo 3 è noto, e 3 = E. Bisogna, allora, determinare i potenziali e 1 ed e 2. Applicando la legge di Kirchhoff per le correnti ai nodi 1 e 2 otteniamo, rispettivamente, " $ ( G 1 + G 2 + G 3 )e 1! G 3 e 2 = G 1 E # %$!G 3 e 1 + ( G 3 + G 4 + G 5 )e 2 = G 5 E (4.4) dove G h = 1 / R h per h = 1,5. Questo è l esempio più semplice di sistema di equazioni algebriche lineari. Il sistema (4.4) può essere espresso nella forma matriciale (4.1). Si ha x = e 1,e 2 T, (4.5) ( )!G 3 ( ), (4.6) A = G 1 + G 2 + G 3!G 3 G 3 + G 4 + G 5 T b = EG 1,EG 5. (4.7)
3 3 Siccome la matrice A è a dominanza diagonale stretta 2 si ha che det( A)! 0, [4.1]. 4.1 Esistenza e unicità della soluzione Prima di cercare di risolvere un equazione bisogna sempre domandarsi se essa ammette soluzioni, e se la soluzione è unica. Si considerino le matrici A e A,b. Se il rango della matrice A è uguale al rango della matrice A,b, rank( A) = rank( A,b ), (4.8) il sistema (4.1) ammette soluzioni. La soluzione è unica se rank( A) = n, cioè se la matrice A ha rango massimo. La matrice quadrata A ha rango massimo se e solo se il suo determinante è diverso da zero, ( ) = n implica rank A,b det( A)! 0. (4.9) ( ) = rank A Siccome rank A ( ), la (4.9) è condizione necessaria e sufficiente per l esistenza e l unicità della soluzione del sistema di equazioni (4.1). Invece, se rank A ( )! rank A,b ( ) il sistema (4.1) non ammette soluzioni: in questo caso ( ) < n. si dice che il sistema è inconsistente. Ciò può accadere solo se rank A Assumeremo, salvo avviso contrario, che sia sempre verificata la condizione (4.9). Il sistema (4.1) può essere risolto sia attraverso metodi diretti che attraverso metodi iterativi. Esistono due metodi diretti per la soluzione del sistema (4.1): la regola di Cramer e il metodo di fattorizzazione di Gauss. Illustreremo prima i metodi diretti e poi i metodi iterativi. 4.2 Regola di Cramer La soluzione del sistema di equazioni algebriche lineari (4.1) può essere calcolata tramite la regola di Cramer. Indichiamo con A i la matrice ( n! n) ottenuta sostituendo la i! esima colonna di A con il vettore colonna b. La soluzione del sistema (4.1) è data allora da 2 Una matrice A = ( a ij ), i, j = 1, 2,..., n, si dice a dominanza diagonale stretta per righe se n a ii > " a ij per i = 1, 2,..., n ; la matrice si si dice a dominanza diagonale stretta per colonne se j=1, j!i n a ii > " a j=1, j!i ji per i = 1, 2,..., n. La matrice A è a dominanza diagonale stretta se è dominanza diagonale stretta sia per righe che per colonne.
4 4 ( ) ( ) x i = det A i det A i = 1,2,...,n. (4.10) Stimiamo, ora, il costo computazionale. Nella regola di Cramer, calcolando i determinanti a partire dalla loro definizione, il costo in termini di moltiplicazioni è di ( n + 1) ( n! 1)n!, ovvero dell ordine di n n per n >> 1. Ipotizzando di usare una macchina in grado di eseguire 10 9 moltiplicazioni al secondo, per risolvere un sistema di n = 20 equazioni con la regola di Cramer c è bisogno di circa 3.07! 10 4 anni. Anche per sistemi di modeste dimensioni il metodo di Cramer si rivela, quindi, impraticabile. Al contrario, come vedremo, il metodo di fattorizzazione di Gauss consente di risolvere in tempi ragionevoli sistemi anche di grosse dimensioni. Vedremo più avanti che il numero di moltiplicazioni in questo metodo è di ordine n 3 per n >> Sistemi triangolari Si tratta di un caso particolare molto importante perché, come vedremo tra poco, la forma triangolare è anche il risultato finale dell applicazione del metodo di eliminazione per sostituzione di Gauss. Introduciamo, prima, due forme speciali di matrici, le matrici triangolari superiori (che qui indicheremo con U ) e le matrici triangolari inferiori (che qui indicheremo con L ). Una matrice n! n ( ) U u ij ( ) si dice triangolare superiore se u 11 u u 1n"1 u 1n u ij = 0 per i > j! U = 0 u u 2n"1 u 2n u n"1n"1 u n"1n u nn ; (4.11) una matrice ( n! n) L( l ij ) si dice triangolare inferiore se l ij = 0 per i < j! L = l l 21 l l n"11 l n"12... l n"1n"1 0 l n1 l n2... l nn"1 l nn. (4.12) Si consideri, ora, un sistema di equazioni algebriche lineari di tipo triangolare inferiore,
5 5 # % % Ly = b! $ % % &% l 11 y 1 = b 1 l 21 y 1 + l 22 y 2 = b 2... l n"11 y 1 + n"12 y l n"1n"1 y n"1 = b n"1 l n1 y 1 + l n2 y l nn"1 y n"1 + l nn y n = b n. (4.13) La soluzione di questo sistema è molto semplice. Si ha (eliminazione in avanti) y 1 = 1 l 11 b 1, y i = 1 (4.14) # i!1 & b i! " l ij y j l % ( ii $ ' i = 2, 3,...,n. Per calcolare y i sono richieste le seguenti operazioni: i! 1 divisione. Pertanto il numero totale di operazioni è n j =1 ( ) prodotti, ( i! 1) somme e 1 N oper =! 1+ 2! ( i " 1) = 2! i " n = n 2. (4.15) Consideriamo, ora, un sistema di tipo triangolare superiore, i=1 n i=1 n i=1 # u 11 x 1 + u 12 x u 1n"1 x n"1 + u 1n x n = y 1 % u 22 x u 2n"1 x n"1 + u 2n x n = y 2 % Ux = y! $... % u n"1n"1 x n"1 + u n"1n x n = y % n"1 &% u nn x n = y n. (4.16) Anche la soluzione di questo sistema è molto semplice. Si ha (eliminazione all indietro) x n = 1 u nn y n, x i = 1 (4.17) # n & y i! " u ij x j u % ( ii $ ' i = n! 1,n! 2,...,1. j =i+1 Anche in questo caso bisogna effettuare n 2 soluzione. operazioni elementari per determinare la
6 6 Esercizio 4.1 Implementare in MATLAB gli algoritmi (4.14) e (4.17). 4.4 Il metodo della fattorizzazione di Gauss Il metodo della fattorizzazione di Gauss consiste nel trasformare il sistema (4.1) in un sistema del tipo LUx = b (4.18) dove L è una matrice triangolare inferiore e U è una matrice triangolare superiore. Ciò equivale a dire che la matrice A può essere espressa come prodotto tra una matrice triangolare inferiore e una matrice triangolare superiore, A = LU. (4.19) La rappresentazione della matrice A attraverso la (4.19) prende il nome di fattorizzazione di Gauss o fattorizzazione LU. Supponiamo, per il momento, che sia possibile esprimere la matrice A attraverso la (4.19) e che siano note le matrici di fattorizzazione L ed U. Allora la soluzione del sistema (4.1) è immediata. Infatti, il sistema (4.1) può essere riscritto nella forma (4.18). Posto, allora, il sistema (4.18) è equivalente ai due sistemi triangolari y! Ux (4.20) Ly = b, (4.21) Ux = y. (4.22) Il primo sistema è di tipo triangolare inferiore e può essere risolto attraverso l algoritmo (4.14) (eliminazione in avanti). Una volta determinato y, si risolve il sistema (4.22) attraverso l algoritmo (4.17) (eliminazione all indietro). Una volta effettuata la decomposizione LU, occorrono 2n 2 operazioni per calcolare al soluzione. E evidente, allora, che il punto centrale di questo metodo è nella determinazione (quando possibile) di una fattorizzazione LU della matrice A. Esempio 4.2 Prima di considerare il problema fattorizzazione nella sua forma più generale, esemplifichiamo attraverso un sistema di due equazioni in due incognite,
7 7! a 11 x 1 + a 12 x 2 = b 1 " # a 21 x 1 + a 22 x 2 = b 2. (4.23) Moltiplichiamo ambo i membri della prima equazione per!a 21 / a 11. Otteniamo!a 21 x 1! a 21 a 12 a 11 x 2 =! a 21 a 11 b 1. (4.24) Sommando membro a membro la seconda equazione del sistema (4.23) e l equazione (4.24) abbiamo " # $ a 22! a 12a 21 a 11 % & ' x = b! a b 1. (4.25) a 11 Abbiamo, allora, ricondotto la soluzione del sistema (4.23) alla soluzione del sistema triangolare alto!# " $# ( ) ( 1 x 1 + a ) 12 x 2 = y 1 a 11 1 ( 2 a ) 22 x 2 = y 2 (4.26) dove e ( 1 a ) ( 1 11 = a 11, a ) 12 = a 12, ( 1 a ) ( 1 21 = a 21, a ) 22 = a 22, ( 2 a ) ( 2 21 = 0, a ) ( 1 22 = a ) 22! a 12 ( 1 ) 1 a 21 ( ) ( ), a 22 1 (4.27) y 1 = b 1, y 2 = b 2! a 21 a 22 b 1. (4.28) Questa procedura può essere effettuata solo se a 22! 0. Il sistema (4.26) è del tipo (4.16) con U = a a 12, (4.29) 2 0 a 22 e termine noto y = y 1, y 2 T. (4.30)
8 8 E evidente dalle (4.28) che il termine noto y è, a sua volta, soluzione di un sistema di equazioni di tipo triangolare basso con L = 1 0 a / a 11 1, (4.31) e termine noto b = b 1,b 2 T. (4.32) Ora illustreremo una procedura generale per la determinazione della fattorizzazione LU. Sia la matrice L che la matrice U hanno, in generale, n( n + 1) / 2 elementi diversi da zero. Gli elementi di L ed U devono verificare il sistema di equazioni non lineari min( i, j)! l ir u rj = a ij i, j = 1,2,...,n. (4.33) r =1 Il sistema (4.33) è sotto determinato perché il numero di equazioni indipendenti è n 2, mentre il numero di gradi di libertà è n 2 + n. Di conseguenza se esiste una fattorizzazione LU, essa non è unica. Se si fissano gli n elementi della diagonale principale della matrice L, ad esempio, uguali a 1, il sistema (4.33) diventa determinato e può essere risolto attraverso il seguente algoritmo: per k = 1,2,...,n! 1 per i = k + 1,...,n l ik = a ( k) ik ( k) a, kk per j = k + 1,...,n ( k+1 a ) ( k ij = a ) ( k) ij! l ik a kj (4.34) ( 1 dove a ) ij = a ij per i, j = 1,2,...,n. Gli elementi della matrice triangolare superiore U sono dati da ( i u ij = a ) ij i! j = 1,2,...,n. (4.35) L algoritmo (4.34) è valido solo se a kk k ( )! 0. Per un approfondimento si rimanda alle referenze [4.1] e [4.2].
9 9 Esercizio 4.1(bis) Verificare che l algoritmo (4.34) con la (4.35) dà la soluzione del sistema (4.33) con l ii = 1 per i = 1,2,...,n. Il passo k della fattorizzazione LU comporta n! k moltiplicazioni e addizioni. Il costo totale dell algoritmo è, quindi, n!1 "( n! k) ( n! k + 1) = 1 3 n n2! 1 k =1 ( ) divisioni e ( n! k) ( n! k + 1) ( ). (4.36) ( k) ( k Gli elementi a kk vengono chiamati pivot. L algoritmo (4.34) richiede che a ) kk! 0 per ogni k = 1,2,...,n! 1. Allora, la matrice A ha una fattorizzazione LU se i pivot sono tutti diversi da zero. Se almeno un pivot è uguale a zero l algoritmo (4.34) non può essere implementato e la matrice A non è fattorizzabile. ( k) Assumiamo che i pivot a kk s0no tutti diversi da zero e, quindi, la matrice A sia fattorizzabile. Allora, la soluzione del sistema (4.1) attraverso il metodo della fattorizzazione LU consiste nel: - determinare la fattorizzazione LU della matrice A attraverso l algoritmo (4.34)- (4.35); - risolvere il sistema triangolare basso (4.21) attraverso l algoritmo (4.14) per determinare l incognita ausiliaria y ; - risolvere il sistema triangolare alto (4.22) attraverso l algoritmo (4.17). Il numero di moltiplicazioni, divisioni e addizioni richiesto per risolvere il sistema (4.1) con il metodo della fattorizzazione di Gauss è ( n 3 / 3 + 2n 2! n / 3), quindi di ordine n 3 / 3 per n >> 1. Programma 4.1: Fattorizzazione LU function [L,U,A]=lu_gauss(A) % Fattorizzazione LU n=max(size(a)); for k=1:n-1 for i=k+1:n A(i,k)=A(i,k)/A(k,k); for j=k+1:n A(i,j)=A(i,j)-A(i,k)*A(k,j); end end end if nargout==2, U=triu(A); L=eye(n)+tril(A,-1);end return
10 10 Riportiamo nel Programma 4.1 un implementazione dell algoritmo (4.34)-(4.35) utilizzando il linguaggio di programmazione MATLAB, [4.3]. Se la chiamata alla function ha una sola variabile di uscita le due matrici L e U sono memorizzate in una sola matrice, invece se ha due variabili di uscita L e U sono memorizzate in due matrici distinte (il comando nargout serve per contare il numero di variabili di uscita). Si osservi, inoltre, che nell implementazione non è necessario memorizzare tutte le matrici A ( k), è sufficiente scrivere di volta in volta sugli elementi della matrice di partenza A. Esercizio 4.2 Si risolva il sistema x = (4.37) determinando prima la fattorizzazione LU della matrice attraverso il Programma 4.1 e applicando, poi, gli algoritmi (4.14) e (4.17) per risolvere i due sistemi di equazioni triangolari, implementati nell Esercizio 4.1. La fattorizzazione LU è alla base dei comandi MATLAB [ L,U] = lu( A), A\b e inv( A). Il primo comando dà la fattorizzazione LU della matrice A, il secondo comando consente di risolvere direttamente il sistema (4.1), il terzo comando dà l inversa della matrice A Esistenza della fattorizzazione LU ( i La fattorizzazione LU esiste solo se nell algoritmo (4.34) a ) ii! 0 per ogni i. Ora discuteremo questo aspetto. Le sottomatrici principali di A di ordine i = 1,2,...,n! 1 sono le matrici quadrate ottenute considerando solo gli elementi delle prime i righe e colonne; indichiamo con A i la sottomatrice principale di ordine i. Si mostra che (vedi, ad esempio, [4.1]) da cui ( 1 det( A i ) = a ) ( 2 11 a ) ( i) 22...a ii det A n ( ) = a ii i (4.38) ( )!. (4.39) i=1
11 11 Criterio di esistenza della fattorizzazione LU Se A e tutte le sue sottomatrici ( i principali sono non singolari si ha che a ) ii! 0 per ogni i e, quindi, esiste ed è unica la decomposizione LU. Osservazione Può accadere che una sottomatrice principale A i con i < n possa essere singolare pur essendo det A ( )! 0. Si consideri, ad esempio, una matrice A 2! 2. In questo caso si ( 1 ( ) = a ) ( 2 11 a ) 22! 0 : in ( 1 ha a ) ( 2 11 = a 11, a ) 22 = a 22! a 12 a 21 / a 11. Può accadere che a 11 = 0 e det A ( 1 questo caso il prodotto a ) ( 2) 11 a 22 k proprietà generale. Infatti, se a kk (4.39) diventa una forma indeterminata. Esempio 4.3 Determiniamo la fattorizzazione LU della matrice ( 2 è una forma indeterminata perché a ) 22 =!. Questa è una ( ) ( k +1) = 0 dalla (4.34) segue che a k +1k +1 =! e quindi la A = (4.40) La matrice A è non singolare perché det( A) = 8 e tutte le sottomatrici principali sono non singolari. Applicando il Programma 4.1 si ha L = ,U = !4!4 0 0!2. (4.41) Il criterio che abbiamo appena illustrato non è agevole da applicare a matrici di grossa dimensione. Per questa ragione è utile individuare quelle classi di matrici per le quali esso è certamente verificato. Si dimostra che se è verificata almeno una delle seguenti condizioni: a) la matrice A è simmetrica e definita positiva (vedi Appendice 1); b) la matrice A è a dominanza diagonale stretta per righe o per colonne; allora esiste ed è unica la fattorizzazione LU di A. Per un approfondimento si rimanda alle referenze [4.1] e [4.2].
12 12 Osservazione: fattorizzazione di Cholesky Se la matrice A è simmetrica e definita positiva esiste una matrice triangolare inferiore H con elementi positivi sulla diagonale principale tale che A = HH T. (4.42) La (4.42) prende il nome di fattorizzazione di Cholesky. Gli elementi di H possono essere determinati attraverso l algoritmo h ij = 1 j!1 # & a ij! " h ik h jk h jj $ % ' ( j = 1,2,...,i! 1, i!1 k =1 2 h ii = a ii! " h ik i = 1,2,..., N. k =1 (4.43) La fattorizzazione di Cholesky richiede n 3 / 6 operazioni, metà di quelle richieste dalla fattorizzazione LU. La fattorizzazione di Cholesky viene richiamata in MATLAB con il comando H = chol A ( ). Esercizio 4.2 Implementare in MATLAB l algoritmo (4.43). Quando la matrice A non verifica le condizioni a) e/o b) può accadere che, pur essendo det A ( )! 0, non esista una fattorizzazione LU per A. Esempio 4.4 Si consideri, ora, la matrice A = (4.44) Essa è non singolare perché det A Programma 4.1 si ha 1 ( ) = 12, ma det( A 2 ) = a 11 ( ) a 22 2 ( ) = 0. Applicando il
13 13 L = ,U = 3 Inf !4 0 0 Inf. (4.45) Pur essendo A non singolare, la fattorizzazione di Gauss non può essere effettuata in ( 2 quanto nell algoritmo (4.34) a ) 22 = 0. Ciò è dovuto al fatto che la seconda sottomatrice principale di A (cioè quella ottenuta da A considerando solo le prime due righe e due colonne) è singolare. Questo problema può essere risolto, in generale, permutando tra loro alcune righe (o colonne) di A. Si consideri la matrice ottenuta scambiando la prima riga della (4.44) con la terza!a = (4.46) Tutti le sottomatrici principali di! A sono non singolari. Applicando, ora, il Programma 4.1 si ha:!l = , U! = !2! (4.47) Matrice di permutazione Nell esempio appena svolto abbiamo fatto vedere che permutando in modo opportuno le righe della matrice A è possibile costruire una nuova matrice! A che abbia tutte le sottomatrici principali non singolari e, quindi, abbia una ed una sola fattorizzazione LU. Siccome lo scambio tra righe comporta un cambiamento dei pivot, questa tecnica viene chiamata pivoting per righe. La fattorizzazione che si trova dà la matrice di partenza a meno di una matrice di permutazione fra le righe. Per una generica matrice A non singolare esiste sempre una matrice di permutazione delle righe P tale che
14 14 PA = LU. (4.48) La matrice P è posta uguale alla matrice identità all inizio del processo di fattorizzazione. Se nel corso della fattorizzazione le righe r e s di A vengono scambiate a causa della presenza di pivot uguali a zero, le corrispondenti colonne di P vengono scambiate. Allora, la soluzione del sistema (4.1) si riduce alla soluzione dei due sistemi triangolari L!y = Pb (4.49) Ux =!y. (4.50) In MATLAB l istruzione lu calcola la fattorizzazione LU con pivoting per righe [ L,U,P] = lu( A). Esempio 4.5 Fattorizziamo la matrice (4.44) utilizzando l istruzione di MATLAB appena descritta. Si ottengono le matrici L e U (4.47) e la matrice di permutazione P = (4.51) La (4.51) è la matrice di permutazione che scambia la prima riga con la terza riga di una matrice 3! 3 ( ). Esercizio 4.3 Si risolva il sistema x = (4.52) determinando prima la fattorizzazione LU con l istruzione lu di MATLAB e applicando, poi, gli algoritmi (4.14) e (4.17) per risolvere i due sistemi di equazioni triangolari.
15 Errori di arrotondamento Nel calcolo numerico esistono, almeno in linea di principio, due sorgenti di errore: l errore generato dall approssimazione introdotta dall algoritmo utilizzato per la soluzione del problema; l errore generato dal fatto che una qualsiasi macchina per il calcolo può rappresentare solo un numero finito di cifre. Il metodo della fattorizzazione di Gauss è un metodo diretto, quindi il primo errore è assente. Ora ci occuperemo di capire quali sono gli effetti nella soluzione del sistema (4.1) con il metodo della fattorizzazione di Gauss degli errori dovuti al numero finito di cifre della macchina di calcolo. Un calcolatore numerico è in grado di rappresentare soltanto un numero finito di cifre. Ciò dà luogo ad errori che possono essere generati in due modi diversi: i numeri introdotti nel calcolatore sono memorizzati in forma approssimata; le operazioni elementari (addizioni, moltiplicazioni, divisioni, ) su tali numeri danno numeri non rappresentabili esattamente sul calcolatore. Pertanto, in un algoritmo implementato sul calcolatore attraverso una successione di operazioni elementari si ha una successiva creazione e propagazione degli errori. Tali errori sono chiamati errori di arrotondamento. L entità di questi errori dipende, ovviamente, dal modo in cui i numeri sono rappresentati sul calcolatore. Il sistema floating-point è il sistema di rappresentazione più utilizzato per il calcolo scientifico. Esso è caratterizzato dal fatto che permette di rappresentare un ampio intervallo della retta reale con una distribuzione uniforme degli errori relativi. Il sistema floating point è definito dal numero di cifre significative t, dalla base! e dagli estremi ( l,u) dell intervallo di numeri interi di variabilità dell esponente. In rappresentazione posizionale un numero macchina x! 0 viene denotato con x = ±.d 1 d 2...d t! p (4.53) dove l! p! u. Ad esempio, in MATLAB si utilizza! = 2, t = 53, l =!1021 e u = In effetti 53 cifre significative in base 2 corrispondono alle 15 cifre significative in base 10 mostrate da MATLAB con il format long. In MATLAB con i comandi realmin e realmax è possibile determinare il numero reale, in valore assoluto, più piccolo e il numero reale, in valore assoluto, più grande che è possibile rappresentare. Essi sono, rispettivamente, e-308 e e+308. Il numero 0 viene rappresentato a parte. Un numero in valore assoluto minore di realmin produce una segnalazione di underflow e viene trattato come 0 (come, ad esempio, in MATLAB). Un numero in modulo maggiore di realmax produce invece una segnalazione di overflow e viene memorizzato come Inf. La maggior parte dei calcolatori ha la possibilità di operare con lunghezze diverse, ovvero con diversi t, a cui corrispondono, ad esempio, la singola e la doppia precisione. Nell aritmetica in floating point molte delle proprietà che sono alla base dell aritmetica dei numeri reali sono violate: l unicità dello zero, la proprietà distributiva,
16 16 la proprietà associativa. Qui ci limiteremo a fare qualche considerazione sulle conseguenze della violazione della proprietà associativa. Esempio 4.6 ([4.3]) Si considerino i tre numeri a = 1.0e + 308, b = 1.5e e c =!1.0e ed eseguiamo la loro somma in modi diversi. Abbiamo a + ( b + c) = 1.5e + 308, ( a + b) + c = Inf. Questo è un caso particolare di un fenomeno che si verifica quando si sommano numeri dello stesso ordine di grandezza in modulo, ma diversi di segno. In tal caso il risultato della somma può essere molto impreciso. Quello che accade è un fenomeno di cancellazione di cifre significative che introduce termini spuri caratterizzati da una mancanza di informazione. Esempio 4.7 ([4.1]) Si considerino i tre numeri a = !10 "4, b = !10 2 e c =! "10 2 ed eseguiamo la loro somma in modi diversi con una aritmetica floating point con 8 cifre significative. Abbiamo ( a + b) + c = !10-3, a + ( b + c) = !10 "3. Il risultato esatto è dato da a + b + c = !10 "3. Il primo risultato ha tre cifre esatte, quindi, un errore relativo di! 5.78 "10 #2, mentre il secondo ha cinque cifre esatte, quindi è molto più accurato. Nel primo calcolo c è stato un fenomeno di cancellazione che ha dato origine ad una perdita di informazione. Esempio 4.8 ([4.3]) Consideriamo in MATLAB la seguente operazione (( 1 + x)! 1) / x con x! 0. Il risultato in aritmetica esatta è 1 per x! 0. Troviamo, invece >> x = 1.e-15 ; 1+ x ans= (( )! x) / x Il risultato ottenuto non è accurato.
17 17 Il risultato della fattorizzazione LU può essere non accurato se un pivot è troppo piccolo. Innanzitutto il pivot non deve essere inferiore al numero più piccolo rappresentabile dalla macchina, altrimenti sarebbe considerato come se fosse identicamente nullo. In realtà, errori consistenti possono generarsi anche per un pivot molto più grande di realmin. Esempio 4.9 ([4.3]) Consideriamo la matrice non singolare !10 "15 3 A = (4.54) Durante il calcolo della fattorizzazione LU con il Programma 4.1 non si generano ( 2 elementi di pivot nulli. Pur essendo a ) 22 = 10!15, l algoritmo (4.34) dà una fattorizzazione. Nonostante ciò, il calcolo dei fattori L ed U non è accurato, come si verifica calcolando A! LU ( ), A! LU = (4.55) ( ) sarebbe uguale alla matrice identicamente nulla. Ciò non In aritmetica esatta A! LU accade nel caso reale a causa del fenomeno della cancellazione di cifre significative nelle operazioni di somma. ( 2 Nell esempio precedente il pivot a ) 22 = 10!15 produce numeri molto grandi nell algoritmo di fattorizzazione (4.34). Ciò è all origine della cancellazione di cifre significative che dà luogo al risultato (4.55). Questo problema può essere risolto scambiando le righe di A in modo tale che ad ogni passo dell iterazione (4.34) i pivot siano, in valore assoluto, i più grandi possibili tra tutti quelli disponibili. Un semplice algoritmo per realizzare ciò, che generalizza l algoritmo (4.34), è [4.3] per k = 1,2,...,n per i = k + 1,...,n cercare m k tale che a mk k = max a ( k) ik i= k,...,n scambiare la riga k con la riga m k, l ik = a ( k) ik ( k) a, kk per j = k + 1,...,n ( k +1 a ) ( k ij = a ) ( k ij! l ik a ) kj. (4.56)
18 18 Esercizio 4.5 Si calcolino i fattori L e U per la matrice (4.54) utilizzando il Programma 4.1 e si verifichi che il risultato non è accurato. Esercizio 4.6 Implementare in MATLAB l algoritmo (4.56) e verificare che la fattorizzazione LU della matrice (4.54) è molto più accurata di quella ottenuta con il Programma 4.1. Il programma MATLAB lu, cui abbiamo in precedenza accennato, si base sostanzialmente su di un algoritmo di fattorizzazione con pivoting per righe del tipo (4.56). 4.6 Matrici sparse, matrici bandate Lo strumento matrice è efficace sia per formulare in maniera semplice e sintetica un sistema di equazioni algebriche lineari, sia per studiarne le proprietà. Tuttavia, può capitare che esso si riveli ridondante. Come abbiamo visto nelle Note 2 e 3, esistono molti modelli caratterizzati da matrici che hanno una buona parte degli elementi uguali a zero. Una matrice n! n diversi da zero è di ordine O n ( ) con n >> 1 si dice che è sparsa quando il numero di elementi ( ). Avere matrici sparse è molto vantaggioso perché è sufficiente memorizzare solo gli elementi diversi da zero. Ciò comporta un notevole risparmio di memoria e di operazioni. Una matrice sparsa può essere memorizzata attraverso tre vettori: un vettore contiene gli elementi della matrice e gli altri due contengono i corrispondenti indici di riga e colonna. Pertanto, bisogna memorizzare 3n variabili (di cui 2n sono interi) invece che n 2 variabili reali. Figura 4.2 Struttura di una matrice a bande.
19 19 Osserviamo subito che la fattorizzazione di Gauss può introdurre nuovi elementi diversi da zero. In generale, pur essendo A sparsa, le matrici L ed U possono essere matrici non sparse. Riordinando la matrice A è possibile ridurre al minimo la generazione di nuovi elementi nelle matrici L ed U. I metodi iterativi che in seguito studieremo preservano le proprietà di sparsità delle matrici. Le matrici a bande rappresentano un significativo esempio di matrice sparsa. Esse si ottengono quando le equazioni del sistema possono essere ordinate in maniera che ogni incognita x i appaia solo in poche equazioni vicine alla i! esima. Esse si incontrano nell analisi dei circuiti e nei modelli discreti di equazioni differenziali. Si dice che la matrice A = ( a ij ) ha una banda superiore q se a ij = 0 per j > i + q e una banda inferiore p se a ij = 0 per i > j + p, Figura 4.2. Una proprietà importante della fattorizzazione LU è che è preservata la struttura a banda. Si consideri una matrice a banda superiore q e a banda inferiore p. Si può mostrare che se esiste la fattorizzazione LU per la matrice A, allora la matrice U è a banda superiore q e la matrice L è a banda inferiore p. L algoritmo di fattorizzazione LU per le matrici a banda richiede, pertanto, un numero di operazioni notevolmente più basso rispetto al caso più generale se non è richiesta l operazione di pivoting, ad esempio, per le matrici a predominanza diagonale stretta o le matrici simmetriche e definite positive. Per un approfondimento si rimanda alla referenze [4.1] e [4.2]. In molte applicazioni è necessario risolvere un sistema di equazioni con matrici a bande n! n ( ) della forma A = a 1 c 1 0 b 2 a c n!1 0 b n!1 a n. (4.57) In questo caso la matrice A viene detta tri-diagonale. Si verifica facilmente che, se la fattorizzazione LU esiste, allora L ed U sono due matrici bi-diagonali [4.3], L = l ,U = l n!1 1 u 1 c u c n!1 0 0 u n. (4.58) I coefficienti l i e u i possono essere determinati imponendo che LU = A. In tal modo si trova che u 1 = a 1, l i = b i u i!1, u i = a i! l i u i!1, i = 2,...,n. (4.59)
20 20 L algoritmo (4.59) è noto come algoritmo di Thomas ed è una forma particolarmente conveniente di fattorizzazione LU. Per n >> 1il numero di operazioni cresce come n al crescere di n. Esercizio 4.7 Implementare in MATLAB l algoritmo (4.59). Esempio 4.10 ([4.3]) In MATALB per costruire una matrice tri-diagonale è possibile utilizzare il comando spdiags. Ad esempio, per costruire la matrice tri-diagonale ( 20! 20) che ha elementi pari ad 5 sulla diagonale principale, pari a 1 sulla prima sottodiagonale e pari a 2 sulla prima sopradiagonale basta scrivere i seguenti comandi: >> a=ones(20,1); b=5*a; c=2*a; >> A=spdiags([a b c],-1:1, 20, 20); Si noti che A viene memorizzata in MATLAB in forma sparsa. Quando in MATLAB si risolve un sistema la cui matrice è memorizzata in tale formato, vengono automaticamente richiamate delle tecniche di risoluzione che consentono di ottimizzare i tempi di calcolo e l occupazione di memoria. 4.7 Il problema del condizionamento e della stabilità numerica Come abbiamo già avuto modo di notare nel 4.4, a causa dell errore di arrotondamento, il prodotto LU non riproduce dà esattamente la matrice A. Abbiano anche visto che l uso del pivoting consente di risolvere questo problema. Purtroppo ciò non è sempre possibile come mostra l esempio che segue. Esempio 4.11 ([4.3]) Consideriamo come matrice A la matrice di Hilbert cui elementi sono definiti come segue a ij = 1 i + j! 1 i, j = 1,2,...,n. (4.60) Essa è simmetrica e definita positiva. Scegliamo, inoltre, il termine noto b del sistema (4.1) in modo tale che la soluzione esatta sia x = 1,1,...,1 T,
21 21 b = A 1,1,...,1 T. (4.61) Indichiamo con ˆx la soluzione del sistema (4.1) ottenuta con il comando A\b di MATLAB. Se non vi fosse l errore dovuto all arrotondamento avremmo x! ˆx = 0. In realtà, a causa di questo errore risulta x! ˆx " 0. Consideriamo due tipi di misura dell errore: l errore relativo e il residuo relativo e! x " ˆx x r! Aˆx " b b (4.62). (4.63) Tabella 4.1 n e r !10 "5 1.3!10 " !10 " !10 " !10 " !10 "16 In Tabella 4.1 sono riportati e ed r per diversi valori di n. Al crescere di n pur restando il residuo relativo dell ordine di 10!16, l errore relativo cresce in modo vertiginoso. In questo paragrafo cercheremo di stabilire una relazione tra il residuo relativo e l errore relativo. Indichiamo con ˆx la soluzione numerica dell equazione (4.1). A causa degli errori di arrotondamento si ha Aˆx = ˆb (4.64) con ˆb! b. Pertanto la soluzione numerica dell equazione (4.1) è equivalente alla soluzione esatta dell equazione (4.64). Posto!b = ˆb " b (4.65) e!x = ˆx " x (4.66)
22 22 si pone il problema di determinare una stima dell errore!x a partire dalla conoscenza di!b. Data un equazione possiamo in linea schematica distinguere, per quanto riguarda la propagazione dell errore, il comportamento dell equazione dal comportamento del particolare algoritmo utilizzato per risolverla. Supponiamo che sia possibile risolvere l equazione esattamente. Ci poniamo la seguente domanda: eventuali perturbazioni sui dati dell equazione come influenzano la soluzione? Per caratterizzare un equazione rispetto a questo tipo di comportamento si utilizza il termine condizionamento. Un equazione si dice ben condizionata se eventuali perturbazioni sui dati non influenzano eccessivamente la soluzione, altrimenti si dice mal condizionata. La definizione di equazione ben condizionata è più restrittiva di quella di equazione ben posta secondo Hadamard 3. Nel caso di un algoritmo, per indicare il suo comportamento rispetto alla propagazione dell errore si usa il termine stabilità numerica. Un algoritmo si dice stabile numericamente se l errore non si amplifica eccessivamente nella successione delle operazioni, altrimenti si dice numericamente instabile Condizionamento di un sistema lineare Il problema del condizionamento di un sistema di equazioni algebriche lineari consiste nel studiare come varia la soluzione del sistema al variare dei dati, cioè della matrice e del termine noto. Studiamo dapprima il caso in cui varia solo il termine noto. Indichiamo con x e ˆx = x +!x le soluzioni dell equazione (4.1) con i termini noti b e ˆb = b +!b, rispettivamente, Sottraendo membro a membro otteniamo Ax = b, A( x +!x) = b +!b. (4.67) quindi A!x =!b, (4.68)!x = A "1!b. (4.69) Per misurare l entità della perturbazione nel termine noto e l entità della perturbazione indotta nella soluzione introduciamo una norma! :!b e!x danno una misura delle perturbazioni!b e!x. C è una relazione tra!x e!b? Dalla (4.69) si!x = A "1!b. (4.70) Dalla definizione di norma di una matrice (vedi Appendice 2) abbiamo che 3 Un equazione è ben posta secondo Hadamard quando ammette una ed una sola soluzione ed inoltre, la soluzione dipende con continuità dai dati.
23 23 A!1 "b # A!1 "b. (4.71) Combinando le (4.70) e (4.71) otteniamo la relazione cercata!x " A #1!b. (4.72) E evidente che sono di particolare interesse la misura delle variazioni relative!x / x e!b / b. Dividendo ambo i membri della (4.72) per x abbiamo!x x " A #1 x!b. (4.73) Dalla prima equazione delle (4.67) si ha anche Allora, combinando le (4.73) e (4.74) b! A x. (4.74)! " #x x $ ( A ) #b A%1 b. (4.75) Consideriamo, ora, il caso in cui varia la matrice. Indichiamo con x e ˆx = x +!x le soluzioni dell equazione (4.1) con le matrici A e  = A +!A, rispettivamente, (stiamo implicitamente assumendo che A e  siano invertibili) Ax = b, ( A +!A)( x +!x) = b. (4.76) Da queste equazioni abbiamo da cui e quindi Essendo Ax = ( A +!A)( x +!x), (4.77)!A( x +!x) + A!x = 0, (4.78)!x = A "1!A( x +!x). (4.79) A!1 "A( x + "x) # A!1 "A ( x + "x) (4.80)
24 24 dalla (4.79) si ha finalmente! " #x ( x + #x) $ A A%1 ( ) #A A. (4.81) Indichiamo con! l ampiezza della perturbazione del dato in entrambi i casi: nel primo caso! " #b / b, nel secondo caso! " #A / A. Quindi, sia per la perturbazione del termine noto che per la perturbazione della matrice l ampiezza relativa della perturbazione della soluzione! è legata all ampiezza della perturbazione del dato! dalla relazione! " K ( A)#, (4.82) dove è detto condizionamento della matrice A. Essendo A!1 ha che K ( A)! A A "1 (4.83) A " 1 (vedi Appendice 2), si K ( A)! 1 (4.84) per ogni matrice A (invertibile). Dunque il condizionamento di una matrice è sempre maggiore di 1. Il condizionamento di una matrice può essere calcolato in MATLAB attraverso il comando cond(a). Se il condizionamento di A è piccolo, cioè dell ordine dell unità, la matrice A è detta ben condizionata ed a perturbazioni sui dati corrispondono perturbazioni sulla soluzione al più dello stesso ordine di grandezza di quelle sui dati. Se invece il condizionamento è grande la matrice si dice mal condizionata e a piccole perturbazioni sui dati possono corrispondere grandi perturbazioni sulla soluzione. Esempio 4.7 La matrice di Hilbert definita dalla (4.60) è mal condizionata già per n! 4. In Tabella 4.2 riportiamo il condizionamento per diversi valori di n. In base a questo risultato non ci dobbiamo meravigliare di quanto abbiamo visto nell Esempio 4.6. n Tabella 4.2 K A ( ) ! ! ! ! !10 19
25 25 Alcune proprietà del numero di condizionamento sono raccolte nel seguente enunciato Proprietà del numero di condizionamento 1. K (!A) = K ( A) per ogni matrice A e per ogni scalare!. 2. K 2 ( A) =! max dove! max e! min sono, rispettivamente, il valore singolare più! min grande e più piccolo di A (vedi Appendici 1 e 2) Se A è simmetrica K 2 ( A) =! max dove!! max e! min sono, rispettivamente, min l autovalore della matrice in valore assoluto più grande e più piccolo. 4. Se A è simmetrica e definita positiva K 2 ( A) =! max dove! max e! min sono,! min rispettivamente, l autovalore più grande e più piccolo. 5. K 2 ( A) = 1 se e solo se A =!I. La dimostrazione delle proprietà 2. viene data in Appendice 2. La dimostrazione delle proprietà 3. e 4. è immediata se si ricorda che gli autovalori di una matrice simmetrica sono reali e i valori principali sono uguali agli autovalori presi in valore assoluto. Inoltre, se la matrice è anche definita positiva gli autovalori sono tutti positivi (vedi Appendice 1). Lasciamo al lettore la dimostrazione delle altre. In base a queste proprietà abbiamo che una matrice mal condizionata è caratterizzata da un valore singolare massimo molto più grande di quello minimo. Se la matrice è simmetrica essa è mal condizionata se l autovalore in modulo più grande è molto più grande dell autovalore in modulo più piccolo. Infine, quando la matrice A è simmetrica e definita positiva essa è mal condizionata se l autovalore più grande è molto più grande dell autovalore più piccolo. Infine, essendo (vedi Appendice 1) ( ) =! i ( A) det A n ", (4.85) dove! i A in generale, alcuna relazione tra il determinante di A e il numero di condizionamento. i=1 ( ) per i = 1,2,...,n sono gli autovalori della matrice A, si evince che non c è, Analisi dell errore Sappiamo che un algoritmo implementato in aritmetica finita crea errori di arrotondamento. La stabilità è una misura di come tali errori si propagano. 4 Con K p ( A) intendiamo il condizionamento definito attraverso la p-norma! p.
26 26 E possibile avere due diverse stime dell errore, una si basa su una stima a posteriori e l altra su una stima a priori. In entrambi i casi il numero di condizionamento di A gioca un ruolo fondamentale. L idea di base consiste nel cercare di valutare la variazione sui dati necessaria a produrre, quando il problema è risolto esattamente, la stessa variazione sui risultati ottenuta per effetto degli errori di arrotondamento. Una volta valutate queste variazioni, attraverso le (4.75) e (4.81) si può avere una stima dell errore se A non è mal condizionata. Consideriamo dapprima una stima a posteriori. A causa degli errori di arrotondamento la soluzione dell equazione (4.1) con il metodo della fattorizzazione di Gauss x! non è soluzione esatta della (4.1) e r! Ax * " b # 0. (4.86) Il residuo r sarebbe uguale a zero se non vi fossero errori di arrotondamento. Allora, la soluzione x! è la soluzione che si avrebbe se il sistema (4.1) fosse risolto esattamente con ˆb = b + r ( ) al posto del termine noto b. Allora, applicando la (4.75) si ha x! x " x # K ( A) r b. (4.87) Quando la matrice A è ben condizionata, K ( A)! 1, il residuo relativo r / b rappresenta una buona stima dell errore relativo e / x, dove e! x " x #. Attenzione, quando la matrice A è mal condizionata r / b non dà alcuna informazione utile sull errore, come gli Esempi 4.6 e 4.7 evidenziano. La (4.87) è una stima a posteriori perché può essere ottenuta solo dopo che il problema è stato risolto. Consideriamo, ora una stima a priori. Indichiamo sempre con x! la soluzione ottenuta con il metodo della fattorizzazione di Gauss e con E una matrice tale che ( A + E)x! = b. (4.88) La soluzione x! è la soluzione che si avrebbe se il sistema (4.1) fosse risolto esattamente con  = A + E ( ) al posto della matrice A. Allora, applicando la (4.81) si ha x! x " x " # K ( A) E A. (4.89) Come nel caso precedente, quando la matrice A è ben condizionata la quantità E / A è una buona indicazione della precisione della soluzione. E possibile avere una stima della norma di E. Per la fattorizzazione LU con pivoting si dimostra che [4.2]
27 27 E! " # $t A! (4.90) dove! è la base e t è il numero di cifre significative dell aritmetica impiegata. Combinando le (4.89) e (4.90) si ottiene x! x " # x " # $ %!t K # ( A). (4.91) Questa è una stima a priori perché può essere ottenuta senza risolvere il problema. Si osservi che! "t << 1, ad esempio in MATLAB! "t = 10 "15. Inoltre, essendo per definizione ( A + E)x! = b (4.92) si ha r! = Ax " # b! = Ex "! $ % #t A! x "!. (4.93) Allora, la soluzione del sistema (4.1) con il metodo della fattorizzazione di Gauss: (a) dà un residuo relativamente piccolo; (b) produce una soluzione che ha almeno t log 10! " log 10 $% K # ( A) &' cifre decimali corrette. In conclusione, la soluzione con il metodo della fattorizzazione LU dà una soluzione accurata se il condizionamento della matrice è basso. Esempio 4.8 ([4.3]) Consideriamo la matrice A =! /! (4.94) e ipotizziamo che! sia piccolo (!! 1). Per questa matrice si ha A! = 1 / " e A!1 = 1 / #, quindi K "! ( A) = 1 / " 2. Con riguardo alla soluzione del sistema lineare (4.1), si può moltiplicare la seconda equazione per! 2, cioè scalare la matrice in modo da avere!a =! 0 0!. (4.95) Essendo! A! = " e! A!1 = 1 / #, si ha K! "! ( A) = 1.
28 28 In generale, il condizionamento di una matrice può essere modificato dallo scaling. Un problema molto interessante, ma di difficile soluzione, è la determinazione di due matrici D 1 e D 2 tali da minimizzare K ( D 1 AD 2 ). Si tratta di un problema di preprocessing (precondizionamento). Per ulteriori approfondimenti si veda in [4.2]. 4.8 Metodi iterativi Il metodo della fattorizzazione di Gauss è un metodo diretto: la soluzione esatta del problema è determinata con un numero finito di operazioni elementari in assenza di errori di arrotondamento. Un metodo iterativo per la soluzione del sistema (4.1) consiste nel costruire, a partire da un dato iniziale x ( 0), una successione x ( 1),x ( 2),...,x ( k),... (4.96) convergente alla soluzione x per k! " attraverso l iterazione x ( k +1) = Bx ( k) + g. (4.97) La (4.97) ricorda l iterazione di punto fisso descritta nella Nota 5: la soluzione del sistema (4.1) è cercata come punto fisso della funzione di iterazione che è, quindi, la soluzione dell equazione!( x) = Bx + b, (4.98) x = Bx + b. (4.99) Come costruire l iterazione (4.97)? Consideriamo la seguente decomposizione della matrice A : con det( V)! 0. Si ha allora da cui il procedimento iterativo A = V + W (4.100) Ax = b! Vx = "Wx + b (4.101) Vx ( k +1) =!Wx ( k) + b per k! 0. (4.102)
29 29 Il punto fisso della (4.102) è la soluzione dell equazione (4.101) ovvero del sistema (4.1). La matrice di iterazione B è data da e g è dato da B =!V!1 W = V!1 A! I (4.103) g = V!1 b. (4.104) La decomposizione (4.100) deve essere fatta in modo tale da garantire due requisiti: i) l iterazione (4.97) sia convergente; ii) il costo computazionale sia più basso di quello che si avrebbe con il metodo della fattorizzazione di Gauss. Quando l iterazione converge, essa, in generale, dà la soluzione solo per k! ". Dunque, come nell iterazione di punto fisso studiata nella Nota 5, anche in questo caso bisogna introdurre un criterio di arresto. Posto e!x ( k +1) " x ( k +1) # x ( k) (4.105) r ( k)! b " Ax ( k), (4.106) per arrestare l iterazione possiamo utilizzare uno dei due criteri!x ( M ) " #, (4.107) r ( M )! ", (4.108) dove! è una norma naturale (vedi Appendice 2). Ora mostreremo che c è una relazione tra il residuo r ( k) e l incremento!x ( k +1). Essendo dalla (4.102) segue che!wx ( k) + b = ( V! A)x ( k) + b = Vx ( k)! r ( k). (4.109) quindi ( ( ) ) =!r k V x ( k+1)! x k ( ), (4.110) V!x ( k+1) = r ( k) o!x ( k+1) = V "1 r ( k). (4.111)
30 30 Tra le norme del residuo e dell incremento ci sono le relazioni r ( k)! V "x ( k+1) o!x ( k+1) " V #1 r ( k). (4.112) Per descrivere i vari metodi iterativi conviene rappresentare la matrice A come segue A = D +! L +! U (4.113) dove D è la matrice diagonale formata dagli elementi della diagonale di A,! L è la matrice triangolare inferiore formata dagli elementi della parte triangolare inferiore di A con elementi nulli sulla diagonale e! U è la matrice triangolare superiore formata dagli elementi della parte triangolare superiore di A con elementi nulli sulla diagonale, Figura 4.3. Figura Metodo di Jacobi Il metodo iterativo di Jacobi consiste nello scegliere e La matrice di iterazione è V = D (4.114) W =!( U! + L! ). (4.115) B =!D!1 ( U! + L! ) = I! D!1 A. (4.116) La matrice D è invertibile se a ii! 0 per i = 1,2,...,n. L inversa di D si calcola immediatamente, essa è ancora una matrice diagonale, D!1 =!1 a !1 a ! a nn. (4.117)
31 31 In forma esplicita l algoritmo che descrive l iterazione di Jacobi è ( k +1 x ) i = 1 a ii $ & b i! % n # j =1, j "i ( k) ' a ij x j ) ( i = 1,2,...,n (4.118) per k = 0,1,.... Il metodo di Jacobi è implementato nel Programma 4.2, [4.3]. I parametri di ingresso sono la matrice A, il termine noto b, il dato iniziale x 0 per l iterazione, il numero massimo di iterazioni consentite e l errore toll del criterio d arresto dell iterazione, err = r ( k) / r ( 0)! toll. Programma 4.2: Iterazione di Jacobi function [x,iter]=jacobi(a,b,x0,nmax,toll) % Iterazione di Jacobi [n,n]=size(a); iter=0;r=b-a*x0;r0=norm(r);x_old=x0; err=r0; while err>toll&iter<nmax iter=iter+1; for i=1:n s=a(i,1:i-1)*x_old(1:i-1); s=s+a(i,i+1:n)*x_old(i+1:n); x(i)=(b(i)-s)/a(i,i); end x_old=x'; r=b-a*x' ; err=norm(r)/r0; end x=x'; return Il metodo di Jacobi converge se la matrice A è a dominanza diagonale stretta per righe. La dimostrazione è data nel 4.9. Esempio 4.9 Risolviamo il sistema x = (4.119)
32 32 con il metodo di Jacobi. La matrice è dominanza diagonale stretta per righe. Con x 0 = 0 e toll = 10!6 dopo 28 iterazioni si ottiene la soluzione x = ,0.2143, T. Esempio 4.10 Risolviamo il sistema x = (4.120) con il metodo di Jacobi. L iterazione di Jacobi non converge perché la matrice non è a dominanza diagonale stretta per righe. Quale è il vantaggio dal punto di vista del costo computazionale di questo metodo rispetto a quello della fattorizzazione di Gauss? Ad ogni iterazione del metodo di Jacobi bisogna effettuare ( 2n! 1)n operazioni (addizioni, moltiplicazioni e divisioni). E evidente, allora, che se il numero di iterazioni M necessarie per raggiungere la precisione desiderata è tale che M << n, allora il costo computazionale per implementare al metodo di Jacobi è molto più basso di quello richiesto per implementare la fattorizzazione di Gauss. Il vantaggio è ancora più evidente se la matrice A è sparsa. Si può mostrare che in questo caso il numero delle operazioni ad ogni iterazione è dell ordine di n per n >> 1. Invece nella fattorizzazione di Gauss le matrici L e U sono, in generale, piene anche se A è sparsa. e Metodo di Gauss-Seidel Il metodo iterativo di Gauss-Seidel consiste nello scegliere La matrice di iterazione è V = D +! L (4.121) W =! U. (4.122) B =!( D + L! )!1 U! = I! ( D + L! )!1 A. (4.123)
33 33 Ad ogni passo dell iterazione di Gauss-Seidel bisogna risolvere il sistema ( D + L! )x ( k +1) =! Ux! ( k) + b. (4.124) Essendo D +! L una matrice triangolare bassa il sistema (4.124) può essere risolto con l algoritmo (4.14). Si ottiene lo schema iterativo in forma esplicita ( k +1 x ) 1 = 1 n # b 1! " a 1h x h a 11 $ % h=2 ( k) ( k +1 x ) 2 = 1 ( k +1 b 2! a 21 x ) n # k 1! " a 2h x h a 22 $ % ( k +1 x ) 3 = 1 # b 3! a 31 x 1 a 33 $ % e così via. In termini più generali si ha h= 3 ( k +1 ) k +1! a 31 x 2 & ' ( (4.125) ( ) & ' ( (4.126) ( ) n ( k) &! " a 3h x h ' ( (4.127) h= 4 ( k +1 x ) i = 1 a ii i!1 ( k +1 b i! a ih x ) n # ( k) & " h! " a ih x $ % h ' ( h=1 h=i+1 i = 1,2,...,n (4.128) per k = 0,1,... ; la prima sommatoria non dà contributo per se i = 1, mentre la seconda sommatoria non dà contributo se i = n. La (4.128) può essere espressa nella forma compatta x ( k +1) =!D!1 Lx! ( k +1 )! D!1 Ux! ( k ) + D!1 b (4.129) per k = 0,1,.... Il metodo di Gauss-Seidel converge se la matrice A verifica una di queste due condizioni: i) la matrice A è a dominanza diagonale stretta per righe; ii) la matrice A è simmetrica e definita positiva. Nel metodo di Jacobi le componenti del vettore x ( k +1) vengono calcolate indipendentemente le une dalle altre, invece nel metodo di Gauss-Seidel per calcolare ( k +1) ( k +1 x i si impiegano le componenti x ) ( k +1 i, x ) ( k +1) 2,..., x i!1 calcolate in precedenza. Ciò rende il metodo di Gauss-Seidel più veloce di quello di Jacobi. Si osservi che il numero di operazioni ad ogni iterazione è uguale al numero di operazioni richieste dal metodo di Jacobi. Il metodo di Gauss-Seidel è implementato nel Programma 4.3, [4.3]. I parametri di ingresso sono la matrice A, il termine noto b, il dato iniziale x 0 per l iterazione, il
34 34 numero massimo di iterazioni consentite e l errore toll del criterio d arresto dell iterazione, err = r ( k) / r ( 0)! toll. Esempio 4.11 Risolviamo il sistema (4.119) con il metodo di Gauss-Seidel. La matrice è dominanza diagonale stretta per righe. Con x 0 = 0 e toll = 10!6 dopo 8 iterazioni si ottiene la soluzione x = ,0.2143, T, 20 iterazioni in meno del metodo di Jacobi. Programma 4.3: Iterazione di Gauss-Seidel function [x,iter]=gseidel(a,b,x0,nmax,toll) % Iterazione di Gauss-Seidel [n,n]=size(a); iter=0;r=b-a*x0;r0=norm(r);x=x0; err=r0; while err>toll&iter<nmax iter=iter+1; for i=1:n s=a(i,1:i-1)*x(1:i-1); s=s+a(i,i+1:n)*x(i+1:n); x(i)=(b(i)-s)/a(i,i); end r=b-a*x;err=norm(r)/r0; end return Metodi di rilassamento Con l obiettivo di accelerarne la convergenza, si possono modificare i metodi iterativi che abbiamo precedentemente illustrato, introducendo un parametro! reale da scegliere opportunamente. Sia x ( k) la soluzione calcolata al passo k e x ( k +1/2) la soluzione al passo k + 1 / 2 calcolata tramite uno dei metodi precedenti. La soluzione al passo k + 1 è determinata attraverso la combinazione lineare In questo modo partendo dal metodo di Jacobi si ottiene x ( k +1) =!x ( k +1/2) + ( 1 "! )x ( k). (4.130) x ( k +1/2) = ( I! D!1 A)x ( k) + D!1 b, (4.131)
Corso di Matematica per la Chimica
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Pivoting e stabilità Se la matrice A non appartiene a nessuna delle categorie precedenti può accadere che al k esimo passo risulti a (k) k,k = 0, e quindi il
DettagliCorso di Matematica per la Chimica
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Pivoting e stabilità Se la matrice A non appartiene a nessuna delle categorie precedenti può accadere che al k esimo passo risulti a (k) k,k = 0, e quindi il
DettagliCorso di Calcolo Numerico
Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis
DettagliComplementi di Matematica e Calcolo Numerico A.A
Complementi di Matematica e Calcolo Numerico A.A. 205-206 Laboratorio 9 Metodo di Eliminazione Gaussiana per sistemi lineari Siano A R n n una matrice quadrata non singolare (det(a) 0) e b R n un vettore
Dettaglin +1 determinanti (D i, i =1,...,n e det A) n! prodotti per ciascun determinante n 1 moltiplicazioni per ciascun prodotto
METODI NUMERICI (A.A. 2007-2008) Prof. F.Pitolli Appunti delle lezioni sui sistemi lineari: metodi diretti; condizionamento Metodi diretti per la soluzione di sistemi lineari Metodi diretti Sono basati
Dettagli4. Algoritmi per la soluzione di sistemi lineari.
CALCOLO NUMERICO Francesca Mazzia Dipartimento Interuniversitario di Matematica Università di Bari 4. Algoritmi per la soluzione di sistemi lineari. 1 Sistemi triangolari inferiori Sia L triangolare inferiore.
DettagliRisoluzione di sistemi lineari sparsi e di grandi dimensioni
Risoluzione di sistemi lineari sparsi e di grandi dimensioni Un sistema lineare Ax = b con A R n n, b R n, è sparso quando il numero di elementi della matrice A diversi da zero è αn, con n α. Una caratteristica
DettagliSistemi lineari. 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0. x 1 x 2 x 3
Sistemi lineari 2x 1 + x 2 x 3 = 2 x 1 x 2 + x 3 = 1 x 1 + 3x 2 2x 3 = 0 2 1 1 1 1 1 1 3 2 x 1 x 2 x 3 = 2 1 0 n j=1 a i,jx j = b i, i = 1,, n Ax = b A = (a i,j ) R n n matrice invertibile (det(a) 0) b
DettagliCorso di Geometria e Algebra Lineare
Prof. C. Vergara, Dott.ssa N. Franchina, Dr. A. Colombo Corso di Geometria e Algebra Lineare Laboratorio 3: sistemi lineari 25 29 Maggio 2015 Metodi diretti per sistemi lineari Si consideri il seguente
DettagliComplementi di Matematica e Calcolo Numerico A.A
Complementi di Matematica e Calcolo Numerico A.A. 207-208 Laboratorio 5 Metodi diretti per sistemi lineari Siano A R n n una matrice quadrata non singolare (det(a) 0) e b R n un vettore assegnati, allora
DettagliComplementi di Matematica e Calcolo Numerico C.L. Chimica Industriale A.A
Complementi di Matematica e Calcolo Numerico C.L. Chimica Industriale A.A. 208-209 Laboratorio 4-4 aprile 209 Metodo delle sostituzioni in avanti per sistemi lineari con matrice triangolare inferiore Siano
DettagliSISTEMI LINEARI. Metodi diretti. Calcolo numerico 07/08 p. 1/1
SISTEMI LINEARI Metodi diretti Calcolo numerico 07/08 p. 1/1 Sistemi lineari Ax = b, A R n n, b R n b INPUT x OUTPUT A relazione funzionale non ambigua det(a) 0 ( un unica soluzione) (Esercizio 1) Se det
DettagliPer esempio, una matrice 4 4 triangolare alta ha la forma. 0 a. mentre una matrice di ordine 4 triangolare bassa è del tipo
Matrici triangolari Prima di esporre il metodo LU per la risoluzione di sistemi lineari, introduciamo la nozione di matrice triangolare Ci limiteremo al caso di matrici quadrate anche se l estensione a
DettagliSistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara
Sistemi lineari Lorenzo Pareschi Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara http://utenti.unife.it/lorenzo.pareschi/ lorenzo.pareschi@unife.it Lorenzo Pareschi (Univ. Ferrara)
DettagliSistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica,
Sistemi lineari Lucia Gastaldi DICATAM - Sez. di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Risoluzione di sistemi lineari Risoluzione di sistemi lineari in Matlab Metodi di risoluzione Fattorizzazione
DettagliCorso di Calcolo Numerico
Corso di Laurea in Ingegneria Gestionale Sede di Fermo Corso di 7 - CALCOLO NUMERICO CON MATRICI Richiami teorici Operazioni fondamentali Siano A = {a ij } e B = {b ij }, i = 1,..., m, j = 1,..., n due
DettagliEsercitazione di Calcolo Numerico 1 22 Aprile Determinare la fattorizzazione LU della matrice a 1 1 A = 3a 2 a 2a a a 2 A =
Esercitazione di Calcolo Numerico 22 Aprile 29. Determinare la fattorizzazione LU della matrice a A = 3a 2 a 2a a a 2 ed utilizzarla per calcolare il det(a). 2. Calcolare il determinante della matrice
DettagliCorso di Matematica per la Chimica
Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Propagazione degli errori introdotti nei dati
DettagliSistemi lineari. Lucia Gastaldi. DICATAM - Sez. di Matematica,
Sistemi lineari Lucia Gastaldi DICATAM - Sez. di Matematica, http://www.ing.unibs.it/gastaldi/ Indice 1 Risoluzione di sistemi lineari Risoluzione di sistemi lineari in Matlab Metodi di risoluzione Fattorizzazione
Dettagli1 Risoluzione di sistemi lineari
Risoluzione di sistemi lineari La presente nota è in parte ripresa dal testo D Bini M Capovani O Menchi Metodi numerici per l algebra lineare Zanichelli Editore Siano A una matrice non singolare di ordine
DettagliCompito numero 2 - Compito intero
Esercitazione 6 - Correzione esame dell 8//3 Lucia Pilleri 9//3 Compito numero - Compito intero Esercizio del parziale - del compito intero Risolvere, mediante la fattorizzazione P A = LU, il sistema lineare
Dettagli+ Analisi Numerica (1 modulo) Docente: M.Gaviano; domande di ripasso a.a
+ Analisi Numerica ( modulo) Docente: M.Gaviano; domande di ripasso a.a. - Idee di base e richiami. Quale è lo scopo dell Analisi numerica. Attraverso quali fasi si passa nel risolvere un problema reale..
Dettagli2. Risolvere con il metodo di eliminazione di Gauss con pivoting parziale il seguente sistema lineare:
Esercizi sui metodi diretti per la risoluzione di sistemi lineari 1. Data la matrice 1 0 2 1 3 1 5 2 1 determinare la sua fattorizzazione P LR. Risolvere il sistema Ax = b con b = (3, 5, 6) T mediante
DettagliEsercitazione 5: Sistemi a risoluzione immediata.
Esercitazione 5: Sistemi a risoluzione immediata. Ipotesi: Supponiamo le matrici non singolari. Nota: Per verificare che si ha risolto correttamente il sistema lineare Ax = b basta calcolare la norma del
DettagliComplementi di Matematica e Calcolo Numerico A.A
Complementi di Matematica e Calcolo Numerico A.A. 206-207 Laboratorio Autovalori, raggio spettrale e norme di matrici Sia A una matrice quadrata di ordine n a valori reali o complessi, il numero λ C si
DettagliMetodi diretti: eliminazione gaussiana
Calcolo numerico 08/09 p. 1/1 SISTEMI LINEARI Metodi diretti: eliminazione gaussiana Calcolo numerico 08/09 p. 2/1 Sistemi lineari Ax = b, A R n n, b R n b INPUT x OUTPUT A relazione funzionale non ambigua
DettagliAlgoritmi per la soluzione di sistemi lineari
Capitolo Algoritmi per la soluzione di sistemi lineari. Sistemi triangolari inferiori Le matrici L con n righe ed n colonne ed elementi uguali a zero al di sopra della diagonale principale: l, 0... 0.
DettagliProgramma del corso di: Laboratorio di Programmazione e Calcolo Corso di laurea in Matematica a.a Proff. B. Paternoster, D.
Programma del corso di: Laboratorio di Programmazione e Calcolo Corso di laurea in Matematica a.a.009-0 Proff. B. Paternoster, D. Conte Risoluzione di un problema con il calcolatore: dal problema reale
DettagliProgrammare con MATLAB c Parte 5 Cicli: for e while
Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while
DettagliUn sistema lineare si rappresenta in generale come
SISTEMI LINEARI Un sistema lineare si rappresenta in generale come n j=1 a ij x j = b i i = 1, 2,..., m o anche AX = B. La soluzione esiste se e solo se B appartiene allo spazio lineare generato dalle
DettagliArgomento 13 Sistemi lineari
Sistemi lineari: definizioni Argomento Sistemi lineari Un equazione nelle n incognite x,, x n della forma c x + + c n x n = b ove c,, c n sono numeri reali (detti coefficienti) e b è un numero reale (detto
DettagliCalcolo Numerico (CdS in Matematica) A.A. 2012/13
Calcolo Numerico (CdS in Matematica) A.A. 2012/13 Esercitazione di Laboratorio sulla risoluzione di sistemi di equazioni lineari Parte 1. Fattorizzazione di matrici Scrivere una funzione Matlab che implementi
DettagliProblema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm:
Problema 4 Ω 3 3 Ω 2 2 Ω 40 V Sistemi lineari 2 Ω Ω 2 Ω Ω 5 6 7 8 Ω 4 Ω Ω 0 V Quali sono i potenziali in ogni nodo? 2 4 Ω Problema 3 3 Ω 2 2 Ω 40 V 4 Ω Problema 3 3 Ω 2 2 Ω 40 V 2 Ω Ω 2 Ω Ω 2 Ω Ω 2 Ω Ω
DettagliNote per il corso di Geometria Corso di laurea in Ing. Edile/Architettura. 4 Sistemi lineari. Metodo di eliminazione di Gauss Jordan
Note per il corso di Geometria 2006-07 Corso di laurea in Ing. Edile/Architettura Sistemi lineari. Metodo di eliminazione di Gauss Jordan.1 Operazioni elementari Abbiamo visto che un sistema di m equazioni
DettagliApplicazioni eliminazione di Gauss
Applicazioni eliminazione di Gauss. Premessa Nel seguito supporremo sempre di applicare il metodo di eliminazione di Gauss allo scopo di trasformare la matrice del sistema Ax = b in una matrice triangolare
DettagliGeometria BAER I canale Foglio esercizi 2
Geometria BAER I canale Foglio esercizi 2 Esercizio 1. Calcolare il determinante e l inversa (quando esiste) della matrice ( ) cos θ sin θ R θ =, θ [0, 2π] sin θ cos θ Soluzione: Il determinante ( é cos
DettagliMetodi Diretti per la Risoluzione di Sistemi Lineari
Metodi Diretti per la Risoluzione di Sistemi Lineari Luca Gemignani luca.gemignani@unipi.it 20 marzo 2018 Indice Lezione 1: Sistemi Triangolari. 1 Lezione 2: Matrici Elementari di Gauss ed il Metodo di
DettagliNote sull algoritmo di Gauss
Note sull algoritmo di Gauss 29 settembre 2009 Generalità Un sistema lineare di m equazioni in n incognite x,..., x n è un espressione del tipo: a x + a 2 x 2 + + a n x n = b a 2 x + a 22 x 2 + + a 2n
DettagliCORSO DI ALGEBRA LINEARE Anno Accademico 2004/2005 Appunti su SISTEMI di EQUAZIONI LINEARI
CORSO DI ALGEBRA LINEARE Anno Accademico 2004/2005 Appunti su SISTEMI di EQUAZIONI LINEARI Lo studente ha forse già incontrato i sistemi di equazioni lineari alla scuola secondaria Con il termine equazione
DettagliComplementi di Matematica e Calcolo Numerico A.A Laboratorio 6 Metodi iterativi per sistemi lineari
Complementi di Matematica e Calcolo Numerico A.A. 2017-2018 Laboratorio 6 Metodi iterativi per sistemi lineari Dati una matrice A R N N non singolare e un vettore b R N, un metodo iterativo per la risoluzione
DettagliRiassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
DettagliSistemi lineari. Lucia Gastaldi. 11 novembre Dipartimento di Matematica,
Sistemi lineari Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 11 novembre 2007 Outline 1 Come risolvere un sistema lineare con MATLAB Il comando per risolvere i sistemi lineari
DettagliCalcolo Numerico con elementi di programmazione
Calcolo Numerico con elementi di programmazione (A.A. 2014-2015) Appunti delle lezioni sui metodi numerici per la soluzione di sistemi lineari Metodi Iterativi la soluzione si ottiene tramite approssimazioni
DettagliMatrici. 3. Costruire le seguenti matrici, contarne gli elementi non nulli e visualizzarle con spy: . B 10x10 = ; D 7x7 =
Matrici diag, tril, triu. Sia v il vettore colonna casuale di lunghezza. Calcolare: diag(v), diag (v,), diag (v,-), diag(v,), diag(v,-). Sia A la matrice magica x. Calcolare: tril(a), tril(a, ), tril(a,
DettagliMATRICI E SISTEMI LINEARI
1 Rappresentazione di dati strutturati MATRICI E SISTEMI LINEARI Gli elementi di una matrice, detti coefficienti, possono essere qualsiasi e non devono necessariamente essere omogenei tra loro; di solito
DettagliMotivazioni. Sistemi lineari. Obiettivo. Il problema
Motivazioni Sistemi lineari Metodo di eliminazione di Gauss Molti problemi si possono rappresentare mediante un sistema lineare La soluzione di un sistema lineare costituisce un sottoproblema di moltissime
DettagliEsercitazione 4: Vettori e Matrici
Esercitazione 4: Vettori e Matrici Richiami di teoria: Norme di vettore Principali norme di vettore:. x = n i= x i 2. x 2 = n i= x i 2 3. x = max i n x i Ad esempio dato il vettore x = (, 2, 3, 4) abbiamo.
DettagliSISTEMI LINEARI. Ax = b
SISTEMI LINEARI Un sistema lineare di n equazioni algebriche in n incognite è esprimibile come: a 11 x 1 + a 1 x + a 13 x 3 +... + a 1n x n = b 1 a 1 x 1 + a x + a 3 x 3 +... + a n x n = b a n1 x 1 + a
DettagliMatrici triangolari [Abate, 3.2] Lezioni 05 e 06. Determinante di una matrice triangolare [Abate, es. 9.3] Matrici ridotte per righe.
Matrici triangolari [Abate, 32] Definizione Una matrice A = a ij ) R m,n si dice triangolare superiore se a ij = 0 per ogni i > j; triangolare inferiore se a ij = 0 per ogni i < j Lezioni 05 e 06 Una matrice
DettagliFattorizzazione LU (lu)
Fattorizzazione LU (lu) Pivoting Esercizio Si consideri la matrice d A = / d d / d = LU; dove d è un parametro reale non nullo. Si utilizzi la fattorizzazione di A per risolvere il sistema Ax = b, con
DettagliLABORATORIO DI PROGRAMMAZIONE E CALCOLO Docente E. Carlini A.A. 2012/13 Foglio di esercizi N.8 con la collaborazione di Andrea Pugliese
LABORATORIO DI PROGRAMMAZIONE E CALCOLO Docente E. Carlini A.A. / Foglio di esercizi N.8 con la collaborazione di Andrea Pugliese Dovete strutturare i programmi dei seguenti esercizi in funzioni ) (Metodo
DettagliUNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE POLITICHE CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA
UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE POLITICHE CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA II Parziale - Compito C 3/5/25 A. A. 24 25 ) Risolvere il seguente sistema
DettagliPreparazione orale analisi numerica:
Preparazione orale analisi numerica: CAPITOLO Errori (1): Ricavare il coefficiente di amplificazione: Sviluppare la serie di Taylor su di centro CAPITOLO Gerschgorin (4): Primo teorema di Gershgorin (Massimizzare
DettagliGeometria BAER PRIMO CANALE Foglio esercizi 1
Geometria BAER PRIMO CANALE Foglio esercizi 1 Esercizio 1. Risolvere le seguenti equazioni lineari nelle variabili indicate trovando una parametrizzazione dell insieme delle soluzioni. a) x + 5y = nelle
DettagliAlgebra Lineare Metodi Iterativi
Algebra Lineare Metodi Iterativi Stefano Berrone Sandra Pieraccini DIPARTIMENTO DI MATEMATICA POLITECNICO DI TORINO, CORSO DUCA DEGLI ABRUZZI 24, 10129, TORINO, ITALY e-mail: sberrone@calvino.polito.it,
DettagliRiassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.
Capitolo 2 Campi 2.1 Introduzione Studiamo ora i campi. Essi sono una generalizzazione dell insieme R dei numeri reali con le operazioni di addizione e di moltiplicazione. Nel secondo paragrafo ricordiamo
Dettagli8 Metodi iterativi per la risoluzione di sistemi lineari
8 Metodi iterativi per la risoluzione di sistemi lineari È dato il sistema lineare Ax = b con A R n n e x, b R n, con deta 0 Si vogliono individuare dei metodi per determinarne su calcolatore la soluzione,
DettagliGeometria BAER I canale Foglio esercizi 2
Geometria BAER I canale Foglio esercizi Esercizio. ( ) Data la matrice, determinare tutte le matrici X Mat( ) tali che AX = 0 e tutte le matrici Y Mat( ) tali che Y 0. ( ) ( ) ( ) x y x + z y + w Soluzione:
DettagliMATRICI E SISTEMI LINEARI
MATRICI E SISTEMI LINEARI - PARTE I - Felice Iavernaro Dipartimento di Matematica Università di Bari 27 Febbraio 2006 Felice Iavernaro (Univ. Bari) Matrici e Sistemi lineari 27/02/2006 1 / 1 Definizione
Dettagli1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso
Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.
Dettagli1. Calcolo dell indice di condizionamento di una matrice
1 Esercizi sul condizionamento con matlab laboratorio di Calcolo Scientifico per Geofisici Prof. A. Murli a.a. 2006/07 1. Calcolo dell indice di condizionamento di una matrice Determinare una function
DettagliRISOLUZIONE DI SISTEMI LINEARI
RISOLUZIONE DI SISTEMI LINEARI Algebra lineare numerica 1 La risoluzione di un sistema lineare è il nucleo principale del processo di risoluzione di circa il 70% di tutti i problemi reali Per la risoluzione
DettagliAlgoritmi per la soluzione di sistemi lineari
Algoritmi per la soluzione di sistemi lineari Corso di Calcolo Numerico, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 31 Marzo 2009 Francesca Mazzia (Univ. Bari) Algoritmi
DettagliRaccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia
Raccolta di esercizi di Calcolo Numerico Prof. Michela Redivo Zaglia Nota Bene: Gli esercizi di questa raccolta sono solo degli esempi. Non sono stati svolti né verificati e servono unicamente da spunto
DettagliUNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE POLITICHE CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA
UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE POLITICHE CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA II Parziale - Compito B 3/05/005 A. A. 004 005 ) Risolvere il seguente sistema
DettagliCapitolo 1. Esercizi a.a Esercizi. Esercizio 1.1 Dimostrare che il metodo iterativo
Capitolo Esercizi a.a. 206-7 Esercizi Esercizio. Dimostrare che il metodo iterativo x k+ = Φ(x k ), k = 0,,..., se convergente a x, deve verificare la condizione di consistenza x = Φ(x ). Ovvero, la soluzione
DettagliALGEBRA LINEARE PARTE III
DIEM sez Matematica Finanziaria Università degli studi di Genova Dicembre 200 Indice PREMESSA 2 GENERALITA 2 RAPPRESENTAZIONE DI UN SISTEMA LINEARE IN FORMA MATRI- CIALE 2 3 SOLUZIONE DI SISTEMI LINEARI
DettagliA =, c d. d = ad cb. c d A =
Geometria e Algebra (II), 271112 1 Definizione D ora innanzi, al posto di dire matrice quadrata di tipo n n o matrice quadrata n n diremo matrice quadrata di ordine n o in breve matrice di ordine n Il
Dettagliossia può anche essere localizzato univocamente sul piano complesso con la sua forma polare.
ALGEBRA COMPLESSA Nel corso dei secoli gli insiemi dei numeri sono andati man mano allargandosi per rispondere all esigenza di dare soluzione a equazioni e problemi sempre nuovi I numeri complessi sono
DettagliCenni sui metodi iterativi per sistemi lineari. Analisi Numerica Prof. M. Lucia Sampoli a.a. 2014/2015
Cenni sui metodi iterativi per sistemi lineari Analisi Numerica Prof. M. Lucia Sampoli a.a. 2014/2015 Metodi numerici per sistemi lineari Nei metodi diretti la presenza di eventuali elementi nulli nella
DettagliSistemi sovradeterminati
Sistemi sovradeterminati Sia A una matrice m n ove m > n sia b R m trovare una soluzione del sistema sovradeterminato Ax = b significa cercare di esprimere un vettore di R m come combinazione lineare di
DettagliA titolo di esempio proponiamo la risoluzione del sistema sia con il metodo della matrice inversa sia con il metodo di Cramer.
) Trovare le soluzioni del seguente sistema lineare: x+ y+ z = 3x y + z = 0 x + 5y 4z = 5 Osserviamo in primo luogo che il sistema dato è un sistema quadrato di tre equazioni in tre incognite, precisamente
DettagliAppunti su Indipendenza Lineare di Vettori
Appunti su Indipendenza Lineare di Vettori Claudia Fassino a.a. Queste dispense, relative a una parte del corso di Matematica Computazionale (Laurea in Informatica), rappresentano solo un aiuto per lo
DettagliMotivazione: Come si fa? Matrici simmetriche. Fattorizzazioni di matrici speciali
Motivazione: Fattorizzazioni di matrici speciali Diminuire la complessità computazionale = evitare operazioni inutili = risparmiare tempo di calcolo Diminuire l occupazione di memoria Come si fa? Si tiene
DettagliCorso di Analisi Numerica
con pivoting Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 6 - METODI DIRETTI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche con pivoting 1 Introduzione algebrica
DettagliLEZIONE i i 3
LEZIONE 5 51 Determinanti In questo lezione affronteremo da un punto di vista prettamente operativo la nozione di determinante, descrivendone le proprietà ed i metodi di calcolo, senza entrare nei dettagli
DettagliFederica Gregorio e Cristian Tacelli
1 Sistemi lineari Federica Gregorio e Cristian Tacelli Un sistema lineare m n (m equazioni in n incognite) è un insieme di equazioni lineari che devono essere soddisfatte contemporaneamente a 11 x 1 +
DettagliLEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g
LEZIONE 3 3.. Matrici fortemente ridotte per righe. Nella precedente lezione abbiamo introdotto la nozione di soluzione di un sistema di equazioni lineari. In questa lezione ci poniamo il problema di descrivere
DettagliMatrici di permutazione
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
DettagliSISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI
SISTEMI LINEARI: APPROFONDIMENTI ED ESEMPI Appunti presi dalle lezioni del prof. Nedo Checcaglini Liceo Scientifico di Castiglion Fiorentino (Classe 4B) January 17, 005 1 SISTEMI LINEARI Se a ik, b i R,
DettagliCarla Guerrini 1. Sistemi e matrici semplici
Carla Guerrini 1 Sistemi e matrici semplici Vi sono delle funzioni MatLab che generano delle matrici particolari, per esempio zeros(m, n) produce una matrice m n con tutti gli elemnti nulli, ones(m, n)
DettagliCapitolo 3 Matrici. Marco Robutti. Facoltà di ingegneria Università degli studi di Pavia. Anno accademico
Capitolo 3 Matrici Marco Robutti Facoltà di ingegneria Università degli studi di Pavia Anno accademico 2017-2018 Tutorato di geometria e algebra lineare Definizione (Matrice) Una matrice A M R (k, n) è
DettagliCorso di Analisi Numerica
con pivoting Corso di Laurea in Ingegneria Informatica Corso di Analisi Numerica 6 - METODI DIRETTI PER I SISTEMI LINEARI Lucio Demeio Dipartimento di Scienze Matematiche con pivoting 1 2 3 con pivoting
DettagliLEZIONE i 0 3 Le sottomatrici 2 2 di A sono. 1 2 i i 3. Invece (
LEZIONE 6 6 Determinanti In questa lezione affronteremo da un punto di vista prettamente operativo la nozione di determinante, descrivendone le proprietà ed i metodi di calcolo, senza entrare nei dettagli
DettagliEsercitazione di Calcolo Numerico 1 27 Maggio Calcolare la fattorizzazione P A = LU della matrice A =
Esercitazione di Calcolo Numerico 1 27 Maggio 29 1. Calcolare la fattorizzazione P A = LU della matrice 1 2 3 A = 2 3 3, ed utilizzarla per risolvere il sistema lineare Ax = b, con b = (1, 2,, 16) T. 2.
DettagliIntroduzione soft alla matematica per l economia e la finanza. Marta Cardin, Paola Ferretti, Stefania Funari
Introduzione soft alla matematica per l economia e la finanza Marta Cardin, Paola Ferretti, Stefania Funari Capitolo Sistemi di equazioni lineari.8 Il Teorema di Cramer Si consideri un generico sistema
DettagliLEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.
LEZIONE 2 2 Sistemi di equazioni lineari Definizione 2 Un equazione lineare nelle n incognite x, x 2,, x n a coefficienti reali, è un equazione della forma (2 a x + a 2 x 2 + + a n x n = b, ove a j, b
DettagliLaboratorio di Calcolo Numerico
Laboratorio di Calcolo Numerico M.R. Russo Università degli Studi di Padova Dipartimento di Matematica Pura ed Applicata A.A. 2009/2010 INDICE Sistemi lineari Casi particolari Eliminazione di Gauss Fattorizzazione
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Sistema decimale La base del sistema è 10 Ogni numero viene rappresentato come con 0 a i 9. a = ±a m a m 1 a 1 a 0.a 1 a 2 a M Il sistema è detto posizionale:
DettagliNumeri floating point
Numeri floating point Corso di Calcolo Numerico, a.a. 2008/2009 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Numeri floating point 1 / 32 Rappresentazione
DettagliNote per le esercitazioni di Geometria 1 a.a. 2007/08 A. Lotta. Metodi per il calcolo del rango di una matrice
Note per le esercitazioni di Geometria 1 a.a. 2007/08 A. Lotta Versione del 21/12/07 Metodi per il calcolo del rango di una matrice Sia A M m,n (K). Denotiamo con A (i) la riga i-ma di A, i {1,..., m}.
Dettagliil determinante che si ottiene da A, sopprimendo la i - esima riga e la j - esima colonna. Si definisce complemento algebrico dell'elemento a ij
Determinanti Sia data la matrice quadrata a... a n a a n =...... a... a n nn Chiamiamo determinante di il numero det o che ad essa viene associato. det = a a... a... a... a n n n... a nn Un generico elemento
DettagliA.A Prof. R. Morandi
Svolgimento di alcuni esercizi del corso di Calcolo Numerico A.A. - Prof. R. Morandi Versione in aggiornamento ( gennaio ): ogni segnalazione di imprecisioni è gradita Aritmetica Finita Esercizio : Assegnati
DettagliFattorizzazione QR e matrici di Householder
Fattorizzazione QR e matrici di Householder ottobre 009 In questa nota considereremo un tipo di fattorizzazione che esiste sempre nel caso di matrici quadrate non singolari ad entrate reali. Definizione
Dettagli