Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Rappresentazione Floating-Point, Numeri di Macchina e Interpolazione, Appunti di Algebra Lineare e Geometria Analitica

Appunti di Calcolo Numerico. Errori e Approssimazioni, Sistemi Lineari, Autovalori e Autovettori

Tipologia: Appunti

2019/2020

Caricato il 27/02/2020

matteo-serain
matteo-serain 🇮🇹

1 documento

1 / 11

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
RAPPRESENTAZIONE FLOATING-POINT: Numero reale a la seguente rappresentazione a = (−1)s pNq,
con s {0,1}, p ≥ 0 reale, q intero ove N rappresenta la base del sistema di numerazione.
Se N = 10 il sistema di numerazione si dice decimale, se N = 2 il sistema si dice binario.
La rappresentazione floating-point del numero reale a si dice normalizzata se p soddisfa la condizione
N−1 ≤ p < 1
In tal caso, p e q sono univocamente determinati e:
il numero reale non negativo p si definisce mantissa di a
l’intero q si definisce esponente oppure caratteristica di a.
NUMERI DI MACCHINA: Numeri con mantissa ed esponente esattamente rappresentabili negli spazi a loro
riservati dal calcolatore.
REGIONE DI UNDERFLOW: L’insieme dei numeri reali diversi da zero e appartenenti a (−m, m).
REGIONE DI OVERFLOW: L’insieme dei numeri appartenenti a (−∞, −M) (M, +∞).
TECNICA DI ARROTONDAMENTO “ROUNDING TO EVEN”: La mantissa p viene approssimata con la mantissa
di macchina p¯ più vicina e se p è equidistante da due mantisse di macchina consecutive allora p viene
approssimata con quella delle due che ha l’ultima cifra pari.
Sia x¯ un’approssimazione del numero x. Si definisce errore assoluto associato a x¯ la quantità ea = |x − x¯|
ed errore relativo la quantità er = |x − x¯|/|x| con x ≠ 0.
ERRORE DI ARROTONDAMENTO: L’errore che si commette quando si sostituisce il numero reale con il
corrispondente numero di macchina a¯.
EPSILON DI MACCHINA: La quantità eps = N1−t
PRECISIONE DI MACCHINA: La quantità εm = 1/2 N1−t
Possiamo scrivere il numero macchina come a¯ = a(1 + ε) con |ε| ≤ εm
OPERAZIONE DI MACCHINA: Associa a due numeri di macchina un terzo numero di macchina, ottenuto
arrotondando l’esatto risultato dell’operazione in questione.
In questo caso avremo a1¯+a2¯ = (a1¯+a2¯) ¯ = (a1¯+a2¯)*(1+ ε+)
Per le operazioni di macchina rimane valida la proprietà commutativa, ma non valgono in generale le
proprietà associativa e distributiva.
EQUIVALENTI NELL’ARITMETICA DEL CALCOLATORE: Quando due espressioni/quantità e1 ed e2, valutate nel
calcolatore stesso, forniscono risultati che differiscono per una tolleranza relativa dell’ordine della
precisione di macchina εm o minore, cioè quando |e¯1 − e¯2| |e¯1| oppure |e¯1 − e¯2| |e¯2| è dell’ordine
della precisione di macchina εm o minore
Aritmeti
ca ed
Errori
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica Rappresentazione Floating-Point, Numeri di Macchina e Interpolazione e più Appunti in PDF di Algebra Lineare e Geometria Analitica solo su Docsity!

RAPPRESENTAZIONE FLOATING-POINT: Numero reale a la seguente rappresentazione a = (−1)s^ pNq, con s ∈ {0,1}, p ≥ 0 reale, q intero ove N rappresenta la base del sistema di numerazione. Se N = 10 il sistema di numerazione si dice decimale, se N = 2 il sistema si dice binario. La rappresentazione floating-point del numero reale a si dice normalizzata se p soddisfa la condizione

N

≤ p < 1

