Scheda programma d'esame
CALCOLO NUMERICO
FEDERICO GIOVANNI POLONI
Anno accademico2022/23
CdSINGEGNERIA CHIMICA
Codice720AA
CFU9
PeriodoPrimo semestre
LinguaItaliano

ModuliSettore/iTipoOreDocente/i
CALCOLO NUMERICOMAT/08LEZIONI90
GIANNA MARIA DEL CORSO unimap
FEDERICO GIOVANNI POLONI unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Gli obiettivi del corso sono:

  1. fornire conoscenze riguardanti i metodi numerici di base e l'analisi delle loro principali proprietà;
  2. sviluppare la capacità dello studente di utilizzare correttamente e consapevolmente ed implementare su calcolatore gli algoritmi introdotti.

Questo in vista del loro impiego nello studio, nell'analisi e nell'approfondimento dei fenomeni fisici e chimici e nella risoluzione dei problemi dell'Ingegneria.

Knowledge

Students who successfully complete the course will be able to demonstrate a solid knowledge of the basic topics of numerical calculus. In particular, they will be able to evaluate a numerical scheme from both the point of views of the accuracy of the approximation it provides and the computational cost of its implementation.

Modalità di verifica delle conoscenze

Durante la prova scritta e orale, o in alternativa prova orale con elaborato, lo studente dovrà dimostrare di aver acquisito conoscenze sui contenuti del corso utilizzando strumenti e terminologia appropriata.

Assessment criteria of knowledge

During the written and oral exam, students must be able to demonstrate their knowledge of the algorithms treated in the course using the appropriate terminology.

Capacità

Al termine del corso, lo studente avrà acquisito capacità riguardanti la scelta, il corretto utilizzo e l'implementazione su calcolatore di un metodo numerico.

Skills

The student who successfully completes the course will be able to choose, implement and use correctly numerical methods.

Modalità di verifica delle capacità

Prova scritta in laboratorio informatico e prova orale.

Assessment criteria of skills

Final laboratory and oral exam.

Comportamenti

Lo studente potrà acquisire sensibilità riguardanti l'utilizzo di un metodo numerico e la analisi della accuratezza e della affidabilità delle approssimazioni da esso fornite.

Behaviors

The student who successfully completes the course will be able to analyze the accuracy and the reliability of the approximations provided by a numerical scheme.

Modalità di verifica dei comportamenti

Prova scritta in laboratorio informatico e prova orale.

Assessment criteria of behaviors

Final laboratory and oral exam.

Prerequisiti (conoscenze iniziali)

E' necessaria la conoscenza di nozioni fondamentali fornite durante corsi standard di Analisi Matematica ed Algebra Lineare. In maggior dettaglio:

  1. Analisi Matematica: Funzioni e successioni, Limiti, Calcolo differenziale in una o piu' variabili, Sviluppi di Taylor, Calcolo integrale in una variabile, Problemi ai valori iniziali per sistemi di equazioni differenziali ordinarie;
  2. Algebra Lineare: Spazi vettoriali, Sistemi lineari, Algebra delle matrici, Autovalori ed Autovettori.

Propedeuticità: per sostenere l'esame di calcolo numerico è necessario avere già sostenuto analisi matematica I e algebra lineare (da regolamento del corso di laurea).

Prerequisites

The knowledge of the main notions provided during a basic course of Calculus and of Linear Algebra is required. In more detais:

  1. Calculus: Functions and sequences, Limits, Differential calculus, Taylor expansion, Integral calculus in one variable, Initial value problems for ordinary differential equations;
  2. Linear Algebra: Vector spaces, Linear systems, Matrix algebra, Eigenvalues.

Propedeuticità: before taking the exam, students must have passed Analisi Matematica I and Linear Algebra. This is mandated by the degree regulations.

Indicazioni metodologiche

Metodi di insegnamento:

  1. Lezioni frontali
  2. Esercitazioni in laboratorio informatico

Frequenza: consigliata

 



Teaching methods

Teaching methods:

  1. Lectures
  2. Computer lab classes

Attendance: Advised

 

