











Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Panoramica dettagliata dei concetti fondamentali dell'analisi numerica, con focus sulla rappresentazione dei numeri in virgola mobile e sugli algoritmi per la risoluzione di problemi numerici. Si esaminano problema e algoritmo, costo computazionale, floating point e operazioni di macchina, inclusa la cancellazione numerica. Esempi pratici e spiegazioni chiare facilitano la comprensione. Trattati condizionamento dei problemi, soluzione di sistemi diagonali e triangolari, e fattorizzazione LU e di Cholesky, fornendo un quadro completo delle tecniche. L'obiettivo è fornire una guida per studenti e professionisti interessati all'analisi numerica e alle sue applicazioni pratiche.
Tipologia: Appunti
1 / 19
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!












di PROBLEMA
= una relazione funzionale
tra dei dati (imput)
e dei
risultati
(output)
=>
può
essere
formulato
im modo
·
ESPLICITO--y
=
f(x)
con
fi
problema , X
=
imput , y-output
·
implicito-f(x
, y)
= 0 (mom
per
trovare la soluzione)
:
· Dati Xz e X
trova
y
y
= Xe
xc (problema esplicito
:
ziome tra output
a imputt)
· Dati La. Ca , Ca , Ca trova
Ja
, ya
tali che
S
(1yz
= 5
(3y)
(nyz
=
limplicito
si può
risolvere sempre) (
=
Sequenza finita
di operazioni per risolvere un problema
:
,
calcolare la somma dei primi
ALLORITMO 1
: li sommo
fare
operazioni
(il costo computazionale
cresce
:
=
2
3 operazioni
↓
perché
è
più
veloce (ogni algoritmo
di operazioni
COMPUTAZIONALE di un
algoritmo
numero di operazioni
richieste
=> il numero più piccolo
10 ,
. N
DEF : si
Regione Di UNDERFLOW : (-m , m)
Im un
algoritmo
, voglio
evitare ad
ogni passaggio
di dover rappresentare numeri in
underflow
·
t
Le U , qual
è il Più GRANDE numero rappresentabile
=> il numero più grande
= 0 , IN-1)(N-1) (N-1) ... (N-1)
. Nu
: si chiama REGIONE DI OVERFLOW
: (- ,
=> tutti i numeri più grandi
di M sono rappresentati come infinito
, tutti quelli più
di
sono rappresentati
come zero
"TO EVEN
più
di t cifre
di mantissa viene arrotondato al numero di macchina più
vicino .
un numero è esattamente a metà tra due numeri di macchina ,
lo arrotondo al numero
com ultima
cifra pari
esempi
com
= 10 ,
4 ,
L = - 10 ,
10
· d = 0 .
37451 . 10
°
non è un numero di macchina
=> i= 0 .
0 . 3745 d b 0 . 3746
p p p 8
O · b = 0 . 37455
. 10 è il
medio tra 0 . 3745 e 0 . 3746
=> b = 0 .
3746
. 100
· c = 0 . 37445
. 10
%
=> i = 0 , 3744
. 709
Def : La Differenza Assoluta tra due numeri a e l
Se considero uno dei due
"esatto" allora la chiamo Errore Assoluto (differenza
im valore assoluto tra um numero
giusto
e una
considero sbagliato)
DEF : LaDifferenza tra a e l RELATIVA ad a è la-b)//al
. Se considero a "esatto"
L'ERRORE RELATIVO è la-bl/lal (differenza
relativizzata
per
la quantità esatta)
=> indicazione
più
realistica
esempi
:
·
Devo produrre
un
di 2 cm ,
lo produco
di 1 .
02 m
=> errore assoluto = 1 m ( ,
02
=> errore relativo =
02 m
= 50 (senza
unità di misura
· Devo produrre
un'autostrada di 20 km ,
la
faccio
di 20001m
=> errore assoluto : 1m (
= errore relativo
=
m
= 5 .
. 10-3 % di errore
= 0 . 005 % di errore
e
numeri di macchina com t
cifre
e
, supponiamo
siamo
consecutivi
= (
, 21a2 ... at
.
aadz ... (dt
la loro
differenza
è :
1 1
= 0 , 000 ... 02
·
=
La differenza Assoluta Tra due Numeri di MACCHINA CONSECUTIVI è N9-t
rispetto
ad a e
Nat com
NN
Pa
=>
N
. N = Na = EPSILON Di
relativa
tra due mumeri di
Dato un numero a nom di macchina , siano
·
Is Iz
Supponiamo
,
allora l'ERRORE DI ARROTONDAMENTO e
la
Na
PRECISIONE
2
Id
= massimo errore di arrotondamento
Lo standard
prevede
un numero
floating point
(double) occupa
:
· 1 bit di
segno
·
52
, che
53 (il
1 perché
deve essere
· 11 bit per l'esponente
: numeri fino
a
=
:
differenza
è dell'ordine della
di macchina
%
)
Le operazioni
dell'operazione
Se a
,
chiamo
il suo
(SOMMA DI MACCHINA)
= (
ogni passaggio)
a
a
a
5
a b
=
ESEMPIO com
= 10 , t = 4
· Sz = S
·
=
·
·
pa pa
prp
(almeno uno dei due deve essere
da arrotondare)
ESEMPIO
:
,
d , calcolare
y
=#d
=> casi di cancellazione numerica :
·
=
differenza fra
numeri
uguali
chiedo se
riscriverla (
=> si può
eliminare la cancellazione numerica com la razionalizzazione
g
=
= x
0
Uf + +red
VX
·
= la cancellazione mon è eliminabile
ESEMPIO :
Lime
cancellazione a numeratore si può
risolvere usando la serie di
Taylor
:
e
=
( 1
x
x
=
(
x43!
=>
posso sempre far
in modo che il resto
~
sex
= 10
x ( !
xS/ ! + x6/6!
o(x) -> (
= 20
=> il
mon potrebbe
vedere altri contributi
=>
e
x
x
/
x45!
1
= +
5 X
DEF: Sia
f(x
, y)
= o un problema
da risolvere .
è
un numero
K(f
, x) (com x
= dati di imput
del problema) ,
tale che , se
sono i dati
approssimati
e
j
i risultati approssimati
=>
ly-j1k(f
, x)
sei dati controlla l'errore sui risultati ma il
/
| x |
fattore
K che gli permette
essere molto
grande)
R(f
. X) è
grande
,
il
problema
è
CONDIZIONATO
R(f
. x)
ESEMPIO
del
problema y
= xa
Xz
e n le
approssimazioni
di xa e X2 e sia y
la loro somma
=>
(
= (x
x2-
=
1x
xz) (xy
X2) (x
xz)
= (xa
(x2) . (x
(x
xz)(xy + x2) (xa
xe) | xz)
(
=> K = maxal
e
(x
X2)
p se Xa-Xz quindi per
: Un
algoritmo
si dice STABILE se l'errore relativo tra il risultato dell'algoritmo
e quello
esatto
misurare la distanza su una
griglia ortogonale
E
misura la
lunghezza
se
potessi
muovermi sole
angolo
retto
(NORMA
MATRICE)
:
Il All
=
max IlAx/
"Quanto cambia X se
gli
applico
xE
M
Il X
oss : Dato XER e At Rmim
IIAx/ a
FATTORE DI AMPLIFICAZIONE
Atm beRe XeRh T . c . Ax = 3
siamo
,
beRe FER" +. c .: = 5
Supponiamo
· det A
0
·
= 1
piccola perturbazione
allora
=
--
11z)
11x1) I
Il Alla
CONDIZIONAMENTO
K(A
. b)
= 2lIAllalIA-1lla mon dipende
del termine moto
Di AERMIM NON SINGOLARE
Ra(A) = 11 AllallA
=
può
dimostrare che
= max
xEm II X
-mat
li
= ma
la
dipende dagli
= as b =
I
:
=> det(A) =
=> Il
= max
22 im
=> A 1 = 1/as
2/am
=> IIA
=ma
Maili
malail
mim
=> KO(A)
se
quasi singulare
= ass ,
azz
amm bm
com air o
(rango
massimo
. c . Ax
= b
X
=
Ass
=> Xi
= bi dii Fi = 1 , ...,
m
=> imput
: A .
b
for
i
= 1 , ..., m
=> costo computazionale = me
= m
Rea Gaz ass-- - aam triangolare
ba
Q2z Q ... azm
i
O
amm bm
:
= b
= det (A) =
=> Xm = bm amm
m- (pemultima equazione)
: Amm Xm-a Ammin
= bm - 1
elimino a 31
mar
= &31/ 2
> R
> b3-
ERs 22 0
elimino
·
3
a M
= asz/azz
"
020
00-5/
②
generalizzando
elimino aij
mij
=
air/ajj
Ri-Mijkj
generale
(GAUSS)
:
ogni
righe
la
diagonale
per ogni
elemento sotto la
diagonale
ciclo per modificare
la
riga
=> for
= 1
m
for
k
1 , ..., m(z)
% elimino l'elemento aik
Air
for j
= 1
...,
m
aij
=
dij - Mir Akj
% ri
= ri
oss
: siccome
gli
zeri sono preservati ,
in realtà il ciclo può partire
com
j
= i
1
for
j
= i + 2 ....,
m
aij
=
aij-mir
air
4
. devo
fare
la stessa
operazione
per
i
=> bi
= bi-Mirbr
PROBLEMA
:
arr potrebbe
essere mullo o molto piccolo
"Overflow
=> si devomo
fare degli
scambi di
righe
,
mon mettere zeri sulla
diagonale
:
:
ad
ogni
nuovo valore di K ,
invece di scorrere subito le
righe
,
scambio
riga
com la
riga
valore più grande possibile (in
valore assoluto)
sulla colomma K
ESEMPIO
supponiamo
= 2 e
=>
per procedere
com Gauss
riga
:
356
Quindi
:
for
= 1 : m
viga
Tale che laIr)
=
max
il
rigas
com
riga
/scambio Termine moto
com
for
k + 1 : m
Miss
= dik/avr
Vi
= V:
= bi-Mirbr
com questa strategia
si può
avr to ogni
mir
, applichiamo
il metodo di
Gauss
e salviamo i coefficienti
mir in una matrice
Triangolare
inferiore
:
=
M2s I
Msa M 1
Mus muz Mus 1
triangolare superiore
che
ottengo applicando fauss
.
Allora
si può
:
LU = A(P) (permutata)
dove ASPI è una permutazione
di A
righe
: una MATRICE Di
è una permutazione
1 0 0
0 10 789
Allora :
Data A .
1 . Calcolo P .
,
Tale che PA =U
operazioni
Ricordiamo :
una permutazione
delle
righe
triangolare inferiore
com diagonale
U è
triangolare
superiore
2 .
= (U => det (PA)
= det ((u)
=> det(P) det(A)
= Get(1) det (n)
=> det (A)
(1)
(U) com det (1)
= 1
det (P)
det(P)
=
se durante
lauss
scambio
righe
,
=
(-1)s
was
=
i
Umm
=>
(A)
=
(-1)sii
=> il costo totale è 0() e
finita dipende
dae
Se A è simmetrica
definita positiva
:
Cholesky
= RTR
(A)
=
(RT)
[det (R)]
=
(vii)
<
=> costo totale 0() e
dipende
dal condizionamento
o
sistemi Lineari con
del
Coefficienti
A-Rmm e
berm com i = 1 , ..., p
Voglio
trovare XER
. c . Axi =
La
strategia
ottima è :
: PA = (U = 0() operazioni
= 1 , .... p ,
risolvo
= bli) usando solo
, L .
U :
Pbli) (cioè scambio le equazioni
, definisco y(i)
= Ux(i)
=>
(y(i)
= Pb(i) >
y'il
com sostituzione in avanti perché
è tr info
S Ux(i) =
g(i)
[
>
com sost . all'indietro = 0() operazioni
=>
: 0 ( E )
pO(m2)
NB : se fossi ripartito
tutte le volte applicando Gauss
a Ax(i)
=
=> il costo e pO(E)
Esempio p
. 75
ppt
. Sistemi lineari
CASO PARTICOLARE
:
Se A è simm . def
.
pos ,
=
=
RTg(i)
= p(i)
=
y(i)
Data At
M. m
,
.
L U +. c .
=
< 0()
2
2
sp
=> come calcolo U-1?
So che UU-
=
[ ... Um]
: I
I I
= ei (e)
com l'a in posizione
i (colomme matrice identità)
=> costo
:
ogni
sistema costa /)
perché
è triangolate
=> devo risolvere m sistemi : 0(E)
calcolare - ,
com matrice Le termine mote :
> 0(m)
=> costo del calcolo dell' inversa e 0 (3)
inoltre l'errore dipende
dal CONDIZIONAMENTO
In
generale
def positiva ,
=
0() operazioni
=>
(RT)
= 1 =
3(R
7)T
Calcolo l'inversa di R come per
:
(
) operazioni
= o(b
m)
= 0(u3)
: Data A mim
,
min qualsiasi
. Allora
=
com
ortogonale
(a
triangolare superiore (rij
= 0 sei zj)
m -n :
O
·
man
=
11Ay
=
(Ay
b)T(Ay
Data la
fattorizzazione
=
,
mi ricordo che QTQ = I
llAy-bl
=
(Ay-b)
QQT(Ay
=
(Q
(Ay
b))
(a
(Ay
= (lQT (Ay
=
= IlQ
Ay-
QTb
=>
llAy-
bliz
=
llRy
Per
IlRy-QTbl , definisco
=
Ry
=
r Ya Ry Innumeri
:
= Im-mzeri
i
Siamo Cara ,
=Re
Cz
Allora
Ry-c
=
Ey-Ca
eRm
llRy-CIl
=
ll Ey-call
Il-cell
of
Tale che lly-call
i
= o?
Lo
posso fare
solo se Ry-Ca
= 0 Es
Ry
=
Si perché rango
è massimo quindi
R è nom
singolare
=>
= Ca
ll Ax-blI
=
Cell
=
MiM
llAy-bl