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.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
28.02
aritmetica di precisione finita
ALGORITMO
definizione
- istruzioni chiare (non ambigue)
- algoritmo di base
es: algoritmo della somma di n numeri:
ALGORITMO Dati a1, a2, …, an calcola S = ∑i=1n ai
S = 0Per i = 1, …, nS = S + aiScrivi S
ALGORITMO Dati a1, a2, …, an calcola P = a1a2…an
P = 1P = P * aiALGORITMO Dati a1, a2, …, an calcola M = max di
M = a1Per i = 2, …, nse M < ai allora M = aiapponiamo il valore del massimo
GLI ALGORITMI devono essere generali!
M = 0Per i = 1, …, n
ALGORITMO
Dati A ∈ ℝm×n , x ∈ ℝn
Per i = 1, ..., m
- yi := 0
- Per j = 1, ..., n
- yi := yi + aij · xj
y := (y1, y2, ..., ym)
yi = ∑j=1n aij xj
per i = 1, ..., m
(j invece varia da 1 a n)
ALGORITMO
Dato x calcola ex = ∑k=0∞ xk / k!
exp := 1
k := 1 resto := xk / k!
Fin tanto che |resto| > tol
- while exp := exp + resto
- k := k + 1 resto := xk / k!
(quando |resto| ≤ tol esco) !!
ex = 1 + x + x2 / 2! + x3 / 3! ...
Una norma misura la lunghezza di un vettore
NORME DI VETTORE
Una norma in ℝn è una funzione ‖.‖ che associa ad un vettore x ∈ ℝn, uno scalare ‖x‖ ∈ ℝ ed è tale
- ‖x‖ ≥ 0 se ‖x‖ = 0 se e solo se x = 0
- ‖α x‖ = |α| ‖x‖ ∀α ∈ ℝ
- ‖x + y‖ ≤ ‖x‖ + ‖y‖ ∀x, y ∈ ℝ
diseguaglianza triangolare
Norma P, p ≥ 1, x = (x1, x2, ..., xn) riga o colonna
‖x‖p = (∑i=1n |xi|p)1/p
p = 1 ‖x‖1 = ∑i=1n |xi|
p = 2 ‖x‖2 = √(∑i=1n xi2)
p = ∞ ‖x‖∞ = max |xi| 1≤i≤n
Norme equivalenti
‖x‖∞ ≤ ‖x‖1 ≤ n ‖x‖∞
‖x‖∞ ≤ ‖x‖2 ≤ √n ‖x‖∞
(x = (x1, x2, ..., xn)
x = (2, -3, 0)
‖x‖1 = 2 + 3 = 5
‖x‖2 = √(13), 3.6
‖x‖∞ = 3
Tuttavia nelle situazioni reali conosciamo solo X, non X.
⇒ Volte conoscere X ma ho trovato solo una sua approssimazione X
quindi non posso confrontarlo con quello esatto
Concetto di cifre significative
Definizione: sono le cifre nell'X che sono affidabili.
quando X e X sono espressi in virgola mobile normalizzata e l'errore
e allora X approssima X con cifre significative, ovvero cifre
il calcolatore commette errori e io so lavorare con cui opera
esempio 1 (da esempio precedente)
eR = 7 · 10-5 ≤ 10-4
= 0,58954
esempio 2
X = 10,000
X = 9999
= 10-4
esempio 3
X = 0,42720
eR ≤ 10-2
X = 0,62563
eR = 3,7 · 10-2
Errore relativo e assoluto fra vettori
x, x ∈ X
norma vettoriale
X = ‖‖ → lunghezza della differenza tra i vettori
eR = ‖‖ / ‖‖
1o effetto della precisione finita
non tutti i numeri vengono rappresentati
(ci sono dei limiti)
Spazio finito per la mantissa
intanto so che -(βp-1) ≤ b ≤ βp-1 (no underflow / overflow)
ma se il numero ha bisogno di più di m cifre per la mantissa
0.x ± 0.2d2...dm dm+1 dm+2...βp β m cifre
La macchina memorizza un'approssimazione del numero
si dice FLOATING fl(x)
Regola del troncamento
tolgo le cifre dopo dm
fl(x) = ± 0.2d2...dm βb
Regola dell'arrotondamento
fl(x) = ± 0.2d2...dm βp se dm+1 < β/2
± 0.2d2...dm + 1βb se dm+1 ≥ β/2
{ tiene conto della prossimità del primo numero troncato e "approssima al numero più vicino" }
+-1 e non è il pedice (incremento di un'unità l'ultima cifra)
questi tipi di approssimazioni non vengono segnalati dalla macchina
Precisione di macchina Em
rappresenta quanto è accurata la macchina nella rappresentazione dei numeri
se voglio rappresentare x ma non posso => viene rappresentato fl(x)
x ≠ 0
|x-fl(x)| ERRORE RELATIVO
nel caso migliore
fl(x) = x numero di macchina
non ho errore
|x-fl(x)|/|x| ≤ Em
Em mi dice il massimo errore possibile
{ Em = β1-m regola del troncamento
Em = 1/2 β1-m dell'arrotondamento più accurato
(poiché la limitazione superiore è inefficace (piccola)) }
Em dipende da:
- numero di cifre per la mantissa
- non dipende dall'ordine di grandezza
Proprietà: Stabilità di un algoritmo
Un algoritmo si dice stabile se restituisce risultati accurati nei limiti della precisione di macchina. Instabile altrimenti. Esempio: Em ≅ 10-16 se l'accuratezza dei risultati è compatibile con 10-16
L'algoritmo è stabile perché fa meno calcoli.
- Tra le norme quello che propaga meno errori di arrotondamento è la norma ∞
- ||x||1 = Σ |xi|
- ||x||2 = √Σxi²
- ||x||∞ = max |xi|
Calcolo degli zeri (o radici) di funzioni
f(x) = 0 , f: IR → IR non lineare → non possiamo conoscere le radici con un'espressione in forma chiusa
Metodo: definizione generale
- Sono iterativi → non esistono procedimenti di natura differente
- (Il procedimento fornisce la soluzione al limite punto da cui partire viene scelto con X0 (approssimazione iniziale))
- Viene generata una successione {Xk} detta successione di iterate
- Che sotto opportune ipotesi converge ad uno zero x*; d'altronde ciascun punto di xx
- È detto iterate
lim k→∞ Xk = x*
Iterazione: L'insieme delle istruzioni che consente di passare da Xk a Xk+1 (parto con X0 generato X3 generato Xk)
Metodo di bisezione
Si basa su un Teorema Teorema di esistenza degli zeri per una funzione continua se f ∈ C ([a,b]), [a,b] chiuso e limitato e f(a).f(b) < 0
Allora esiste almeno uno zero di f in [a,b] È molto importante che f sia continua in [a,b]
... la retta tangente è una buona approssimazione solo in quell'intorno.
Il metodo di Newton ha convergenza locale.
Appunti 27.03
Continuo metodo di Newton — metodo di tipo iterativo
Ripasso: Metodo di Newton
lezione precedente
f(x) = 0
x0 dato
xk+1 = xk - f'(xk) / f'(xk) , f'(xk) ≠ 0 , k > 0
se scelgo un punto lontano dallo zero
non possiamo avere una buona approssimazione.
Il metodo è utile se scelgo x0 in modo accurate
la retta è una buona approssimazione
se x0 è vicino allo zero che voglio trovare
— allora la successione converge
Proprietà di convergenza locale
Esempio
arctan(x)=0
Parto da 1
x0 = 1
x1 = - 5.7 · 101
x2 = + 1.7 · 10-1
x3 = - 1.1 · 10-3
x4 = 7.9 · 10-10
i segni si alternano
questa successione sta tendendo allo zero
La convergenza non è sempre garantita
Parto da 2
x0 = 2
x1 = -3.5
x2 = 13.9
x3 = 279.3
x4 = 22202
x5 = -2.3 · 1036
questa successione non sta tendendo a zero ➔ Diverge
siano vicini ad avere una tangente
as se xi ➔ le rette si stanno allontanando dallo zero