In tal caso, p e q sono univocamente determinati e:  il numero reale non negativo p si definisce mantissa di a  l’intero q si definisce esponente oppure caratteristica di a. NUMERI DI MACCHINA: Numeri con mantissa ed esponente esattamente rappresentabili negli spazi a loro riservati dal calcolatore. REGIONE DI UNDERFLOW: L’insieme dei numeri reali diversi da zero e appartenenti a (−m, m). REGIONE DI OVERFLOW: L’insieme dei numeri appartenenti a (−∞, −M) ∪ (M, +∞). TECNICA DI ARROTONDAMENTO “ROUNDING TO EVEN”: La mantissa p viene approssimata con la mantissa di macchina p¯ più vicina e se p è equidistante da due mantisse di macchina consecutive allora p viene approssimata con quella delle due che ha l’ultima cifra pari. Sia x¯ un’approssimazione del numero x. Si definisce errore assoluto associato a x¯ la quantità ea = |x − x¯| ed errore relativo la quantità er = |x − x¯|/|x| con x ≠ 0. ERRORE DI ARROTONDAMENTO: L’errore che si commette quando si sostituisce il numero reale con il corrispondente numero di macchina a¯. EPSILON DI MACCHINA: La quantità eps = N1−t PRECISIONE DI MACCHINA: La quantità εm = 1/2 N1−t Possiamo scrivere il numero macchina come a¯ = a(1 + ε) con |ε| ≤ εm OPERAZIONE DI MACCHINA: Associa a due numeri di macchina un terzo numero di macchina, ottenuto arrotondando l’esatto risultato dell’operazione in questione. In questo caso avremo a 1 ¯+a 2 ¯ = (a 1 ¯+a 2 ¯) ¯ = (a 1 ¯+a 2 ¯)*(1+ ε+) Per le operazioni di macchina rimane valida la proprietà commutativa, ma non valgono in generale le proprietà associativa e distributiva. EQUIVALENTI NELL’ARITMETICA DEL CALCOLATORE: Quando due espressioni/quantità e 1 ed e 2 , valutate nel calcolatore stesso, forniscono risultati che differiscono per una tolleranza relativa dell’ordine della precisione di macchina εm o minore, cioè quando |e¯1 − e¯2| |e¯1| oppure |e¯1 − e¯2| |e¯2| è dell’ordine della precisione di macchina εm o minore

Aritmeti

ca ed

Errori

CANCELLAZIONE NUMERICA: Consiste in una perdita di cifre della mantissa e si verifica quando si esegue l’operazione di sottrazione fra due rappresentazioni di macchina ¯a1 e ¯a2 dello stesso segno, circa uguali e almeno uno delle quali sia affetta dall’errore di arrotondamento, ossia quando  s 1 = s 2  q 1 = q 2  p¯ 1 ≈ p¯ 2  p¯ 1 ≠ p 1 e/o p¯ 2 ≠ p 2 Un problema numerico si dice BEN CONDIZIONATO se accade che l’errore relativo associato a y è dello stesso ordine di grandezza dell’errore relativo associato a x¯ o minore; altrimenti, si dice MAL CONDIZIONATO. Pertanto, un problema è ben condizionato quando le perturbazioni nei dati non influenzano eccessivamente i risultati. NUMERO DI CONDIZIONAMENTO: Del problema il più piccolo valore di K(f,x) per cui vale la suddetta disuguaglianza.

|y − y¯|/|y| ≤ K(f , x) |x − x¯|/|x|

Approssimare una funzione f(x), nota in forma analitica, significa sostituirla con una funzione f˜ che le sia “vicina” in qualche senso e abbia una forma più semplice (per esempio polinomiale) su cui si possa facilmente operare. Approssimare un insieme di dati (xi ,yi) (ove per esempio, yi = f (xi) e f non è nota esplicitamente) significa determinare una funzione f˜ che abbia un andamento analogo a quello dei dati (o della funzione che ha generato i suddetti dati). CRITERIO DELL’INTERPOLAZIONE: Consiste nello scegliere, come approssimante dei dati (xi,yi), i = 1,.. .,n+1, una funzione f˜(x) soddisfacente le seguenti condizioni:  f˜(xi) = yi  i = 1,... , n + 1 che impongono il passaggio di f˜ per i punti (xi ,yi) Le suddette equazioni sono dette condizioni di interpolazione e i punti xi sono detti nodi di interpolazione; inoltre, si dice che f˜ interpola i dati (xi,yi) oppure, se yi = f (xi), interpola la funzione f nei punti xi.

Approssimazione di funzioni e di dati

