Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Rappresentazione dei Numeri
Segno | Mantissa | Esponente
x = S · m · BP
Normalizzata: 0.0372 · 103
Scientifica: 0.00372 · 104
Pag. Direzioni Successive
Da int base 10 → B base
Moltiplicazioni successive
- Parte decimale r ∈ [0,1]
- Parte X.B= intero frazionaria
Interi Fisso Point
- Rapp. binaria
- Inversione cifre
- Si aggiunge 1
insieme non chiuso risc. operazioni → overflow/underflow
Real Floating Point
- Base
- Firme mantissa
- Esponente
- 32 bit
- 23
- Bias 127
- Emin -126
- Emax 127
- 64 bit
- 52
- Bias 1023
- Emin -1022
- Emax 1023
Operazioni di Macchina
Sottrazioni- Normalizz. a segno
- Sottraz. m
- Troncam/arrotodam, normaliz. risulta
- Prodotto m
- Troncam/ar
- Contrario
- Sottraz esponenti
- Confranto m
- Divisione m
- Calcolo p
ERRORE RELATIVO
2 parti ERR. INERENTE (Dati) ERR. ALGORITMICO (Algoritmo)
CONDIZIONAMENTO
Un problema si dice ben condizionato se a piccole perturbazioni corrispondono piccole variazioni delle soluzioni e viceversa.
- Errore condizionamento = Err. dati / Err. inerente
- Errore algoritmico = Err. operazioni / Err. algoritmico
Errore inerente = εPS = l errore
Errore relativo = ϒdati = σd εd
Errore totale = Err. inerente + Err. algoritmico
Err. algoritmico = un progr. si dice stabile se non è troppo sensibile agli errori avvenuti con le operaz. in macchina
Studio di come variano le soluz. rispetto alle perturbazioni
Obiettivo = calcolare una relazione tra
Err. relativo nelle soluzioni / Err. relativo ai dati
||x-x*||/||x|| = ?
||Δb||/||b||
Oss. 1
A x = b , A x* = b + Δb
A x = A x* − Δb ⇒ A (x − x*) = Δb ⇒ x − x* = A−1 Δb
Oss. 2
A x = b ⇒ b = A x ⇒ ||b|| = ||A x|| ⇒ ||b|| ≤ ||A|| · ||x||
||A|| · ||x − x*||/||x|| = ||Δb||/||b||
Numero di condizionamento
Moltiplico ambo i membri × A−1
||Δ1Δb||/||x|| ≤ ||A−1|| · ||Δb||/||b||
⊲ ||x-x*||/||x|| < |A| ||Δb||/||b||
Fornisce una stima della stabilità del problema, se molto → instabile
PIVOTING
• PILOT PICCOLO ➔ MOLTIPLICATORE MOLTO GRANDE ➔ INSTABILITÀ ➔ LIBERO SCELTA DEL PIVOT • MATRICE ➔ PERMUTAZIONE (PRODOTTO DI MAT. DI PERMUTAZIONE) ➔ ORTOGONALI ➔ PRODOTTO DI MAT. ORTOGONALI
ALGORITMO DI GAUSS CON PIVOTING
Ax = b PAx = Pb LUx = Pb Ly = Pb Ux = y
[ PA = LU ] PARZIALE n2/2
[ PAQ = LU ] TOTALE n3/3
NORME
VETTORIALI
|| . || è una norma che soddisfa le proprietà: ||k * x|| = |k| * ||x|| ||x + y|| ≤ ||x|| + ||y||
- Norma ∞ : ||x||∞ = max |xi| i = 1 n
- Norma 1 : ||x||1 = ∑ |xi| i = 1 n
- Norma 2 (Euclidea) : ||x||2 = √ (∑ xi2) i = 1 n
NORME MATRICIALI
Proprietà:
- Norma ∞ : ||A||∞ = max ∑ |ai,j| i = 1 n j = 1 m
- Norma 1 : ||A||1 = max ∑ |ai,j| j = 1 n
- Norma 2 (Euclidea) : ||A||2 = √ (ρ(ATA))
- Norma di Frobenius : ||A||F = √ (∑ ∑ |ai,j|2 i=1 n j=1 m)
Teorema di Fattorizzazione di Cholesky
Una matrice simmetrica A ∈ ℝnxn è definita positiva se e solo se esiste una matrice triangolare inferiore R con elementi diagonali positivi tale che A = R RT
Dimostrazione 1: Ipotesi A s.d.p.
A = L D LT e D > 0
Sia x ≠ 0 e y = D1/2. Siccome L è nonsingolare, y ≠ 0.
Sostituendo, yT D y > 0 se e solo se A è definita positiva, ossia yT D y = xT A x.
La tesi si ottiene ponendo R = L D1/2, dove A è la matrice diagonale con elementi √dii.
Dimostrazione 2: Ipotesi A = R RT
xT A x = xT R RT x = ||RT x||2
Dalle proprietà delle norme segue che xT A x ≥ 0 per ogni x ∈ ℝn se e solo se y = RT x = 0. Siccome RT ha diagonale positivi, in particolare è nonsingolare e RT x = 0 implica x = 0. Abbiamo quindi dimostrato che A è definita positiva.
Algoritmo di Fattorizzazione di Cholesky
A = L D LT = R RT
Indichiamo con rij gli elementi di R. Dal teorema sappiamo che R = L Δ, che significa
- rkk = √dkk, rkj = lkj √djj/ √dkk, j = 1,...,k-1
Utilizziamo le regole di pavimentazione della fattorizzazione L D LT per ottenere l’algoritmo Cholesky, sostituendo le relazioni precedenti.
for k = 1,...,n
- dkk = akk - ∑j=1k-1 l2 kj djj
- for i = k+1,...,n
- lik = (aik - ∑j=1k-1 lij lkj djj)/dkk
- for k = 1,...,n
- dkk = (akk - ∑j=1k-1 l2 kj djj) / √rkk
dkk = (aik - ∑j=1k-1 lij lkj djj)/rkk
Complessità computazionale: O(n3) a cui si aggiungono n estrazioni di radice quadrata.