Condizionamento di sistemi lineari.



Похожие документы
MATLAB:Condizionamento Sistemi Lineari.

ANALISI DEL CONDIZIONAMENTO DI UN SISTEMA LINEARE

Corso di Matematica per la Chimica

Condizionamento del problema

Introduzione al MATLAB c Parte 2

Spazi lineari - PARTE II - Felice Iavernaro. Dipartimento di Matematica Università di Bari. 9 e 16 Marzo 2007

Approssimazione polinomiale di funzioni e dati

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

Equazione di Keplero (eqz. nonlineari).

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

Dimensione di uno Spazio vettoriale

Interpolazione ed approssimazione di funzioni

Note sull uso di R per l Algebra Lineare

Le equazioni. Diapositive riassemblate e rielaborate da prof. Antonio Manca da materiali offerti dalla rete.

x 1 + x 2 3x 4 = 0 x1 + x 2 + x 3 = 0 x 1 + x 2 3x 4 = 0.

RICHIAMI SULLE MATRICI. Una matrice di m righe e n colonne è rappresentata come

Fondamenti di Automatica

Autovalori e Autovettori

2.1 Definizione di applicazione lineare. Siano V e W due spazi vettoriali su R. Un applicazione

Esponenziali elogaritmi

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

Corso di Calcolo Numerico

Applicazione della tsvd all elaborazione di immagini

Esercizi su lineare indipendenza e generatori

Parte 6. Applicazioni lineari

( x) ( x) 0. Equazioni irrazionali

min 4x 1 +x 2 +x 3 2x 1 +x 2 +2x 3 = 4 3x 1 +3x 2 +x 3 = 3 x 1 +x 2 3x 3 = 5 Innanzitutto scriviamo il problema in forma standard: x 1 x 2 +3x 3 = 5

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Documentazione esterna al software matematico sviluppato con MatLab

I sistemi di numerazione

Indice. 1 Introduzione alle Equazioni Differenziali Esempio introduttivo Nomenclatura e Teoremi di Esistenza ed Unicità...

Algebra Lineare e Geometria

ESERCIZI APPLICAZIONI LINEARI

FUNZIONI ELEMENTARI - ESERCIZI SVOLTI

Parte 2. Determinante e matrice inversa

Pre Test Matematica

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

LEZIONE 23. Esempio Si consideri la matrice (si veda l Esempio ) A =

4. Operazioni elementari per righe e colonne

