Corso di Calcolo Numerico II profAl df.Alessandra d’Al id’Alessio …unina.stidue.net/Calcolo...

40
23/01/2009 1 Corso di Calcolo Numerico II f Al d d’Al i prof.Alessandra d’Alessio Lezioni di Calcolo Numerico e Matlab Ed. Liguori- II edizione Dispense OnLine CALCOLO NUMERICO A.D'ALESSIO 1 Dispense OnLine disciplina disciplina atta atta a risolvere risolvere problemi problemi reali reali col col calcolatore calcolatore obiettivo obiettivo fornire fornire strumenti strumenti software software per per la la risoluzione risoluzione effettiva effettiva di di problemi problemi della della scienza scienza e dalla dalla tecnica tecnica CALCOLO NUMERICO A.D'ALESSIO 2

Transcript of Corso di Calcolo Numerico II profAl df.Alessandra d’Al id’Alessio …unina.stidue.net/Calcolo...

  • 23/01/2009

    1

    Corso di Calcolo Numerico IIf Al d d’Al iprof.Alessandra d’Alessio

    Lezioni di Calcolo Numerico e MatlabEd. Liguori- II edizione

    Dispense OnLine

    CALCOLO NUMERICO A.D'ALESSIO 1

    Dispense OnLine

    disciplinadisciplina attaatta aa risolvererisolvere problemiproblemi realirealicolcol calcolatorecalcolatore

    obiettivoobiettivofornirefornire strumentistrumenti softwaresoftware

    perper lala risoluzionerisoluzione effettivaeffettiva didi problemiproblemidelladella scienzascienza ee dalladalla tecnicatecnica

    CALCOLO NUMERICO A.D'ALESSIO 2

  • 23/01/2009

    2

    svilupposviluppo didi metodimetodi computazionalicomputazionali ee didi algoritmialgoritmiperper lala risoluzionerisoluzione didi problemiproblemi

    neinei piùpiù svariatisvariati campicampi applicativiapplicativi

    CALCOLO NUMERICO A.D'ALESSIO 3

    Fisica Chimica

    Medicina

    Ingegneria Economia

    Scienze della terra

    Calcolo Calcolo NumericoNumerico

    Computer Computer ScienceScience

    CALCOLO SCIENTIFICOCALCOLO SCIENTIFICO

    CALCOLO NUMERICO A.D'ALESSIO 4

    pStrumenti softwaresoftware per la risoluzione effettivala risoluzione effettiva

    di problemi realireali

  • 23/01/2009

    3

    La tecnologia avanzata è tecnologia matematica

    senza il calcolo scientifico moltefunzionalità utilizzate quotidianamente

    non sarebbero disponibili

    CALCOLO NUMERICO A.D'ALESSIO 5

    Modelli di previsioni del tempoModelli epidemiologiciModelli economiciTAC, RNMTAC, RNMComputer GraphicFotografia digitaleMusica digitale:CD,mp3,ipodFilm e tv digitaliTelefonia mobileVolo automaticoCrittografia:bancomat

    CALCOLO NUMERICO A.D'ALESSIO 6

    Crittografia:bancomat,..Indagini statistiche,exit pollInternetModelli finanziari, di codeAnalisi di rischio:assicurazioni

  • 23/01/2009

    4

    Matematica e mondo reale

    CALCOLO NUMERICO A.D'ALESSIO 7

    Studio del vento lungo un tratto di costa

    CALCOLO NUMERICO A.D'ALESSIO 8

  • 23/01/2009

    5

    Calcolo della temperatura e del degassamento di CO2nel cono del Vesuvio

    CALCOLO NUMERICO A.D'ALESSIO 9

    frattali

    CALCOLO NUMERICO A.D'ALESSIO 10

  • 23/01/2009

    6

    calcolo PageRank Google

    CALCOLO NUMERICO A.D'ALESSIO 11

    RisolvereRisolvere unun problemaproblema concon unun CalcolatoreCalcolatore

    CALCOLO NUMERICO A.D'ALESSIO 12

  • 23/01/2009

    7

    Problema reale Problema reale PP

    Modello Matematico Modello Matematico M(P)M(P)Modello Matematico Modello Matematico M(P)M(P)

    Modello Numerico Modello Numerico MN(P)MN(P)

    CALCOLO NUMERICO A.D'ALESSIO 13

    AlgoritmoAlgoritmo SoftwareSoftware

    IndividuareEntità note (dati)Entità incognite (soluzioni)gLeggi di dipendenza tra esse

    CALCOLO NUMERICO A.D'ALESSIO 14

    Attenzione a che il modello sia adeguato

  • 23/01/2009

    8

    di tipo discreto e finitodiscreto e finito

    i dati sono numeri realirealile relazioni matematiche sono

    CALCOLO NUMERICO A.D'ALESSIO 15

    m mun numero finitofinito di operazioni aritmetiche

    RisoluzioneRisoluzione didi MN(P)MN(P) concon unun

    Sequenza Sequenza finitafinita di operazioni che calcolano a partire dai dati di input i dati di output

    E d ll’ l i

    CALCOLO NUMERICO A.D'ALESSIO 16

    Esecutore dell’algoritmosistema aritmetico a precisione

    finita di un elaboratore

  • 23/01/2009

    9

    Implementazione dell’algoritmo in

    uno specifico linguaggio di programmazione

    uno specifico ambiente di elaborazione

    p g

    influenza di

    CALCOLO NUMERICO A.D'ALESSIO 17

    sistema aritmeticocompilatoresistema operativogestione memoria

    Soluzione del problema P

    Risultato dell’esecuzione del softwarein uno

    specifico ambiente di elaborazione

    CALCOLO NUMERICO A.D'ALESSIO 18

  • 23/01/2009

    10

    Problema reale Problema reale P :P :Previsioni Metereologiche

    Previsioni del tempo per le successive 72hpartendo dai rilevamenti attuali

    (migliaia di osservazioni metereologiche)

    V i bili d l l i t t t Variabili da calcolare:pressione,vento,temperatura, umidità, nuvolosità,….

    CALCOLO NUMERICO A.D'ALESSIO 19

    Modello Matematico(semplificato) :sistema di PDE

    Modello Numerico: discretizzazione

    CALCOLO NUMERICO A.D'ALESSIO 20

  • 23/01/2009

    11

    discretizzazione del dominio: griglie

    CALCOLO NUMERICO A.D'ALESSIO 21

    Sistema lineare di grandi dimensioni e sparsoSistema lineare di grandi dimensioni e sparso

    Griglia di 2.2Km : Arco Alpino: 10080000 punti

    Sviluppo di software accurato ed efficientegrandi risorse di calcolo ad alte prestazioni

    Earth Simulator NEC (Giappone)35 Tflops (1TFlop=1012 flops)

    CALCOLO NUMERICO A.D'ALESSIO 22

    RoadRunner IBM-Los Alamos1 Pflops (1mil. di miliardi al sec.)

    35 Tflops (1TFlop=1012 flops)previsioni metereologiche

  • 23/01/2009

    12

    Esempi di risultati : vento, umidità, precipitazioni

    CALCOLO NUMERICO A.D'ALESSIO 23

    Problema reale Problema reale PP

    Modello Matematico Modello Matematico M(P)M(P)

    Fonti di erroreFonti di errore

    Errori di semplificazioneErrori di semplificazione

    Modello Matematico Modello Matematico M(P)M(P)

    Modello Numerico Modello Numerico MN(P)MN(P)

    Errore di troncamentoErrore di troncamento

    E di dE di d ffff

    CALCOLO NUMERICO A.D'ALESSIO 24

    AlgoritmoAlgoritmo SoftwareSoftware

    Errore di roundErrore di round--offoff

  • 23/01/2009

    13

    ERRORE ERRORE DIDI TRONCAMENTO (DISCRETIZZAZIONE)TRONCAMENTO (DISCRETIZZAZIONE)

    Differenza tra il risultato vero e quello prodotto dal modello numerico (in R)modello numerico (in R)

    Troncare una serieTerminare un processo iterativo prima della convergenza…………..

    CALCOLO NUMERICO A.D'ALESSIO 25

    ERRORE di ROUND OFFERRORE di ROUND OFF

    Differenza tra il risultato prodotto da un particolare particolare algoritmo algoritmo in R e quello prodotto dallo stesso algoritmo nelsistema aritmetico a precisione finita di un elaboratore

    dipende da criterio di rappresentazione in memoria dei dati gli algoritmi per le operazioni aritmetiche

    SISTEMA ARITMETICO DEL CALCOLATORESISTEMA ARITMETICO DEL CALCOLATORE

    CALCOLO NUMERICO A.D'ALESSIO 26

    SISTEMA ARITMETICO DEL CALCOLATORESISTEMA ARITMETICO DEL CALCOLATORE

  • 23/01/2009

    14

    Risoluzione di un problema col calcolatoreErrori che non si possono evitare

    Non si ha la soluzione esatta

    Errore computazionale = Errore computazionale = EEt.a.t.a.+errore round+errore round--offoff

    VALUTARE L’VALUTARE L’ACCURATEZZA ACCURATEZZA DEL CALCOLODEL CALCOLO

    CALCOLO NUMERICO A.D'ALESSIO 27

    VALUTARE L’VALUTARE L’ACCURATEZZA ACCURATEZZA DEL CALCOLODEL CALCOLO

    ERRORE ASSOLUTOEa = |x-y|

    ERRORE RELATIVOEr = |x-y|/|x|

    y è un’approssimazione di x (valore vero)

    se y ed x hanno pp cifre se y ed x(#0) hanno pp cifrese y ed x hanno pp cifredecimalidecimali ugualiEa= |x-y| < 10--pp

    y ( ) pp fsignificativesignificative uguali

    Er= |x-y|/|x| < 10--p+p+11

    L’errore relativo tiene conto dell’ordine di grandezzaInformazione più significativa

    Il l è i it

    CALCOLO NUMERICO A.D'ALESSIO 28

    Il valore vero è sempre incognitoL’errore si può solo stimare

  • 23/01/2009

    15

    Modello matematico

    ∑∞

    =

    ++++==0

    32

    ...!3!2

    1!n

    nx xxx

    nxe

    Modello NumericoModello Numerico

    !...

    !3!21

    !)(

    0

    32

    Nxxxx

    nxxS

    NN

    n

    n

    N +++++== ∑=

    CALCOLO NUMERICO A.D'ALESSIO 29

    EEtata(N)(N) == |e|exx-- SSNN||

    Modello matematico

    Modello Numerico

    hxfhxf

    dxxdf

    h

    )()(lim)(0

    −+=

    Modello Numerico

    hxfhxf

    dxxdf )()()( −+

    CALCOLO NUMERICO A.D'ALESSIO 30

    EEtata(h)(h) == |f’(x)|f’(x)-- [f([f(x+hx+h))--f(x)]/f(x)]/h|h|

  • 23/01/2009

    16

    per N→∞ Eta(N) = ex- SN→0

    per h→0 Eta(h) = |f’(x)- [f(x+h)-f(x)]/h| →0

    il modello numerico convergeconverge

    È interessante misurare lala velocitàvelocità di convergenza

    CALCOLO NUMERICO A.D'ALESSIO 31

    valutazione dell’efficienzadell’efficienza

    f(x+h)=f(x)+hf’(x)+(h2/2)f”(ξ) formula di Taylor

    f'( ) [f( h) f( )]/h (h/2)f”(ξ)f'(x)=[f(x+h)-f(x)]/h-(h/2)f”(ξ)

    Eta(h) = (h/2)f”(ξ) =O(h)

    per h→0 Et (h) = →0 come h

    CALCOLO NUMERICO A.D'ALESSIO 32

    per h→0 Eta(h) = →0 come h

    Ordine di convergenza 1 LINEARE

  • 23/01/2009

    17

    f continua fino alla derivata terza formula di Taylor

    f(x+h)=f(x)+hf’(x)+h2f’’(x)+h3f”’(ξ)2 6

    f(x-h)=f(x)-hf’(x)+h2f’’(x)-h3f”’(η)2 62 6

    diverso modello numericof'(x)≅[f(x+h)-f(x-h)]/2h

    Eta(h) = (h2/12)|f”’(ξ)+f”’(η)| =O(h2)

    CALCOLO NUMERICO A.D'ALESSIO 33

    ta( ) ( )| (ξ) (η)| ( )

    Ordine di convergenza 2 PIU’ VELOCE

    modello 1 O(h)dimezzando h l’errore diminuisce della metà

    modello 2 O(h2)dimezzando h l’errore diminuisc di 1/4modello 2 O(h ) diminuisce di 1/4

    il modello 2 converge più velocementeossia

    a parità di h è più accurato

    CALCOLO NUMERICO A.D'ALESSIO 34

  • 23/01/2009

    18

    h mod 1 mod 2 er mod1 er mod2

    derivata di ex per x=0 f’(0)=e0 =1dimezzando h con i due modelli

    h mod.1 mod.2 er.mod1 er.mod25.0000e-01 1.2974e+00 1.0422e+00 2.9744e-01 4.2191e-022.5000e-01 1.1361e+00 1.0104e+00 1.3610e-01 1.0449e-021.2500e-01 1.0652e+00 1.0026e+00 6.5188e-02 2.6062e-036.2500e-02 1.0319e+00 1.0007e+00 3.1911e-02 6.5117e-043.1250e-02 1.0158e+00 1.0002e+00 1.5789e-02 1.6277e-041.5625e-02 1.0079e+00 1.0000e+00 7.8533e-03 4.0691e-057.8125e-03 1.0039e+00 1.0000e+00 3.9164e-03 1.0173e-053.9063e-03 1.0020e+00 1.0000e+00 1.9557e-03 2.5431e-061 9531e-03 1 0010e+00 1 0000e+00 9 7720e-04 6 3578e-07

    CALCOLO NUMERICO A.D'ALESSIO 35

    1.9531e 03 1.0010e+00 1.0000e+00 9.7720e 04 6.3578e 079.7656e-04 1.0005e+00 1.0000e+00 4.8844e-04 1.5895e-074.8828e-04 1.0002e+00 1.0000e+00 2.4418e-04 3.9736e-082.4414e-04 1.0001e+00 1.0000e+00 1.2208e-04 9.9340e-09

    rapporto tra gli errori dei due modelli

    4.5757e-001 2.4767e-0014.7896e-001 2.4941e-001

    4.8953e-001 2.4985e-0014.9478e-001 2.4996e-0014.9739e-001 2.4999e-0014.9870e-001 2.5000e-0014.9935e-001 2.5000e-0014.9967e-001 2.5000e-0014.9984e-001 2.5000e-0014.9992e-001 2.5000e-0014.9996e-001 2.5000e-001

    0

    0.05

    0.1

    0.15

    0.2

    0.25 err. mod 1err. mod 2

    CALCOLO NUMERICO A.D'ALESSIO 36

    1 2 3 4 5 6 7 8 9 10 11 120

    Grafico degli errori dei 2 modelli

  • 23/01/2009

    19

    ERRORE di ROUND OFFERRORE di ROUND OFF

    SISTEMA ARITMETICO DEL CALCOLATORESISTEMA ARITMETICO DEL CALCOLATORE

    Dipende dal

    Criterio di rappresentazioneCriterio di rappresentazioneFLOATING POINT NORMALIZZATO

    A PRECISIONE FINITA

    Per ogni x∈ℝ, x ≠ 0esponente

    x= mm ×β×βee

    CALCOLO NUMERICO A.D'ALESSIO 37

    ββbase

    mantissa|m|

  • 23/01/2009

    20

    x≠0, x∈F x= + . d1d2…dt×βe

    L < e < U0

  • 23/01/2009

    21

    x=0.d1d2…dtdt+1…×βe ,L

  • 23/01/2009

    22

    F(β,t L,U) (con arr.) si dimostra

    |fl|fl(x)(x) ––x)|x)|

  • 23/01/2009

    23

    Esempio errore di round-off

    >> format hex>> 0.3ans =

    3fd3333333333333>> 0.1+0.2ans =

    3fd3333333333334>> 0.3/0.1 %risultato esatto 3ans =

    4007ffffffffffff

    CALCOLO NUMERICO-A.d'Alessio 45

    4007ffffffffffff>> 3ans =

    4008000000000000

    Per ogni x∈F esiste un insieme di numeri macchinache è “zero” per x

    Per ogni x∈F si definisceεx = ε|x| = epsilon relativo ad xx p

    ε εx

    0 1 x

    CALCOLO NUMERICO A.d'ALESSIO 46

  • 23/01/2009

    24

    32 bit

    s.m. Espon. Mantissa1bit 1bit 8bit8bit 23 bit23 bit

    p

    Bit implicito : il primo bit della mantissanon è memorizzato è sempre 1

    Esponente in memoria: intero ∈[0,255]t l i i 127 (bi )

    CALCOLO NUMERICO A.D'ALESSIO 47

    vero esponente = valore in memoria – 127 (bias)e ∈[-127,128]

    Fornisce un meccanismo per proseguire il calcolo in presenza di situazioni di errore

    op. non corretta (∞∗0, 0/0,…) (not a number) NaNNaN

    Divisione per zero , overflow ±∞ ++infinfpc/+0 =+inf , c/+inf =0

    underflow graduale denormalizzazione mantissasubnormal numbers

    minr = (1.00..0)2×2-126≈1.2×10-38

    CALCOLO NUMERICO A.D'ALESSIO 48

    maxr = (1.11..1)2×2127≈3.4×1038

  • 23/01/2009

    25

    Gli esponenti minimo e massimo sono usatiper gestire le situazioni eccezionali

    v=NaN e=255 m#0v= +inf e=255 m=0v = + 0 e=0 m=0 v = + 0 e=0 m=0 v=subnormal numbers e=0 m#0

    V=numero macchina 0

  • 23/01/2009

    26

    aritmetica IEEE singola precisione

    ε = 1 2-23+1=2-23 ≅ 1.9209×10--772

    aritmetica IEEE doppia precisionearitmetica IEEE doppia precisione

    ε = 1 2-52+1=2-52 ≅ 2.2204×10--16162

    In matlab:eps(‘single’), eps , eps(x)

    CALCOLO NUMERICO A.d'ALESSIO 51

    criterio di arresto di un processo iterativo convergentex1,x2,… → xxn+1=axn+cn formula ricorrente

    Quando arrestare il processo iterativo?

    | x x | |x | l ti x Criterio di

    la successione “converge” numericamente

    Quando xn+1 e xn hanno tutte le t cifre significative uguali( uguali a quelle di x )

    CALCOLO NUMERICO A.d'ALESSIO 52

    | xn+1-xn| < ε|xn|= ε relativo a xnCriterio diarresto naturale

  • 23/01/2009

    27

    calcolo del limite della successione an=an-1+1/2n a0=0lim an = 1

    | an+1-an| < ε|an|= ε relativo ad an Criterio di arresto naturale

    eseguendo i calcoli in matlab eps ≈ 10-16

    n an1 0.000000000000000

    2 0.500000000000000

    3 0.750000000000000

    4 0.875000000000000

    n an8 0.992187500000000

    9 0.996093750000000

    10 0.998046875000000

    ………

    CALCOLO NUMERICO A.d'ALESSIO 53

    4 0.875000000000000

    5 0.937500000000000

    6 0.968750000000000

    7 0.984375000000000

    50 0.999999999999998

    51 0.999999999999999

    52 1.000000000000000

    %esempio criterio di arrestoa(1)=0;a(2)=1/2;n=2;while(abs(a(n)-a(n-1))>eps(a(n))&&n

  • 23/01/2009

    28

    Criterio di arresto naturale

    richiedereil massimo numero

    di cifre significativeesatte del sistema

    richiesta meno impegnativap gk cifre significative esatte

    xn+1e xn con k cifre significative uguali k

  • 23/01/2009

    29

    TOL è una quantità “piccola”

    se TOLX= TOL|xn| va in underflow

    |xn+1-xn|< 0 impossibile!

    calcolo di TOLXche evita l’underflow

    if ⏐xn⏐>minr/TOL thenTOLX =⏐xn⏐×TOL

    else

    CALCOLO NUMERICO A.d'ALESSIO 57

    che evita l underflow elseTOLX = minr

    endif

    Inevitabile introduzione diErrore di round off nei dati di input può

    essere amplificato dal problemaCONDIZIONAMENTOCONDIZIONAMENTO

    E di d ff d ll i i ò ss Errore di round off delle operazioni può essere amplificato dall’algoritmo

    STABILITA’STABILITA’

    tali errori possono propagarsi ed amplificarsi

    stimare e controllare la crescita degli errori

    CALCOLO NUMERICO- A.d'ALESSIO 58

    g

  • 23/01/2009

    30

    (P’,fl(d)) “prossimo” a (P,d)

    x prossimo x’P

    bencondizionatobencondizionato

    x lontano da x’P

    malcondizionatomalcondizionato

    Dipende solo dal problemaP l di i bi d ll

    CALCOLO NUMERICO-A.d'ALESSIO 59

    P malcondizionato cambiare modello

    problema P

    x + 3y= 4x + 3.001 y = 4.001 soluzione x1=(1,1) in R

    problema P’

    x + 3y= 4x + 3.002 y = 4.001 soluzione x2=(2.5,0.5) in R

    CALCOLO NUMERICO-A.d'ALESSIO 60

    perturbazione Completamentediversa!

  • 23/01/2009

    31

    x1

    Errore dati

    x2

    CALCOLO NUMERICO-A.d'ALESSIO 61

    Errore sol. = dist(x1,x2) >> errore dati

    Sistema malcondizionato

    Stima quantitativa del condizionamento

    Errore relativosoluzione

    = K x Errore relativo nei dati

    Errore relativo soluzione 10q x 10-t ≅ 10q-t

    Errore relativosoluzione ≅ 10q x 10

    -t

    La soluzione ha al più t q cifre corrette

    Indice di condizionamento

    CALCOLO NUMERICO-A.d'ALESSIO 62

    t ≅ q soluzione inaffidabile

    La soluzione ha al più t-q cifre corrette

  • 23/01/2009

    32

    AlgoritmoAlgoritmo StabileStabilel’errore di round off nelle operazioni dell’algoritmo

    n nn n sisi mplificmplific n l isult t

    AlgoritmoAlgoritmo InstabileInstabilel’errore di round off nelle operazioni dell’algoritmo

    si mplific “ n m m nt ”mplific “ n m m nt ” n l isult t

    nonnon sisi amplificaamplifica nel risultatoil risultato calcolato è la soluzione “esatta”“esatta” didi P’P’

    CALCOLO NUMERICO-A.d'ALESSIO 63

    si amplifica enormemente”amplifica enormemente” nel risultatoche differisce sostanzialmente da quello di P’

    x2-12.4x +.494=0 sol: x=12.36 y=.03996 in un sistema F. con t=4

    x=(12.4+Δ1/2)/2 = 12.36y=(12.4-Δ1/2)/2 = 0.1000 errato!

    C ll i t t fiCancellazione catastrofica

    usando le formule alternativex=(12.4+Δ1/2)/2 = 12.36y=c/ax =.494/12.36=0.0401 esatto !

    algoritmi equivalenti danno soluzioni diverse

    CALCOLO NUMERICO-A.d'ALESSIO 64

    algoritmi equivalenti danno soluzioni diversea causa dell’amplificazione

    dell’errore di round off

  • 23/01/2009

    33

    P, d P, d x x

    P’, P’, flfl(d )(d )yy

    Algoritmo stabile stabile

    ProblemaProblemaverovero

    Problema nelProblema nelcomputercomputer

    z soluzione calcolata di P’ |z-y| “piccolo”“piccolo”

    PPbencondizionatobencondizionato

    PPmalcondizionatomalcondizionato

    CALCOLO NUMERICO-A.d'ALESSIO 65

    x,y “vicini”|x-z| “piccolo”

    x,y “lontani”|x-z| “grande”

    Un problema può essere malcondizionatoper certi dati e non per altri

    Un problema bencondizionato può dare risultati non corretti se risolto con un algoritmo instabile

    Se un problema è bencondizionato esisteun algoritmo stabile per risolverlo

    Un semplice calcolo può darerisultati errati seeffettuato con un algoritmo instabileA h i di d ff i li i t ti i

    CALCOLO NUMERICO-A.d'ALESSIO 66

    Anche errori di round off piccoli, ripetuti inalgoritmi lunghi e complessi possono avereeffetti catastrofici

  • 23/01/2009

    34

    Fallimento di un Missile PATRIOT

    25 02 1991 guerra del Golfo Arabia Saudita Un missile Patriot25.02.1991,guerra del Golfo,Arabia Saudita. Un missile Patriotfallisce l'intercettazione di un missile iracheno SCUD

    conseguenze

    morte di 28 soldati e oltre 100 feriti

    Cause

    CALCOLO NUMERICO-A.d'ALESSIO 67

    auseRapporto del General Accaunting Office:

    Patriot Missile Defense:Softwareproblem led to System Failure at Dharan

    calcolo inaccurato del tempo di caricamentoa causa dell’aritmetica del computer

    il tempo, calcolato in decimi di secondo nelcomputer del PATRIOT è

    f i ditrasformato in secondi

    t in sec.= tx1/10 0.1 in base 2 ha infinite cifre

    sistema di calcolo a virgola fissa a 24 bit

    troncamento

    CALCOLO NUMERICO-A.d'ALESSIO 68

    errore .95 x 10-7

  • 23/01/2009

    35

    la batteria è stata in funzione 100 oreprima del lancio

    al momento dell’intercettazioneerrore = 0.34sec.

    Velocità SCUD 1676 m/secVelocità SCUD 1676 m/sec

    in 0.34sec percorre 569.84 metri

    SCUD fuori traccia del patriot di

    CALCOLO NUMERICO-A.d'ALESSIO 69

    f pcirca mezzo chilometro

    non è intercettato

    Un programma si deve basare suun buon algoritmo

    risolvere un problema con“ minima spesa” = efficienza“massima accuratezza”= stabilitàm m

    numero di operazioninumero di variabili utilizzate

    tempo di calcolospazio di memoria

    70CALCOLO NUMERICO-A.d'ALESSIO

    spazio di memoria

  • 23/01/2009

    36

    Costo computazionale di un algoritmo

    numero di operazioni richiestecorrelato ad un

    i di di l i à di indicatore di velocità di un computerflop = 1 operazione f.p.

    velocità = numero di flops al secondo

    (mega) Mflops=106 flops(giga) Gflops=109 flops

    71CALCOLO NUMERICO-A.d'ALESSIO

    (g g ) f p f p(tera) Tflops=1012 flops(peta) Pflops=1015 flops

    i computer più veloci (supercomputer)

    RoadRunner IBM-Los Alamos1 Pflops (1mil. di miliardi al sec.)

    BlueGene/L IBM200 fl200 Tflops

    Earth Simulator NEC (Giappone)35 Tflops

    BlueFire National Center Atmospheric Research75 Tflops

    mutamenti climatici

    CALCOLO NUMERICO-A.d'ALESSIO 72

    35 Tflopsprevisioni metereologiche

    Lagrange HP Italia (CILEA)22 Tflops

  • 23/01/2009

    37

    n dimensione del problema

    efficienzaefficienza= si valuta al crescere di n mediante

    T(n)T(n) = complessità di temponumero di flops più significativep p g

    S(n)S(n) = complessità di spazionumero di variabili utilizzate

    CALCOLO NUMERICO-A.d'ALESSIO 73

    sistema aritmeticoorganizzazione della memoria compilatoresistema operativosistema operativo

    prestazioni dialgoritmo software

    il software non è la banale traduzione di un algoritmo

    CALCOLO NUMERICO-A.d'ALESSIO 74

    f gin un linguaggio di programmazione

  • 23/01/2009

    38

    performanceperformance

    tempo di esecuzione =tempo di CPU

    elapsed timetempo di CPU

    impiegato dall’unità centrale per

    eseguire il programma

    non conta i tempi di attesa

    tempo tra il momento in cui il Software

    è mandato in esecuzione

    ed il suo completamento

    CALCOLO NUMERICO-A.d'ALESSIO 75

    pdi input/output

    comp tam nto

    AffidabilitàAffidabilitàEfficienzaEfficienzaRobustezzaRobustezza

    AffidabilitàAffidabilità

    Accuratezza Accuratezza Correttezza codiceCorrettezza codiceMisura dell’effettivo Congruenza tra specifiche

    di d ff d l i lt ti

    CALCOLO NUMERICO-A.d'ALESSIO 76

    errore di round off del programma e risultatiintrodotto nel risultato

  • 23/01/2009

    39

    Tecniche per analisi di correttezza

    Statiche (senza esecuzione)corrispondenza non corretta tra

    parametri formali ed attuali utilizzo di variabili non inizializzate, etc

    Dinamiche (con esecuzione)rilevabili dal software di base (compilatore..)

    radice quadrata negativaindice di array fuori del range fissato,etc

    Testing strutturalescelta di dati in modo da soddisfare un

    CALCOLO NUMERICO-A.d'ALESSIO 77

    criterio di “copertura”ogni istruzione eseguita almeno una volta

    EfficienzaEfficienza

    tempo di elaborazione edccup zi n

    RobustezzaRobustezza

    controllooccupazionedi memoria su

    un dato calcolatore

    fortemente dipendentedall’ambiente di calcolo

    controllodi overflow, underflow,…sui dati di input

    gestione dierrori e diagnostica

    CALCOLO NUMERICO-A.d'ALESSIO 78

    dall ambiente di calcolo

  • 23/01/2009

    40

    interfaccia utente-software

    Istruzioni d’usoInformazioni sull’organizzazione

    internaT f i di iTrasferimento di esperienze

    DocumentazioneDocumentazione

    InternaInterna Esterna

    CALCOLO NUMERICO-A.d'ALESSIO 79

    Linee di commenti manuale d’usoesplicativi di sequenze help on line

    Scopobreve descrizione dei problemi risolubili, algoritmo usato, raccomandazioni sull’uso Complessità e

    Specificheintestazione della procedura

    Lista parametriinput/output

    tipo,dimensione e descrizione

    accuratezzaeventuali informazioni su

    complessità di tempo e spazioaccuratezza del risultato

    Esempio d’usoesempio di un semplice

    h

    CALCOLO NUMERICO-A.d'ALESSIO 80

    Diagnosticadescrizione delle

    situazioni di errore previste

    programma chiamantecon elenco dei dati di input

    e dei risultati