Programma (contenuti dell'insegnamento)

Il corso fornisce conoscenze riguardanti i seguenti argomenti:

  1. ANALISI DELL'ERRORE: errore assoluto ed errore relativo. Tipologie di errore. Numeri di macchina. Rappresentazione mediante troncamento ed arrotondamento. Precisione di macchina. Overflow ed Underflow. Aritmetica finita. Condizionamento di un problema. Condizionamento delle quattro operazioni algebriche fondamentali;
  2. APPROSSIMAZIONE DI ZERI DI FUNZIONE: Il metodo di bisezione: criteri di arresto, condizionamento del problema ed ordine di convergenza. Il metodo di Newton: convergenza locale ed ordine di convergenza quadratico per radici semplici. Il caso di radici multiple: convergenza lineare e ripristino dell'ordine quadratico per il caso di molteplicità esatta nota a priori. Metodi quasi-Newton.
  3. RISOLUZIONE DI SISTEMI LINEARI E NON LINEARI: Casi semplici. Fattorizzazione LU: esistenza, unicità e costo computazionale. Matrici a diagonale dominante. Matrici simmetriche e definite positive: fattorizzazione LDLT e cenni sulla Cholesky. Pivoting. Condizionamento del problema. Metodi iterativi di base. Sistemi lineari sovradeterminati: soluzione nel senso dei minimi quadrati, metodo delle equazioni normali e cenni sul metodo basato sulla fattorizzazione QR. Il metodo di Newton per sistemi di equazioni non lineari.
  4. APPROSSIMAZIONE DI FUNZIONI: Interpolazione polinomiale: esistenza ed unicità del polinomio interpolante. Forma di Lagrange. Cenni sulla analisi dell'errore. Il metodo dei minimi quadrati nel discreto.
  5. INTEGRAZIONE NUMERICA: Formule di quadratura di tipo interpolatorio. Formule di Newton-Cotes: il metodo dei trapezi ed il metodo di Simpson semplici. Analisi dell'errore. Grado di precisione di una formula di quadratura e formule gaussiane (cenni). Analisi del condizionamento di un integrale definito e di una formula di quadratura. Metodo dei trapezi e di Simpson compositi e relativa analisi dell'errore.
  6. METODI NUMERICI PER EQUAZIONI DIFFERENZIALI ORDINARIE: Metodi ad un passo. Errore locale di troncamento ed ordine di consistenza (o accuratezza). Analisi di convergenza. I metodi di Eulero esplicito, implicito e dei trapezi. Metodi Runge-Kutta: tavola di Butcher, metodi espliciti e impliciti. Analisi lineare di assoluta stabilità. Metodi A-stabili ed A0-stabili. Equazioni Stiff. Metodi lineari a più passi. Errore locale di troncamento ed ordine di consistenza. Zero stabilità. Teorema di convergenza e prima barriera di Dahlquist. Analisi lineare di assoluta stabiltà e seconda barriera di Dahlquist.
  7. AMBIENTE DI CALCOLO MATLAB: Definizione di variabili scalari, vettori e matrici. Tipo di una variabile. Operatore due punti. Sottovettori e sottomatrici. Operatori aritmetici, relazionali e logici. Espressioni. Principali funzioni built-in. M-files di tipo script. Comandi per l'input e l'output dei dati. Comandi per il controllo del flusso di esecuzione. M-files di tipo function: parametri di input e di output. Principali comandi per la grafica in 2D.

 Rispetto alla versione precedente del corso da 72 ore, il piano per il 2022-2023 è di aggiungere vari esempi numerici e insistere di più sulle abilità di programmazione e implementazione dei metodi.

Syllabus

The course provides notions on error analysis, finite precision number system and arithmetic, numerical approximation of the solution of nonlinear equations, efficient methods for the solution of systems of linear and non linear equations. The course also approaches the main issues related to function approximation, numerical integration and numerical solution of initial value problems for ordinary differential equations. The computer lab classes will teach basic programming skills in Matlab and the implementation of the numerical methods studied in the course.

 

Bibliografia e materiale didattico

Testi consigliati:

  1. L.Brugnano, C.Magherini, A.Sestini. Calcolo Numerico, terza edizione. Masterbooks, Firenze 2014.
  2. P.Ghelardoni, G.Gheri, P.Marzulli. Elementi di calcolo numerico (dispense disponibili in rete).
  3. S.Attaway, MATLAB: A Practical Introduction to Programming and Problem Solving, Second Edition,  Burlington, MA, Elsevier Inc., 2012 (o edizioni successive).
  4. A.Campi, E.Di Nitto, D.Loiacono, A.Morzenti, P.Spoletini. Introduzione alla programmazione in Matlab. Esculapio, Bologna, 2011.
Bibliography
  1. L.Brugnano, C.Magherini, A.Sestini. Calcolo Numerico, terza edizione. Masterbooks, Firenze 2014.
  2. P.Ghelardoni, G.Gheri, P.Marzulli. Elementi di calcolo numerico (available on web).
  3. S.Attaway, MATLAB: A Practical Introduction to Programming and Problem Solving, Fifth Edition,  Burlington, MA, Elsevier Inc., 2019.
  4. A.Campi, E.Di Nitto, D.Loiacono, A.Morzenti, P.Spoletini. Introduzione alla programmazione in Matlab. Esculapio, Bologna, 2011.
Indicazioni per non frequentanti

Nessuna variazione per non frequentanti.

Non-attending students info

 There is no variation for non-attending students.

Modalità d'esame

 L'esame consiste in:

  1. prova scritta in laboratorio informatico;
  2. prova orale.

Durante la prova scritta (2 ore) il candidato dovrà redigere alcuni codici in linguaggio Matlab per risolvere problemi di tipo numerico, effettuare dei test di esecuzione, e rispondere a domande teoriche sui problemi. Gli studenti avranno a disposizione un computer con Matlab e potranno portare con sé appunti e libri di testo. Gli studenti che raggiungono la sufficienza nella prova scritta possono completare l'esame sostenendo la prova orale.

In riferimento alla prova orale, il candidato dovrà dimostrare, usando terminologia appropriata, di aver appreso sufficienti nozioni sui criteri per la scelta di un metodo numerico, sulle sue modalità di utilizzo e sulle sue principali proprietà con particolare riferimento alla accuratezza della approssimazione fornita ed al costo computazionale richiesto per determinarla. La prova orale consisterà in un colloquio della durata media di 20-30 minuti tra il docente ed il candidato.

Assessment methods

The written part will include theoretical questions on a practical problem, as well as implementing and testing some numerical code in Matlab. The students will have a computer with Matlab available to them for experimentation. This is an open-book exam; the students may bring notes and books.

The oral exam will then consists of an interview about the contents of the course. The expected duration of the final exam is thirty minutes.


 

Altri riferimenti web

La pagina del corso verrà creata su Moodle https://elearn.ing.unipi.it/ .

Additional web pages

The course page will be created on Moodle https://elearn.ing.unipi.it/ .

Note

Questo corso rimpiazza ed estende il corso 520AA da 6 CFU / 72 ore. Gli studenti che hanno il vecchio corso in piano di studi possono sostenere la maggior parte dell'esame, e verranno valutati separatamente.

Notes

This course replaces and extends 520AA (6 ECTS credits / 72 hours). Students who have the old version in their study program can still take most of the exam, and they will be evaluated separately.

Ultimo aggiornamento 29/07/2022 10:59