FUNZIONE POLINOMIALE A TRATTI: Funzione di grado d associata a una partizione dell’intervallo [a,b], una funzione continua in [a,b] e definita da un’unione di tratti contigui di polinomi algebrici diversi, ciascuno di grado d. Sia a ≡ x 1 < x 2 < ... < xn+1 ≡ b, una partizione dell’intervallo [a,b] e yi = f(xi). Si definisce SPLINE DI ORDINE D’INTERPOLANTE f nei nodi assegnati xi, una funzione Sd(x) soddisfacente le seguenti condizioni:  Sd(x) è un polinomio di grado (al più) d per x ∈ [xi , xi+1], i = 1,... , n;  La derivata Sd(k)(x) di ordine k di Sd(x) è una funzione continua in [a,b] per k = 0, 1, ... , d − 1;  Sd(xi) = yi, i = 1,... , n + 1; La spline S 1 (x) di ordine 1 e interpolante f nei punti xi , i = 1,... , n + 1 ha la seguente espressione: S 1 (x) = f(xi) + (f(xi+1) − f(xi))/ (xi+1 − xi) (x − xi) con x ∈ [xi , xi+1] TEOREMA: Data una partizione a ≡ x1 < x2 <... < xn+1 ≡ b, sia S 1 la spline interpolante una funzione f ∈ C^2 ([a, b]) nei nodi della partizione xi , i = 1,... , n + 1. Denotato con h = max1≤i≤n(xi+1 − xi), allora:  ||f − S1||∞ = O(h^2 ) con h → 0 Si definiscono NATURALI le spline cubiche soddisfacenti le condizioni:  S 3 (x) = aix^3 + bix^2 + cix + di x ∈ [xi , xi+1] con i = 1,... , n  n + 1 condizioni di interpolazione nei nodi x 1 , ..., xn+  S 3 (x1) = 0 e S 3 (xn+1) = 0 Si definiscono “NOT-A-KNOT” le spline cubiche soddisfacenti le condizioni:  S 3 (x) = aix^3 + bix^2 + cix + di x ∈ [xi , xi+1] con i = 1,... , n  n + 1 condizioni di interpolazione nei nodi x 1 , ..., xn+  S 3 è continua in x 2 e in xn Si definiscono VINCOLATE le spline cubiche soddisfacenti le condizioni:  S 3 (x) = aix^3 + bix^2 + cix + di x ∈ [xi , xi+1] con i = 1,... , n  n + 1 condizioni di interpolazione nei nodi x 1 , ..., xn+  S 3 (x 1 ) = f’(x 1 ) e S^3 (xn+1) = f’(xn+1) TEOREMA: Sia S3(x) la spline cubica interpolante i dati (xi ,f(xi)) con a ≤ xi ≤ b e soddisfacente le condizioni aggiuntive 1), oppure 2), oppure 3). Denotato con hi = xi+1 − xi e h = max 1 ≤i≤nhi, se f ∈ C^2 ([a, b]) allora:  ||f − S 3 ||∞ = O(h^2 ), h → 0 Inoltre, nel caso delle condizioni aggiuntive 2) oppure 3), se f ∈ C^4 ([a, b]) e se h/hi ≤ γ < ∞ per h → 0, si ha:  ||f(p) − S(p) 3 ||∞ = O(h4−p) con h → 0, p = 0, 1, 2, 3 E’ noto che non sempre si riesce a calcolare analiticamente un integrale. Questo, per esempio, il caso dell’integrale che definisce la funzione degli errori erf(x) = 2/√ππ*∫ e−t2^ dt (integrando tra 0 e x) che

interviene spesso nel calcolo delle probabilità, nella statistica e nelle equazioni differenziali alle derivate parziali. Sia x = (x 1 ,...,xn)T^ ∈ Rn^ un vettore colonna. Nel seguito verranno considerate le seguenti norme di vettore:  ||x|| 1 = ∑n^ |xi|;  ||x|| 2 = √π* x^2 i = √π*xTx; norma euclidea  ||x||∞ = max (^1) ≤i≤n|xi|. Sia A = (aij)i,j=1,...,n ∈ Rn,n^ una matrice quadrata di ordine n. Nella trattazione dei sistemi lineari verranno utilizzate le seguenti norme di matrice:  ||A|| 1 = max (^) 1≤j≤n ∑n|aij|;  ||A||∞ = max (^) 1≤i≤n ∑n|aij| (||A||∞ = ||AT|| 1 ). La norma 2 di matrice ||A|| 2 , detta norma spettrale, verrà definita in seguito. Date una norma di matrice e una di vettore, si dice che le due NORME sono COMPATIBILI se:  ||Ax||≤||A||||x|| per ogni A ∈ Rn,n^ e per ogni x ∈ Rn. Le norme 1 e infinito precedentemente definite per vettori e per matrici sono compatibili (come pure la norma 2). Per le suddette norme valgono le seguenti proprietà:  ||AB||≤||A||||B||;  ||I|| = 1 con I matrice identità.

