Rappresentazione dei numeri
a = pNq→ intero
reale base
rappresentazione → floating point
esistono diverse
se imponiamo
|p| passa e il segno p: MANTISSA q: CARATTERISTICA 9: ESPONENTE
conosco univocamente e il metodo di memorizzazione
del compilatore
|p| ha un massimo di cifre t
m < 9M il compilatore non memorizza
9 ma 9* = 9 - m
sempre positivo
non deve memorizzare il segno
se |p| ha più di t cifre si utilizzano delle tecniche:
- troncamento: troncamento la mantissa alla t-esima cifra
- arrotondamento: si somma e poi si tronca
Errore assoluto |a - ā|
Errore relativo: |a - ā|/|a|
max: 1/2N-t precisione macchina eps
Ε max: 1/2N-t
il valore approssimato è ō
ā - a/a = Ε ō = a(1+Ε)
|Ε| < eps eps = min{a0: 10-2 Ω 102 Ω 104}
In un calcolatore è possibile eseguire solo operazioni
di macchina
l'operazione agisce tra ā1ō0 ā2 = ō1 . ō2 = (ā1 . ā2)(1 + Ε0)
la precisione di macchina è il minimo Ω
valore di macchina che si
Cancellazione numerica
Si verifica quando si esegue una sottrazione fra due numeri circa uguali.
(a-b)-(a⊖b)10-beps
Il risultati scadente ← perdita di cifre della mantissa
Si devono avere due numeri a e b con a≈b e a≠a e b≠b
Problema numerico
Connessione fra un insieme di dati x (input) e un insieme di dati y (output)
x → y
Per un problema esplicito y=f(x)
Per un problema implicito f(x,y)=0
Condizionamento del problema
Il calcolatore non memorizza i dati x ma x̃ restituendo i valori ỹ
f(x̃)-f(x) / f(x) ≈ K(f,x) ‖x-x̃‖ / ‖x‖
|f(x̃)-f(x)| / |f(x)| ≤ K(f,x) ‖x-x̃‖ / ‖x‖
K: numero di condizionamento
K≈1 → problema ben condizionato
K≫1 → problema potrebbe essere mal condizionato
Si prenda per il seguente problema.
x= x1 + x2,
x̃i = xi(1+εi)
| x1 + x2 - (x̃1 + x̃2) | / x1 + x2
x1 + x2 - x1(1+ε1) - x2(1+ε2)
|=| - x1 ε1 - x2 ε2 | / x1 + x2
≤ | x1ε1 | / x1 + x2 + | x2ε2 | / x1 + x2
Numeri di condizionamento
Algoritmo
serie di operazioni che a portare dai dati arrivia al risultato
portendo da x̄ dopo una serie di operazioni in precisione infinita si arrivia a ȳ, ma in precisione finita si arrivia a y*
se | ȳ - y*| / | y*| ≤ ϵps ⇒ algoritmo stabile
Norma due:
x = (x1, ... xn )T = (xi)
- ||x||2 = √n∑i=1 xi2 = √xTx ⇒ norma euclidea
Norma infinito:
- ||x||∞ = max |xi|
Norme uno:
- ||x||1 = ∑ |xi|
- norma uno ||A||1 = max1≤i≤n ∑ |aij|
Norme di Matrici:
- norma spettrale ||A||2 = √ρ(ATA)
- ρ= raggio spettrale autovalore di modulo massimo
- norma infinito: ||A||∞ = max1≤i≤n ∑ |aij|
Proprietà delle norme:
- ||AB|| ≤ ||A||·||B||
- ||I|| = 1 I: matrice identica
- ||Ax|| = ||A||x||
*Simmetrico definito positivo
- AT=A ⇒ tutti gli autovalori sono strett.positivi
- xTAx > 0
Sistemi lineari
con A non singolare [det(A)≠0] Ax=b
se ||ΔA|| < 1/ ||A-1|| si dimostra che
||x - x̄|| / ||x̄|| ≤ K(A) | ||ΔA||
Se ||ΔA|| < 4/2(||A-1||)
il problema è ben condizionato se k(A) ≈ 1
k(A) = ||A|| ||A-1|| ≥ 1 A:A-1 = I ||I|| = 1
Metodi diretti:
Dato un sistema triangolare superiore: per la risoluzione ho l’algoritmo
In MATLAB:
function
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.