# Computer science | NUMERICAL METHODS FOR COMPUTER SCIENCE

## Computer science NUMERICAL METHODS FOR COMPUTER SCIENCE

 0512100050 DIPARTIMENTO DI INFORMATICA EQF6 COMPUTER SCIENCE 2016/2017

 YEAR OF COURSE 3 YEAR OF DIDACTIC SYSTEM 2008 SECONDO SEMESTRE
SSD CFU HOURS ACTIVITY TYPE OF ACTIVITY MAT/08 4 32 LESSONS SUPPLEMENTARY COMPULSORY SUBJECTS MAT/08 2 20 LAB SUPPLEMENTARY COMPULSORY SUBJECTS
 ANGELAMARIA CARDONE T
Objectives
KNOWLEDGE AND UNDERSTANDING
THE AIM OF THE COURSE IS TO MAKE STUDENTS GAIN THE THEORETICAL KNOWLEDGE AND CRITICAL ANALYSIS OF THE MAIN NUMERICAL METHODS CONCERNING THE BASIC NUMERICAL METHODS FOR THE DEVELOPMENT OF MATHEMATICAL SOFTWARE FOR THE SOLUTION OF SCIENTIFIC CALCULUS INTERESTING FOR THE COMPUTER SCIENCE. IN PARTICULAR:
•FLOATING-POINT ARITHMETIC, SEQUENTIAL AND PARALLEL SOLUTION OF LARGE SPARSE LINEAR SYSTEMS,
•COMPUTATION OF EIGENVALUES, GOOGLE RESEARCH ENGINE AND THE PAGE-RANK ALGORITHM,
•APPROXIMATIONS OF DATA AND FUNCTIONS WITH APPLICATION TO THE COMPUTER GRAPHICS, 2D AND 3D AFFINE TRANSFORMATIONS: ROTATION, REFLECTION, SCALING, SHEARING, TRANSLATIONS;
•PARALLEL NUMERICAL ANALYSIS: MPI, PARALLEL LINEAR ALGEBRA ON GPUS;
•INTRODUCTION TO PHYTON.

ABILITY TO APPLY KNOWLEDGE AND UNDERSTANDING
THE STUDENT SHOULD BE ABLE TO SOLVE PROBLEMS OF SCIENTIFIC CALCULUS IN THE APPLICATIONS TO COMPUTER SCIENCE, BY MEANS OF THE DEVELOPMENT AND THE USE OF MATHEMATICAL SOFTWARE AND SUITABLE COMPUTING ENVIRONMENT.
Prerequisites
ELEMENTS OF DISCRETE MATHEMATICS AND LINEAR ALGEBRA.
ELEMENTS OF MATHEMATICAL ANALYSIS: CONTINUOS FUNCTIONS AND MAIN THEOREMS, CONCEPTS OF DERIVATIVE.
Contents
•ERRORS ANALYSIS, PROPAGATION.
•SYSTEMS OF LINEAR EQUATIONS. DIRECT METHODS: GAUSS METHOD. ITERATIVE METHODS FOR LARGE SPARSE LINEAR SYSTEMS: JACOBI, GAUSS-SEIDEL. CONVERGENCE.
•EIGENVALUES OF MATRICES. ITERATIVE METHODS. QR METHOD. GOOGLE AND THE PAGE-RANK ALGORITHM.
•APPROXIMATION. POLYNOMIAL INTERPOLATION: ERROR, CONVERGENCE. LINEAR PIECEWISE INTERPOLATION AND SPLINE. LEAST SQUARES. APPLICATIONS TO COMPUTER GRAPHICS, 2D AND 3D TRANSFORMATIONS BASED ON AFFINE TRANSFORMATIONS: ROTATION, REFLECTION, SCALING, SHEARING, TRANSLATION.
•PARALLEL NUMERICAL ANALYSIS. MPI (MESSAGE PASSING INTERFACE). PARALLEL ALGORITHMS FOR LINEAR ALGEBRA ON GRAPHICS PROCESSING UNITS (GPUS).
•MATLAB, PHYTON. C LANGUAGE WITH MPI AND CUDA.
•DEVELOPMENT OF MATHEMATICAL ELEMENTS RELATED TO THE MAIN ALGORITHMS.
Teaching Methods
4 CFU, 32 HOURS: TEACHER LESSONS;
2 CFU, 20 HOURS: USE OF LABORATORIES; DEVELOPMENT OF MATHEMATICAL SOFTWARE.
THE LABORATORY CLASSES WILL BE FOCUSED ON THE PRINCIPLES ABOUT THE DEVELOPMENT OF EFFICIENT MATHEMATICAL SOFTWARE, WITH REGARD TO THE ESTIMATE OF ACCURACY OF THE OBTAINED RESULTS, THE EVALUATION OF THE PERFORMANCE OF THE DEVELOPED SOFTWARE, THE COMPARISON AMONG DIFFERENT METHODS, THE EXTERNAL AND INTERNAL DOCUMENTATION.

Verification of learning
•TESTING AND EVALUATION OF THE MATHEMATICAL SOFTWARE DEVELOPED OR USED IN THE LABORATORY CLASSES TO VERIFY THE SKILLS OF THE STUDENT TO EVALUATE ACCURACY AND EFFICIENCY AND TO COMPARE DIFFERENT CODES.
•ORAL EXAMINATION ON THE BASIC THEORETICAL NOTIONS OF NUMERICAL METHODS AND THE PRINCIPLES TO SOLVE SIMPLE SCIENTIFIC CALCULUS PROBLEMS.
•FOR THE STUDENTS ATTENDING THE COURSE, THERE IS A MIDTERM TEST.
Texts
1)A. QUARTERONI AND F. SALERI, SCIENTIFIC COMPUTING WITH MATLAB AND OCTAVE, SPRINGER-VERLAG BERLIN, 2006.
2)A. MURLI, LEZIONI DI CALCOLO PARALLELO. LIGUORI EDITORE SRL, 2006, CHAPTERS I-IV.

OTHER SUPPORTING TEXTS, MANUALS
3)MATLAB USER’S GUIDE.
4)NVIDIA GPU PROGRAMMING GUIDE