Sistemi

Lineari

Una matrice A si dice a DIAGONALE DOMINANTE PER RIGHE se:  |aii| > ∑n^ |aij| per i = 1,...,n con j = 1 e j ≠ i Una matrice A si dice a DIAGONALE DOMINANTE PER COLONNE se:  |ajj| > ∑n^ |aij| per j = 1,...,n con i = 1 e i ≠ j Una matrice simmetrica A si dice definita positiva se:  xTAx > 0 per ogni x ≠ 0. Si assuma che il sistema assegnato abbia una e una sola soluzione; in tal caso, la matrice A si dice non singolare. Se ||A − A¯|| < 1/(2||A−1||), il sistema A¯ x¯ = b¯ ammette una e una sola soluzione e:  ||x − x¯ ||/||x|| ≤ 2K(A)(||A − A¯ ||/||A|| + ||b − b¯||/||b||) ove K(A) = ||A||/||A−1|| viene definito numero di condizionamento del sistema lineare Ax = b. Si osservi che:  K(A) = ||A||||A−1||≥||AA−1|| = ||I|| = 1 Pertanto:  se K(A) ≈ 1, la matrice A è detta ben condizionata e a piccole perturbazioni sui dati corrispondono perturbazioni sulla soluzione al più dello stesso ordine di grandezza di quelle sui dati;  se K(A) >> 1, la matrice si dice mal condizionata e a piccole perturbazioni sui dati possono corrispondere grandi perturbazioni sulla soluzione. Possiamo definire due matrici speciali (ove xi ≠ xj per i ≠ j): MATRICE DI HILBERT: Hn= MATRICE DI VANDERMONDE: Vn= Entrambe queste due matrici speciali, sono mal condizionate.