MATEMATICA. { 2 x =12 y 3 y +8 x =0, si pone il problema di trovare, se esistono, un numero x ed un numero y che risolvano entrambe le equazioni.

Parte 3. Rango e teorema di Rouché-Capelli

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Perché il logaritmo è così importante?

ESERCIZI DI ALGEBRA LINEARE E GEOMETRIA

(V) (FX) Z 6 è un campo rispetto alle usuali operazioni di somma e prodotto.

2 Argomenti introduttivi e generali

Metodi Computazionali

CORSO DI LAUREA INF TWM ANNO DI IMMATRICOLAZIONE MATRICOLA

SVM. Veronica Piccialli. Roma 11 gennaio Università degli Studi di Roma Tor Vergata 1 / 14

Integrazione numerica

Rette e curve, piani e superfici

Laboratorio teorico-pratico per la preparazione alle gare di matematica

Programmazione I - Laboratorio

Luigi Piroddi

15 febbraio Soluzione esame di geometria - 12 crediti Ingegneria gestionale - a.a COGNOME... NOME... N. MATRICOLA...

Limiti e continuità delle funzioni reali a variabile reale

Ottimizzazione Multi Obiettivo

Inserimento di distanze e di angoli nella carta di Gauss

Metodi iterativi per sistemi lineari

Modelli matematici e realtà:

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

Funzioni con dominio in R n

Applicazioni lineari

Università degli Studi di Roma Tor Vergata. Corso di Laurea in Ingegneria Meccanica

E naturale chiedersi alcune cose sulla media campionaria x n

La Programmazione Lineare

1 Applicazioni Lineari tra Spazi Vettoriali

Verifica della correttezza formale del numero di partita IVA

CORSO DI LAUREA IN INGEGNERIA.

Metodi Stocastici per la Finanza

LEZIONE 16. Proposizione Siano V e W spazi vettoriali su k = R, C. Se f: V W

Studente: SANTORO MC. Matricola : 528

Ammortamento di un debito

OCCUPATI SETTORE DI ATTIVITA' ECONOMICA

Diagonalizzazione di matrici e applicazioni lineari

Corso di Analisi Numerica

DEFINIZIONE Una grandezza fisica è una classe di equivalenza di proprietà fisiche che possono essere misurate mediante un rapporto.

x (x i ) (x 1, x 2, x 3 ) dx 1 + f x 2 dx 2 + f x 3 dx i x i

Anelli a fattorizzazione unica. Domini ad ideali principali. Anelli Euclidei

Grandezze fisiche e loro misura

SPC e distribuzione normale con Access

Politecnico di Milano Facoltà di Ingegneria Industriale INFORMATICA B

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie

Rango: Rouchè-Capelli, dimensione e basi di spazi vettoriali.

Introduzione. Rappresentazione di numeri in macchina, condizion

~ Copyright Ripetizionando - All rights reserved ~ STUDIO DI FUNZIONE

Economia Applicata ai sistemi produttivi Lezione II Maria Luisa Venuta 1

Lezione 8. La macchina universale

Slide Cerbara parte1 5. Le distribuzioni teoriche

Psicometria (8 CFU) Corso di Laurea triennale STANDARDIZZAZIONE

L espressione torna invece sempre vera (quindi la soluzione originale) se cambiamo contemporaneamente il verso: 1 < 0.

Utilizzo delle formule in Excel

STRUTTURE ALGEBRICHE

SISTEMI DI NUMERAZIONE IL SISTEMA DECIMALE

Equazioni non lineari

3 Applicazioni lineari e matrici

1 Serie di Taylor di una funzione

1. Distribuzioni campionarie

Транскрипт:

Condizionamento di sistemi lineari. Ángeles Martínez Calomardo e Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica Pura e Applicata 10 dicembre 2012 Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 1/ 16

Risoluzione di un sistema lineare in Matlab/Octave Il sistema lineare Ax = b si risolve in Matlab/Octave con il comando A\b. Se A è una matrice quadrata invertibile generale, l operatore \ restituisce la soluzione x = A 1 b calcolata con il metodo di eliminazione di Gauss con pivoting. Esempio: >> A=[10 7 0 ; 3 2 6 ; 5 1 5 ] ; >> b =[7; 4 ; 6 ] ; >> x=a\ b x = 0 1 1 >> A x b ans = 0 0 0 Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 2/ 16

Risoluzione di un sistema lineare in Matlab/Octave Nel caso di termine noto con più colonne, la scrittura A\B, con B = [b 1 b 2... b m ] risolve AX = B, ovvero gli m sistemi lineari Ax i = b i, con X = [x 1 x 2... x m ]. Nel caso di sistemi sovradeterminati (più equazioni che incognite), il comando \ calcola automaticamente la soluzione ai minimi quadrati. Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 3/ 16

Condizionamento dei sistemi lineari Consideriamo il sistema di equazioni lineari Ax = b, con A R n n e b R n. In seguito ad una perturbazione δb sul termine noto b (per semplicità, assumiamo δa = 0 R n n ), si ha un errore sul risultato δx = e = x x. Il sistema che si risolve è Da cui, poichè Ax = b, si ha A(x + δx) = b + δb (1) Aδx = b; δx = A 1 δb (2) Rispetto ad una qualsiasi norma matriciale indotta da quella vettoriale, seguono le maggiorazioni δx = A 1 δb A 1 δb (3) b = Ax A x = 1 x A b (4) Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 4/ 16

Condizionamento di un sistema lineare Moltiplicando tra di loro la (3) e la (4), si ha infine dove δx x A A 1 δb b, (5) κ(a) = A A 1 (6) si chiama numero di condizionamento della matrice A. Il numero di condizionamento, κ(a), è sempre maggiore o uguale a 1 in quanto si ha: 1 = I = AA 1 A A 1 = κ(a) Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 5/ 16

Malcondizionamento Considerando che A(x + δx) = b + δb e quindi A x = b + δb = δb = A x b = r la seguente espressione lega la norma dell errore a quella del residuo (relativi): x x x K(A) r b. Per valori molto grandi di κ(a), diciamo per κ(a) > 10 3, l errore relativo sulla soluzione può essere molto grande anche se è piccolo l errore relativo sui dati. Vale a dire che a residuo piccolo può non corrispondere un errore piccolo. Si parla allora di malcondizionamento del sistema o, per abuso di linguaggio, della matrice. Più grande è il condizionamento, meno accurata potrebbe essere la soluzione del sistema lineare. Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 6/ 16

Numero di condizionamento in Matlab/Octave Comando cond Il numero κ(a) di una matrice definito come A 2 A 1 2 si calcola in Matlab/Octave con il comando cond. >> A = [ 4 1 2 ; 1 3 1 ; 0 3 5 ] A = 4 1 2 1 3 1 0 3 5 >> cond ( A ) ans = 2. 4249 Specificando come secondo parametro del comando cond uno tra 1, inf, fro si ottiene rispettivamente il numero di condizionamento κ(a) = A A 1 in norma 1, e di Frobenius. >> cond ( A, 1 ) ans = 3. 7183 >> cond ( A, inf ) ans = 3. 1549 >> cond ( A, f r o ) ans = 3. 8379 Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 7/ 16

Esempi di matrici malcondizionate Matrici di Hilbert Una classe di matrici malcondizionate è fornita dalle matrici di 1 Hilbert di ordine n i cui elementi sono h ij = 1 + i + j. In Matlab/Octave tali matrici si creano tramite il comando hilb(n). >> H = h i l b ( 3 ) H = 1. 00000 0. 50000 0. 33333 0. 50000 0. 33333 0. 25000 0. 33333 0. 25000 0. 20000 >> cond ( H ) ans = 5 2 4. 0 6 >> H1 = h i l b ( 1 0 ) ; >> cond ( H1 ) ans = 1. 6025 e+13 Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 8/ 16

Esempi di matrici malcondizionate Matrici di Hilbert Il seguente script (scripthilb.m) crea le matrici di Hilbert di ordine n, per n = 3,..., 15 e ne calcola il numero di condizionamento. f o r n =3:15 H=h i l b ( n ) ; k=cond ( H ) ; f p r i n t f ( \n \ t [N] %3d [COND] %6.4 e, n, k ) end I numeri di condizionamento calcolati sono: [ N ] 3 [ COND ] 5. 2406 e+02 [ N ] 4 [ COND ] 1. 5514 e+04 [ N ] 5 [ COND ] 4. 7661 e+05 [ N ] 6 [ COND ] 1. 4951 e+07 [ N ] 7 [ COND ] 4. 7537 e+08 [ N ] 8 [ COND ] 1. 5258 e+10 [ N ] 9 [ COND ] 4. 9315 e+11 [ N ] 10 [ COND ] 1. 6025 e+13 [ N ] 11 [ COND ] 5. 2232 e+14 [ N ] 12 [ COND ] 1. 6412 e+16 [ N ] 13 [ COND ] 2. 0080 e+18 [ N ] 14 [ COND ] 2. 6795 e+17 [ N ] 15 [ COND ] 3. 8047 e+17 Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 9/ 16

Esempi di matrici malcondizionate Il seguente script (solhilb.m) genera la matrice di Hilbert H di ordine 12 e risolve il sistema lineare Hx = b, dove b è stato calcolato in modo che la soluzione esatta del sistema sia x = [1, 1] T. Lo script calcola anche il numero di condizionamento di H e l errore e il residuo relativi. n = 1 2 ; xvera = ones ( n, 1 ) ; H = h i l b ( n ) ; kappa = cond ( H ) ; f p r i n t f ( \n \ t [COND K 2 (H) ] %3.3 e, kappa ) ; b = H xvera ; x = H\b ; err_rel = norm ( x xvera ) /norm ( xvera ) ; f p r i n t f ( \n \ t [ERRORE RELATIVO ] %3.3 e, err_rel ) ; res_rel = norm ( b H x ) /norm ( b ) ; f p r i n t f ( \n \ t [ RESIDUO RELATIVO ] %3.3 e, res_rel ) ; f p r i n t f ( \n ) ; Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 10/ 16

Commenti all esercizio L esecuzione dello script solhilb.m fornisce i seguenti risultati >> solhilb [ COND K_2 ( H ) ] 1. 6 4 1 e+16 [ ERRORE RELATIVO ] 3. 3 6 9 e 04 [ RESIDUO RELATIVO ] 8. 3 7 9 e 16 >>warning : matrix singular to machine precision, rcond = 2. 45339 e 17 warning : attempting to f i n d minimum norm solution warning : matrix singular to machine precision, rcond = 2. 46963 e 17 warning : attempting to f i n d minimum norm solution warning : dgelsd : rank deficient 12 x12 matrix, rank = 11 Si osserva che: il residuo relativo è inferiore alla precisione di macchina mentre l errore relativo è dell ordine di 10 4. non sorprende: il numero di condizionamento è molto grande. un warning indica che la matrice è molto malcondizionata e quindi i risultati potrebbero non essere attendibili. Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 11/ 16

Esempi di matrici malcondizionate Matrice di Vandermonde Un altro esempio di matrice malcondizionata è la matrice di Vandermonde di ordine n, definita a partire da un vettore x = (x 1,, x n ) come V ij = x n j i. In Matlab/Octave tale matrice si crea con il comando vander(x). Come esempio, consideriamo lo script vandercond.m in cui si considera la matrice di Vandermonde della base monomiale in n punti equispaziati dell intervallo [1, 2]: vcond=z e r o s ( 1 0 ) ; f o r n =3:10 x =1:1/( n 1) : 2 ; A=v a n d e r ( x ) c=cond ( A ) vcond ( n )=c ; pause ; end s e m i l o g y ( 3 : 1 0, vcond ( 3 : 1 0 ), r ) ; Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 12/ 16

Esempi di matrici malcondizionate Matrice di Vandermonde 10 12 Condizionamento della matrice di Vandermonde 10 11 10 10 10 9 log(cond(a)) 10 8 10 7 10 6 10 5 10 4 10 3 10 2 3 4 5 6 7 8 9 10 dimensione della matrice n Figura : Grafico in scala semilogaritmica del condizionamento della matrice di Vandermonde al crescere della dimensione n. Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 13/ 16

Effetti del malcondizionamento della matrice di Vandermonde. Script illcond.m % xx : n o d i d i i n t e r p o l a z i o n e xx = [ 1 2 0 0. 5 1 2 0 1.5 1 2 0 2.5 1203 1204 1 2 0 5 ] ; y = [ 3 1. 5 1. 5 1 1 0 ] ; n = l e n g t h ( xx ) 1; % grado d e l p o l i n o m i o d i i n t e r p o l a z i o n e % C a l c o l o d e l l i n t e r p o l a n t e t r a m i t e p o l y f i t xval = l i n s p a c e ( xx ( 1 ), xx ( end ) ) ; coef = p o l y f i t ( xx, y, n ) ; yval = p o l y v a l ( coef, xval ) ; % C a l c o l o d e l l i n t e r p o l a n t e con Lagrange f o r i=1: l e n g t h ( xval ) ; yy ( i ) = lagrange ( xx, y, xval ( i ) ) ; end % C a l c o l o d e l p o l. d i i n t p. con f u n z i o n i base monomiali A = v a n d e r ( xx ) ; d i s p ( [ Condizionamento m a t r i c e d i Vandermonde =, num2str ( cond ( A ) ) ] ) coefmono = A\y ; yvalmono = p o l y v a l ( coefmono, xval ) ; h o l d on ; p l o t ( xval, yval, b ) ; p l o t ( xx, y, k+, L i n e w i d t h, 3 ) ; p l o t ( xval, yy, r ) ; p l o t ( xval, yvalmono, g ) ; h o l d off ; l e g e n d ( grado 5 con p o l y f i t, p u n t i, grado 5 con Lagrange, grado 5 con Vandermonde ) Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 14/ 16

Esempi di matrici malcondizionate Matrice di Vandermonde 3 2.5 grado 5 con polyfit punti grado 5 con Lagrange grado 5 con Vandermonde 2 1.5 1 0.5 0 1200 1201 1202 1203 1204 1205 Figura : Esempio degli effetti del malcondizionamento della matrice di Vandermonde sul calcolo del polinomio interpolante. Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 15/ 16

Esercizio proposto Data la matrice A = 15 6 8 11 6 6 5 3 8 5 7 6 11 3 6 9 1. Si risolvano i sistemi A 1 x = b 1, A 2 x = b 2, A 3 x = b 3 dove A i = A i, i = 1, 2, 3 e b i = A i ones(4, 1). 2. Si visualizzi il vettore soluzione di ogni sistema con 14 cifre significative. 3. Si spieghino i risultati ottenuti. Ángeles Martínez Calomardo e Alvise Sommariva Condizionamento di sistemi lineari. 16/ 16