Presentazione ed obiettivi del corso Propedeuticit`a

annuncio pubblicitario
FACOLTÀ DI INGEGNERIA Corso Di Laurea In Ingegneria
Industriale
Classe L-9
Insegnamento di Analisi Numerica
S.S.D MAT/08 – 9 C.F.U. – A.A. 2014–2015
Docente: Prof. Salvatore Filippone
e-mail: [email protected]
nickname: filippone.salvatore
Presentazione ed obiettivi del corso
Il corso è organizzato su 12 settimane, e prevede una serie di materiali didattici
comprensivi di presentazioni, esercizi ed esempi di esami svolti. Scopo del corso
è di presentare le metodologie di base per la soluzione di problemi numerici su
calcolatori digitali; tale conoscenza viene presentata con riferimento ai problemi
più comuni provenienti dalle applicazioni ingegneristiche. Lo studente che superi
l’esame sarà in grado di affrontare la scelta di un metodo per la soluzione di un
particolare problema e di discutere delle caratteristiche della soluzione ottenuta.
Propedeuticità
L’esame prevede le propedeuticità di Analisi I e II; è consigliato inoltre di avere
affrontato l’esame di Geometria. Durante il corso vengono fornite le nozioni
minime necessarie di programmazione dei calcolatori.
Ricevimento studenti
Consultare il calendario alla pagina seguente del nostro sito verificando gli orari
di Videoconferenza http://www.unicusano.it/calendario-lezioni-in-presenza/
calendario-area-ingegneristica
Orario delle lezioni
Consultare il calendario alla pagina seguente del nostro sito verificando gli orari di Lezione http://www.unicusano.it/calendario-lezioni-in-presenza/
calendario-area-ingegneristica
Date degli appelli
Consultare il calendario alla pagina http://www.unicusano.it/date-appelli/
appelli-ingegneria per gli appelli nella sede di Roma, e alla pagina http://
www.unicusano.it/date-appelli/appelli-sedi-esterne per gli appelli nelle sedi esterne.
Programma del corso
Introduzione al corso (Modulo 1, settimana 1) La modellazione dei fenomeni fisici; definizione di analisi numerica e buona posizione.
Metodi numerici per equazioni non lineari (Modulo 2, settimana 2-3)
1. Metodi di bisezione, Newton, corde, secanti;
2. Metodo delle iterate per equazioni non lineari; teorema di punto fisso;
3. Condizioni di convergenza globali e locali;
4. Ordine dei metodi iterativi, analisi dell’ordine del metodo di Newton;
Elementi di programmazione nel linguaggio Octave/Matlab (Modulo 3, settimana 4)
Aritmetica in precisione finita e analisi degli errori (Modulo 4, settimana 5)
1. Rappresentazione dei numeri negli elaboratori.
2. Arrotondamento, precisione; proprietà delle operazioni aritmetiche;
3. Analisi dell’errore; numero di condizionamento.
Metodi numerici per l’algebra lineare (Modulo 5, settimane 6-9)
1. Richiami di algebra lineare.
2. Sistemi lineari, numero di condizionamento; sistemi triangolari;
3. Metodo di Gauss, fattorizzazione LU, LLT;
4. Problemi ai minimi quadrati: fattorizzazione QR;
5. Metodi iterativi per sistemi lineari: metodo di Jacobi e metodo di
Gauss-Seidel; il metodo del Gradiente Coniugato;
6. Teoremi di convergenza e velocità dei metodi iterativi, teorema di
Gershgorin;
7. Il calcolo degli autovalori: il metodo delle potenze, il metodo QR.
Interpolazione polinomiale (Modulo 6, settimana 10)
1. Interpolazione ed approssimazione dei dati, formalizzazione del problema ed esempi;
2. Polinomio interpolante nelle forme di Lagrange e Newton, differenze
divise;
3. Errore nelle formule di interpolazione, differenze divise e derivate;
4. Interpolazione con spline cubiche;
Integrazione numerica (Modulo 7, settimana 11)
1. Formule di quadratura di tipo interpolatorio: analisi e grado di precisione;
2. Formule di Newton-Cotes e formule composite a schema fisso;
3. Analisi dell’errore;
Cenni alla integrazione delle equazioni differenziali ordinarie (Modulo 8, settimana 12)
1. Introduzione ai metodi per problemi di Cauchy;
2. errori formule per problemi di Cauchy (propagazione, locale, totale);
3. Formula dei trapezi, cenno ai più semplici metodi Runge-Kutta,
4. Introduzione alla Stiffness: regione di assoluta stabilità, definizione
di A-stabilità
Riferimenti bibliografici
Appunti del corso.
Giuseppe Rodriguez: Algoritmi Numerici, Pitagora Editrice.
Modalità di esame
L’esame consiste in una prova scritta della durata di 90 minuti. Nello svolgimento della prova è ammesso l’uso di calcolatrice tascabile non programmabile;
non sono ammessi appunti o formulari di alcun tipo.
Per gli studenti prenotati presso la sede di Roma è possibile svolgere una
parte dell’esame in forma orale.
Curriculum Vitae di
Salvatore Filippone
Professore Aggregato, corso di Analisi Numerica L-9, 9 C.F.U.
Titoli
• Dottorato di ricerca in Matematica, Università degli Studi di Roma Tor
Vergata;
• Abilitazione alla professione di Ingegnere;
• Laurea in Ingegneria Elettronica, Università degli Studi di Roma Tor
Vergata.
Posizioni Ricoperte
Il Dr. Salvatore Filippone lavora attualmente presso il Dipartimento di Ingegneria Civile e Ingegneria Informatica, Università di Roma Tor Vergata. In
precedenza ha lavorato presso l’allora centro di ricerca ECSEC della IBM Italia.
È attualmente Associate Editor per la rivista “ACM Transactions on Mathematical Software”; svolge attività di consulenza per la Commissione delle
Comunità Europee, in qualità di revisore e valutatore delle attività progettuali
facenti capo ai programmi ESPRIT.
1
Attività di ricerca
L’attività di ricerca principale del Dr. Filippone si rivolge alla algebra lineare numerica su sistemi di elaborazione ad alte prestazioni; in particolare per
quanto riguarda le applicazioni dei metodi iterativi per matrici sparse di grandi
dimensioni. Si interessa altresı̀ della ricerca sui supporti software, infrastrutture,
librerie di calcolo, applicazioni del calcolo ad alte prestazioni a problemi di fluidodinamica, calcolo strutturale, ottimizzazione; architettura degli elaboratori
paralleli; sistemi di elaborazione a memoria distribuita; sistemi di elaborazione
a memoria condivisa.
Nell’ambito delle varie attività di ricerca rientrano le collaborazioni scientifiche:
OpenCoarrays: Insieme con il Dr. Damian Rouson, il Dr. Dan Nagle e la
Prof. Valeria Cardellini, Il Dr. Filippone è uno dei fondatori del progetto
OpenCoarrays, http://www.opencoarrays.org/, avente come scopo lo
sviluppo di un livello di trasporto intermedio per la implementazione di
linguaggi PGAS (Partitioned Global Address Space), in modo da fornire
supporto a diversi compilatori. Dati di performance preliminari sono stati
presentati alle conferenze PGAS’14 e SC 14; è prevista la inclusione del
softare nella versione 5.0 del compilatore GCC.
European Exascale Software Initiative Il Dr. Filippone partecipa, su invito, in veste di esperto ai lavori del progetto European Exascale Software
Initiative (EESI/EESI2: http://www.eesi-project.eu/), in particolare
al WP 4.3: Numerical Libraries, ora WP 4.1: Numerical Analysis
Sandia National Laboratories e Stanford University Dal 2010 il Dr. Filippone collabora con il laboratorio CRF (Combustion Research Facility),
Livermore, dei Sandia National Laboratories, e con il “Center for Computational Environmental and Earth Sciences” della Stanford University.
Seconda Università di Napoli e ICAR/CNR Napoli Dal 2001 in collaborazione con la Dr.ssa Pasqua D’Ambra del CNR e con la Prof. Daniela
di Serafino della Seconda Università di Napoli svolge attività di ricerca
nel campo dei precodizionatori multilivello per sistemi lineari.
ENSEEIHT-CNRS, Toulouse L’attività di sviluppo di software per matrici
sparse prosegue oggi in collaborazione con il Dr. Alfredo Buttari, CNRSENSEEIHT, e con il Dr. Bora Uçar, ENS Lyon;
IBM T. J. Watson Research Center, Yorktown Heights Il Dr. Filippone è stato uno dei principali responsabili dello sviluppo dei prodotti IBM
ESSL Engineering and Scientific Subroutine Library, una libreria di strumenti di calcolo per mainframe vettoriali e per elaboratori RISC sequenziali o a memoria condivisa, e Parallel ESSL, la evoluzione della ESSL su
macchine ad architettura parallela a memoria distribuita. Questo lavoro
è stato svolto in stretta cooperazione con il Dr. Fred Gustavson ed il Dr.
Ramesh Agarwal del centro ricerche IBM di Yorktown Heights, New York.
University of Tennessee, Knoxville Lo sviluppo di software di supporto
applicativo per elaboratori a memoria condivisa e distribuita ha comportato una stretta interazione con il gruppo diretto dal Prof. Jack Dongarra presso la University of Tennessee, Knoxville, nell’ambito dei progetti
LAPACK e ScaLAPACK.
2
Attività didattica
Il Dr. Filippone ha insegnato vari corsi a livello universitario su argomenti di:
• Calcolo Numerico e Programmaizone per ingegneria civile (triennale);
• Fondamenti di Informatica in Matlab/Octave per ingegneria industriale
(meccanica/energetica) triennale;
• Algebra Lineare Numerica per laurea specialistica in matematica ed ingengeria matematica;
• Programmazione avanzata e metodi numerici per il dottorato in ingegneria
meccanica;
• Calcolatori elettronici e calcolo parallelo per Ingegneria Informatica;
Ha inoltre tenuto corsi brevi e tutorial per: Oak Ridge National Laboratory
(TN), Univ. California at Berkeley, Lawrence Berkeley Laboratory (CA), National Center for Atmospheric Research (CO), INFN Catania, ENEA Frascati,
CRS4 Cagliari, ed altri.
È stato supervisore di numerose tesi di laurea e di dottorato di ricerca.
2.1
Attività per la Commissione Europea
Dal 1997 il Dr. Filippone svolge periodicamente attività di consulenza per la
Commissione Europea in qualità di revisore di progetti negli ambiti “High Performance Computing and Networking”, “Telecommunications”, “Information
Society”.
Riveste particolare rilevanza la attività di revisore del progetto PRACE
http://www.prace-ri.eu; esso è attualmente il principale progetto europeo
nell’area del calcolo ad alte prestazioni. Sono membri di PRACE tutti i principali centri di supercalcolo in Europa, tra cui EPCC (UK), GENCI e CEA (F),
SARA (NL), CSC (FI), FZJ, LRZ, HLRS e RZG (D), CINECA (I), BSC (E),
ICHEC (IE), CSCS (CH); i partner al momento comprendono istituzioni da 25
diversi paesi europei. Il progetto ha come obiettivo la integrazione dei centri
in una struttura unificata che fornisca servizi alle comunità scientifiche a livello
europeo, e di favorire l’avanzamento della tecnologia e della industria europea
nella fornitura di servizi per il supercalcolo e per altre aree applicative. Il Dr.
Filippone ha seguito e monitorato il progetto fin dal suo inizio, facendo costantemente parte del team di esperti esterni chiamati a collaborare con i funzionari
della Commissione Europea della D.G: CNECT (in precedenza INFSO).
Ha inoltre partecipato a sessioni di valutazione di proposte progettuali per
il IV, VI e VII Programma Quadro della Commissione Europea, ed ha svolto
attività di valutazione per la National Science Foundation (USA).
Riferimenti bibliografici
[1] S. Filippone and G. Radicati di Brozolo. Vectorized ILU preconditioners for
general sparsity patterns. Proc. of the Int. Meeting on Parallel Computing,
Verona, Italy, 1988, pp. 103–114.
[2] S. Filippone, P. Santangelo and M. Vitaletti. A vectorized long period
shift register random number generator. Proc. of Supercomputing ’90,
pp. 676–684.
[3] S. Filippone, M. Marrone and G. Radicati di Brozolo Parallel preconditioned conjugate-gradient type algorithms for general sparsity structures.
International Journal of Computer Mathematics, Vol. 40, pp. 159-167, 1992.
[4] M. Bernaschi, S. Filippone and M. L. Sales. Linear Algebra Operations
and PVM on IBM RISC/System 6000 Clusters. 1993 PVM Users’ Group
Meeting, Knoxville TN, May 1993.
[5] S. Filippone and M. L. Sales, Experiences in Numerical Software on IBM
distributed memory architectures, Parallel Scientific Computing – Proc.
of PARA ’94, J. Dongarra and J. Waśniewski eds., pp. 207–218, SpringerVerlag Lecture Notes in Compute Science 879, 1994.
[6] S. Filippone and C. Vittoli Some preliminary experience with sparse BLAS
in parallel iterative solvers. Applied Parallel Computing – Proc. of PARA
’95, J. Dongarra et al eds., pp. 207–213, Springer-Verlag Lecture Notes in
Computer Science 1041, 1996.
[7] S. Filippone The IBM Parallel Engineering and Scientific Subroutine Library. Applied Parallel Computing – Proc. of PARA ’95, J. Dongarra et
al eds., pp. 199–206, Springer-Verlag Lecture Notes in Computer Science
1041, 1996.
[8] S. Filippone Parallel Libraries on Distributed Memory Architectures: the
IBM Parallel ESSL in Proc. of PARA ’96, J. Dongarra et al eds., SpringerVerlag Lecture Notes in Computer Science No. 1184, pp. 247–255.
[9] S. Filippone, P. Nobile and F. Papetti Computer simulation methodologies
in engine design optimization ISCS ’96, Atti della Conferenza Annuale
della Italian Society for Computer Simulation, pp. 7–11, Università degli
Studi di Roma Tor Vergata, Dic. 1996.
[10] P. D’Ambra, S. Filippone and P. Nobile The Use of a Parallel Library
in Industrial Simulations: the Case Study of the Design of a Two-Stroke
Engine ISCS ’97, Atti della Conferenza Annuale della Italian Society for
Computer Simulation.
[11] Massimo Celino, L Colombo, V. Rosato, B.Di Martino, M. Briscolini and
S. Filippone, Parallel Tight-Binding Molecular Dynamics code based on
integration of HPF and optimized Parallel Libraries. in Proc. of PARA ’98,
B. Kågström et al eds., Springer-Verlag Lecture Notes in Computer Science
No. 1541, pp. 104–111.
[12] S. Filippone, M. Colajanni, D. Pascucci, An Object-Oriented Environment for Sparse Parallel Computation on Adaptive Grids, Proceedings of
the IPPS ’99 conference, San Juan Puerto Rico, IEEE Computer Society,
pp. 365-369, April 1999.
[13] S. Filippone, M. Colajanni PSBLAS: A library for parallel linear algebra
computation on sparse matrices ACM Trans. on Math. Software, Vol. 26,
No. 4, Dec. 2000, pp. 527–550.
[14] L. Arnone, P. D’Ambra, S. Filippone A parallel version of KIVA–3 based
on general purpose numerical software and its use in two-stroke engine
applications in Practical Parallel Computing, M. Paprzycki, L. Tarricone,
L. T. Yang eds., pp. 37–55, Nova Science, New York, 2001.
[15] S. Filippone, P. D’Ambra, M. Colajanni Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics Application Code on Clusters of
Workstations Parallel Computing, Advances & Current Issues, G, Joubert,
A. Murli, F. Peters, M. Vanneschi eds., Imperial College Press Pub. (2002),
pp. 441–448.
[16] A. Buttari, P. D’Ambra, S. Filippone, D. Di Serafino Extending PSBLAS
to Build Parallel Schwarz Preconditioners in J. Dongarra, K. Madsen, J.
Wasniewski: PARA 2004, LNCS 3732, pp. 593–602, Springer, 2006
[17] G. Bella. S. Filippone, A. De Maio, Mario Testa A Simulation Model for
Forest Fires in J. Dongarra, K. Madsen, J. Wasniewski: PARA 2004, LNCS
3732, pp. 546–553, Springer, 2006
[18] G. Bella. A. Buttari, A. De Maio, F. Del Citto, S. Filippone, F. Gasperini
FAST-EVP: an engine simulation tool in L.T. Yang et al.: HPCC2005,
LNCS 3726, pp. 969–978, Springer, 2006
[19] G. Bella. F. Bozza, A. De Maio, F. Del Citto, S. FilipponeAn enhanced parallel version of KIVA-3V coupled with a 1D CFD code and its use in general purpose engine application in M. Gerndt, D. Kranzlmuller: HPCC2006,
LNCS 4208, pp. 11–20, Springer, 2006
[20] A. Buttari, V. Eijkhout, J. Langou and S. Filippone, Performance optimization and modeling of sparse kernels International Journal of High
Performance Computing Applications, November 2007, Volume 21, No. 4,
pp. 467–484.
[21] P. D’Ambra, S. Filippone, D. Di SerafinoOn the Development of PSBLASbased Parallel Two-level Schwarz Preconditioners Applied Numerical Mathematics, Elsevier Science, Volume 57, Issues 11-12, November-December
2007, Pages 1181-1196.
[22] A. Buttari, D. di Serafino, P. D’Ambra, S. Filippone,2LEV-D2P4: a package of high-performance preconditioners,Applicable Algebra in Engineering,
Communications and Computing, Volume 18, Number 3, May, 2007, pp.
223-239
[23] D. Schmidt, S. Toninel, S. Filippone, G. M. Bianchi Parallel Computation
of Mesh Motion for CFD of IC Engines SAE World Congress & Exhibition
- 04/14/2008
[24] B. Bencivenga, F. Mioc, L. J. Foged, M. Sabbadini, S. Filippone, E. di
Giampaolo An Accurate and Computationally Efficient Tool Using UTD
on Large Meshed Geometries EUCAP 2009, Berlin
[25] D. Barbieri, V. Cardellini, S. Filippone Generalized GEMM kernels on
GPGPUs: experiments and applications. PARCO 2009,Lyon
[26] P. D’Ambra, D. di Serafino, S. Filippone: MLD2P4: a Package of Parallel
Algebraic Multilevel Domain Decomposition Preconditioners in Fortran 95.
ACM Trans. on Mathematical Software, 2010, Volume 37, No. 3.
[27] A. Buttari, P. D’Ambra, D. di Serafino, S. Filippone, Simone Gentile and Bora Uçar A Novel Aggregation Method based on Graph Matching for Algebraic MultilGrid Preconditioning of Sparse Linear Systems,
Preconditioning 2011, Bordeaux, France, May 2011
[28] Davide Barbieri, Valeria Cardellini, Salvatore Filippone and Damian
Rouson Design Patterns for Scientific Computations on Sparse Matrices HPSS 2011, Algorithms and Programming Tools for Next-Generation
High-Performance Scientific Software, Bordeaux, Sep. 2011
[29] S. Filippone and A. Buttari:Object-Oriented Techniques for Sparse Matrix
Computations in Fortran 2003. ACM Trans. on Mathematical Software,
vol. 38, no. 4., 2012
[30] Karla Morris, Damian W. I. Rouson, M. Nicole Lemaster, Salvatore Filippone: Exploring capabilities within ForTrilinos by solving the 3D Burgers
equation. Scientific Programming, vol 20, pp. 275-292, 2012.
[31] P. D’Ambra, D. di Serafino, S. Filippone: Performance Analysis of Parallel Schwarz Preconditioners in the LES of Turbulent Channel FLows.
Computers and Mathematics with Applications, 65 (2013), pp. 352–361
[32] Valeria Cardellini, Salvatore Filippone and Damian Rouson Design Patterns for Scientific Computations on Sparse MatricesScientific Computing,
22(2014), pp. 1–19.
[33] Alessandro Fanfarillo, Tobias Burnus, Valeria Cardellini, Salvatore Filippone, Dan Nagle, Damian Rouson OpenCoarrays: Open-source Transport
Layers Supporting Coarray Fortran Compilers PGAS 2014, Eugene, OR,
Oct. 2014
[34] Cardellini V, Fanfarillo A, Filippone S (2014). Sparse matrix computations
on clusters with GPGPUs. In: Proceedings of the 2014 International Conference on High Performance Computing and Simulation (HPCS 2014). p.
23-30, IEEE, ISBN: 978-1-4799-5313-4, Bologna, Italy, 2014
[35] Barbieri D, Cardellini V, Filippone S (2014). Exhaustive key search on
clusters of GPUs. In: 2014 28th IEEE International Parallel & Distributed
Processing Symposium Workshops. p. 1160-1168, IEEE, ISBN: 978-1-47994116-2, Phoenix, Arizona, 2014, doi: 10.1109/IPDPSW.2014.131
[36] Bertaccini D, Filippone S (2014). Approximate Inverse Preconditioners for
Krylov Methods on Heterogeneous Parallel Computers. In: Parallel Computing: Accelerating Computational Science and Engineering (CSE). ADVANCES IN PARALLEL COMPUTING. p. 183-192, IOS Press, ISBN:
978-1-61499-380-3, doi: 10.3233/978-1-61499-381-0-183
[37] Barbieri D, Cardellini V, Filippone S (2014). Fast uniform grid construction on GPGPUs using atomic operations. In: Parallel Computing: Accelerating Computational Science and Engineering (CSE). ADVANCES IN
PARALLEL COMPUTING, vol. 25, p. 295-304, Amsterdam:IOS Press,
ISBN: 978-1-61499-380-3, ISSN: 0927-5452, Munich, Germany, 2013, doi:
10.3233/978-1-61499-381-0-295
[38] Cardellini V, Fanfarillo A, Filippone S (2014). Heterogeneous sparse matrix
computations on hybrid GPU/CPU platforms. In: Parallel Computing:
Accelerating Computational Science and Engineering (CSE). ADVANCES
IN PARALLEL COMPUTING, vol. 25, p. 203-212, Amsterdam:IOS Press,
ISBN: 978-1-61499-380-3, ISSN: 0927-5452, Munich, Germany, 2013, doi:
10.3233/978-1-61499-381-0-203
[39] Aziz Nanthaamornphong, Jeffrey Carver, Karla Morris, and Salvatore Filippone: Extracting UML Class Diagrams from Object-Oriented Fortran:
ForUML Scientific Programming, to appear.
Scarica