Numerical methods for biomedical engineering

Course objectives

The goal of the course is to teach students how to use numerical methods to solve some engineering problems for which no analytical solution can be found. The course focuses on understanding the theoretical issues behind the numerical methods studied and implementing them using a programming language. This approach is essential for learning how to choose a numerical method correctly, while considering its limitations.

Channel 1
FRANCESCA PITOLLI Lecturers' profile

Program - Frequency - Exams

Course program
The course consists of 60 hours of instruction, including lectures and hands-on lab sessions, and awards 6 ECTS credits. Lectures and lab sessions will be held in Italian. The content is organized into the following thematic modules: Numerical methods for initial value problems: Runge-Kutta methods for initial value problems, finite difference methods for boundary value problems (15 hours). Numerical linear algebra: singular value decomposition (SVD), pseudo-inverse, pribcipal component analysis (PCA), least squares method for overdetermined linea system, regularization methods for underdetermined inverse problems (15 hours). Introduction to approximation theory: interpolation with spline functions, approximation in wavelet spaces, least squares approximation by trigonometric polynomials (10 hours). Applications: model of population growth, oscillation equation, advection-diffusion equation; numerical solution of the inverse problem of the magnetoencephalography; signal processing of EEG/MEG data and of MRI images; classification algorithms (20 hours).
Prerequisites
Knowledge of fundamentals of calculus, geometry, linear algebra, and programming
Books
L. Gori, Calcolo Numerico, Ed. Kappa, 2006 L. Gori, M.L. Lo Cascio, F. Pitolli, Esercizi di Calcolo Numerico, Ed. Kappa, 2007 Course Slides (to be downloaded)
Teaching mode
The course includes both lectures and lab exercises. During the lectures, the teacher will outline and discuss the main features of the numerical methods listed in the program. During lab exercises, firstly the teacher will give an introduction to programming in Matlab, then the teacher will show how to code algorithms. During the course the teacher will also provide guided exercises on numerical methods and programming and will assign homeworks to students.
Frequency
Attending of the course is warmly recommended.
Exam mode
Assessment is based on two components: • solution of exercises (55%): students should identify the numerical method suitable to solve a given problem and discuss numerical issues (accuracy, convergence, stability); • solution of some applied problems (45%): students should solve some applied problems using the Matlab environment, realize numerical tests and critically analyze the results.
Bibliography
A.B. Downey, How to Think Like a Computer Scientist, Green Tea Press C.B. Moler, Numerical Computing with Matlab, SIAM, 2004 D. O'Leary, Scientific Computing with Case Studies, SIAM, 2009 R. Barrett, M. Berry, T.F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, H. van der Vorst, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM, 1994 Y. Saad, Iterative Methods for Sparse Linear Systems, SIAM, 2003 I.C.F. Ipsen, Numerical Matrix Analysis: Linear Systems and Least Squares, SIAM, 2009 L. Eldén, Matrix Methods in Data Mining and Pattern Recognition, SIAM, 2007 J. Kaipio, E. Somersalo, Statistical and computational inverse problems, Springer, 2006 L. Eldén, Matrix Methods in Data Mining and Pattern Recognition, SIAM, 2007
Lesson mode
The course includes both lectures and lab exercises. During the lectures, the teacher will outline and discuss the main features of the numerical methods listed in the program. During lab exercises, firstly the teacher will give an introduction to programming in Matlab, then the teacher will show how to code algorithms. During the course the teacher will also provide guided exercises on numerical methods and programming and will assign homeworks to students. Lectures and lab sessions will be held in Italian.
FRANCESCA PITOLLI Lecturers' profile

Program - Frequency - Exams

Course program
The course consists of 60 hours of instruction, including lectures and hands-on lab sessions, and awards 6 ECTS credits. Lectures and lab sessions will be held in Italian. The content is organized into the following thematic modules: Numerical methods for initial value problems: Runge-Kutta methods for initial value problems, finite difference methods for boundary value problems (15 hours). Numerical linear algebra: singular value decomposition (SVD), pseudo-inverse, pribcipal component analysis (PCA), least squares method for overdetermined linea system, regularization methods for underdetermined inverse problems (15 hours). Introduction to approximation theory: interpolation with spline functions, approximation in wavelet spaces, least squares approximation by trigonometric polynomials (10 hours). Applications: model of population growth, oscillation equation, advection-diffusion equation; numerical solution of the inverse problem of the magnetoencephalography; signal processing of EEG/MEG data and of MRI images; classification algorithms (20 hours).
Prerequisites
Knowledge of fundamentals of calculus, geometry, linear algebra, and programming
Books
L. Gori, Calcolo Numerico, Ed. Kappa, 2006 L. Gori, M.L. Lo Cascio, F. Pitolli, Esercizi di Calcolo Numerico, Ed. Kappa, 2007 Course Slides (to be downloaded)
Teaching mode
The course includes both lectures and lab exercises. During the lectures, the teacher will outline and discuss the main features of the numerical methods listed in the program. During lab exercises, firstly the teacher will give an introduction to programming in Matlab, then the teacher will show how to code algorithms. During the course the teacher will also provide guided exercises on numerical methods and programming and will assign homeworks to students.
Frequency
Attending of the course is warmly recommended.
Exam mode
Assessment is based on two components: • solution of exercises (55%): students should identify the numerical method suitable to solve a given problem and discuss numerical issues (accuracy, convergence, stability); • solution of some applied problems (45%): students should solve some applied problems using the Matlab environment, realize numerical tests and critically analyze the results.
Bibliography
A.B. Downey, How to Think Like a Computer Scientist, Green Tea Press C.B. Moler, Numerical Computing with Matlab, SIAM, 2004 D. O'Leary, Scientific Computing with Case Studies, SIAM, 2009 R. Barrett, M. Berry, T.F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, H. van der Vorst, Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM, 1994 Y. Saad, Iterative Methods for Sparse Linear Systems, SIAM, 2003 I.C.F. Ipsen, Numerical Matrix Analysis: Linear Systems and Least Squares, SIAM, 2009 L. Eldén, Matrix Methods in Data Mining and Pattern Recognition, SIAM, 2007 J. Kaipio, E. Somersalo, Statistical and computational inverse problems, Springer, 2006 L. Eldén, Matrix Methods in Data Mining and Pattern Recognition, SIAM, 2007
Lesson mode
The course includes both lectures and lab exercises. During the lectures, the teacher will outline and discuss the main features of the numerical methods listed in the program. During lab exercises, firstly the teacher will give an introduction to programming in Matlab, then the teacher will show how to code algorithms. During the course the teacher will also provide guided exercises on numerical methods and programming and will assign homeworks to students. Lectures and lab sessions will be held in Italian.
  • Lesson code10589191
  • Academic year2024/2025
  • CourseBiomedical Engineering
  • CurriculumMedicina computazionale
  • Year1st year
  • Semester1st semester
  • SSDMAT/08
  • CFU6
  • Subject areaAttività formative affini o integrative