Risoluzione dei sistemi lineari:

  1. Se la matrice dei coefficienti A è diagonale, con aii ≠ 0, i = 1,...,n, la soluzione del sistema lineare: A = si ricava immediatamente mediante le seguenti n divisioni: xi = bi / aii con i = 1,...,n
  2. Se la matrice dei coefficienti A è triangolare superiore, con aii ≠ 0, i = 1,...,n, la soluzione del sistema lineare: A = si ottiene ricavando l’incognita xn dall’ultima equazione, xn−1 dalla penultima equazione (dopo aver sostituito in essa il valore di xn),..., x 1 dalla prima (dopo aver sostituito in essa i valori di x 2 ,...,xn): xn = bn / ann xn−1 = (bn−1 − an−1nxn) / an−1n−1... Tale procedura `e nota con il nome di metodo di sostituzione all’indietro.
  3. Se la matrice dei coefficienti A è triangolare inferiore, con aii ≠ 0, i = 1,...,n, la soluzione del sistema lineare: A = si ottiene ricavando l’incognita x 1 dalla prima equazione, x 2 dalla seconda equazione (dopo aver sostituito in essa il valore di x 1 ),..., xn dall’ultima (dopo aver sostituito in essa i valori di x 1 ,...,xn-1): x 1 = b 1 / a 11 x 2 = (b 2 – a 21 x 1 ) / a 22... Tale procedura `e nota con il nome di metodo di sostituzione in avanti. Se la matrice dei coefficienti A non ha una struttura particolare, per risolvere il sistema lineare Ax = b di ordine n, si può utilizzare il METODO DELLE ELIMINAZIONI DI GAUSS. Il metodo delle eliminazioni di Gauss consta essenzialmente di due fasi:  Trasformazione, in n−1 passi, del sistema assegnato Ax = b nel sistema Ux = b¯ equivalente a quello assegnato (ovvero che ammette la stessa soluzione x), con U matrice triangolare superiore;  Risoluzione del sistema Ux = b¯ mediante la tecnica di sostituzione all’indietro. Il metodo di Gauss si basa sulle seguenti proprietà dei sistemi lineari:  la soluzione rimane invariata se si scambiano tra loro due equazioni del sistema;  la soluzione rimane invariata se si sostituisce a un’equazione del sistema una combinazione lineare dell’equazione stessa con un’altra.
  1. In Matlab l’implementazione del sistema floating point prevede la base N = 2 (la tecnica di arrotondamento precedentemente descritta e 64 bit per la rappresentazione di un numero macchina) di cui:  1 bit per rappresentare il segno della mantissa;  52 bit per rappresentare le cifre della mantissa p (in realtà i bit per la mantissa sono 53, in quanto non si rappresenta il primo bit, che è certamente 1);  11 bit per rappresentare l’esponente q.
  2. In Matlab sono predefiniti i seguenti valori:  Realmin: fornisce il valore del più piccolo numero di macchina positivo e non nullo m ≈ 2.2 · 10−308;  Realmax: fornisce il valore del più grande numero di macchina M ≈ 1.8 · 10308;  Eps: fornisce il valore dell’epsilon di macchina eps ≈ 2.2 · 10−16 (la precisione di macchina è dunque εm ≈ 1.1 · 10−16).
  3. c = polyfit(x,y,n): Calcola e memorizza in c, i coefficienti della rappresentazione monomiale del polinomio di grado n  pn(x) = c(1)xn^ + c(2)xn−1^ + ... + c(n)x + c(n + 1), interpolante i dati (xi,yi), i = 1,... , n + 1, le cui ascisse xi e ordinate yi sono memorizzate nei vettori x e y, rispettivamente.
  4. p = polyval(c,z): Calcola e memorizza nel vettore p, i valori che un qualsiasi polinomio  pn(x) = c(1)xn^ + c(2)xn−1^ +... + c(n)x + c(n + 1), i cui coefficienti sono memorizzati in c, assume nelle componenti del vettore z.
  5. s = interp1(x,y,z): Calcola e memorizza in s i valori che la spline lineare interpolante i dati (xi ,yi) con i = 1,... , n + 1, assume in z; i valori xi e yi sono memorizzati in x e in y, rispettivamente.
  6. plot(x,y): Con y(i) = f (x(i)) in generale non rappresenta graficamente la funzione f(x) ma una sua approssimante, ovvero la spline S 1 (x) lineare e interpolante f(x) nei nodi x(i), i = 1, ..., n + 1.
  7. s = spline(x,y,z): Calcola e memorizza in s i valori che la spline cubica interpolante i dati (xi,yi), i = 1,...,n + 1 e soddisfacente la condizione 2) “not-a-knot”, assume in z; i valori xi e yi sono memorizzati in x e in y, rispettivamente.
  8. s = spline(x,[yd1 y ydn],z): Calcola e memorizza in s i valori che la spline cubica interpolante i dati (xi,yi), i = 1,...,n + 1 e soddisfacente la condizione 3) (yd1= f’(x 1 ), ydn= f’(xn+1)), assume in z; i valori xi e yi sono memorizzati in x e in y, rispettivamente.

Matlab

  1. t = trapz(x,y): Memorizza in t il valore approssimato dell’integrale mediante la formula dei trapezi, ottenuto cioè calcolando (analiticamente) l’integrale della spline lineare e interpolante i dati (xi,yi), i = 1,...,n; i valori xi e yi sono memorizzati nei vettori x e y, rispettivamente.
  2. r=roots(c): Fornisce in r le radici dell’equazione algebrica i cui coefficienti sono tutti memorizzati in c, a partire dal termine di grado massimo fino a quello di grado zero.
  3. Abbiamo tre tipi di norme di vettori:  norm(x,1): Fornisce la norma 1 del vettore x;  norm(x,2): Oppure norm(x) fornisce la norma 2 del vettore x;  norm(x,inf): Fornisce la norma infinito del vettore x.
  4. Abbiamo due tipi di norme di matrici:  norm(A,1): Fornisce la norma 1 della matrice A;  norm(A,inf): Fornisce la norma infinito della matrice A.
  5. cond(A,1): Fornisce il numero di condizionamento in norma 1 del sistema Ax = b;
  6. cond(A,inf): Fornisce il numero di condizionamento in norma infinito del sistema Ax = b;
  7. hilb(n): Genera la matrice di Hilbert Hn di ordine n;
  8. vander(x): Genera la matrice di Vandermonde Vn associata al vettore x con componenti x 1 ,..., xn+1.