Matematiikan ja tilastotieteen laitoksen kurssisivualue

Skip to end of metadata
Go to start of metadata

Applications of matrix computations, fall 2013

A course connecting mathematics and real-world applications

Kurssi luennoidaan pääosin suomeksi, mutta ulkomaalaisten opiskelijoiden huomioonottamiseksi materiaali on tarjolla englanniksi.

(The picture above shows the singular value decomposition of a random matrix. It is created by this Matlab file .)

Industrial research and development is increasingly based on computational technology and mathematical modeling, where numerical linear algebra is a core methodology.  Costly physical tests such as automotive collision tests may be carried out by simulations. Complex measurement equipment can be replaced by indirect measurements with mathematical interpretation.

In a digitalizing world products and services are algorithms. For example, Google's search engine uses the eigenvalues of matrices, and in virtual worlds the lighting is calculated by inverting the radiosity matrix.

 This picture was created in last year's course using Matlab, depicting a simple virtual room with a rectangular lamp in the roof:

Matrix decompositions enable powerful applications, such as automatic recognitions of faces. Principal component analysis divides a set of portraits into an average face and deviations from it. This is a picture computed in the 2012 course:

Applied and industrial mathematical problems cannot be solved only on the blackboard, but the end result needs to be an algorithm. A mathematician applying for an application job gets typically asked these two questions:

  1. Do you know how to program mathematical methods, using for example Matlab?

  2. Have you worked with noisy data?

After completing this course you can answer yes to both of these questions.

Also in mathematical research it is possible to generate new knowledge and to test hypotheses computationally. Most numerical problems are formulated as matrix computations using Matlab software.

This course introduces key techniques of matrix computation and their implementation in Matlab software. We pay special attention to the visualization of results. The topics discussed include:

Linear least squares problem
 and Principal Component Analysis

Eigenvalues and diagonalization

Matrix decompositions (singular value decomposition, QR decomposition, non-negative matrix decomposition)

Mathematical modelling 


Sarah Hamilton and Samuli Siltanen


5 sp.


Intermediate studies


Basics of linear algebra (the first year courses Linear Algebra I and II). Some experience with Matlab (or Octave) software is needed. If you are new to Matlab, please study Chapter 1 of this tutorial. Then you are ready to start.
In order to check your knowledge with Matlab, please try to complete the following set of exercises.
You can check answers here


Solving the exercises (no separate exam). 


David Poole: Linear Algebra: a Modern Introduction, 2nd edition, Thomson 2006


Did you forget to register?  What to do?


Weeks 44-49 Wed 10-12, Fri 12-14 in hall CK112 of Exactum. Two hours of exercise classes per week.

Lecture 1 (October 30, 2013): Introduction to matrix modelling. See Introduction (5 MB, pdf file) and Xray_tomography_introduction (3.7 MB, pdf file)
The very basic starting point is the calculation of the number of cows and chicken on a farm when the number of feet and heads is known. See Farm_example.m.
A slightly more complicated example concerns least squares fitting a line into noisy data points. See  regression.m.

Lecture 2 (November 1, 2013): 
Discussion of matrix eigenvalues and diagonalization.

Application of matrix eigenvalues to Google's PageRank algorithm.

Lecture 3 (November 6, 2013): Markov chain model applied to market share analysis. TeleOperatorComputation.pdf

Plotting a function of one variable in Matlab. See PlotSineFunction.m and this blog post.

Also: preliminary introduction to the radiosity method for computing lighting for virtual spaces. radiosity1.m

Lecture 4 (November 8, 2013): 

Numerical one-dimensional integration using Riemann integration, Simpson's rule and Gaussian quadrature. Riemann.m Bart1.m gaussint.m Gauss1.m

Numerical two-dimensional integration over a square using Simpson's rule. Bart1_2D.m

Numerical two-dimensional integration over the unit disc using polar coordinates and Gaussian quadrature. Gauss_2D.m 

Lecture 5 (November 13, 2013):

Downsampling and upsampling of images. im2by2.m

Principal component analysis (PCA): datapoints.mat PCA3D_plot.m

  • Using covariance matrices: PCA2.m
  • Using Singular Value Decomposition: PCA4.m

Lecture 6 (November 15, 2013):

Facial recognition with PCA and eigenfaces.  Check out the the seminar paper by Turk and Pentland.  

Lecture 7 (November 20, 2013): Computation of Fourier series approximations to functions.

Lecture 8 (November 22, 2013): Frequency analysis of black-and-white images using Fast Fourier Transform (FFT).

Picture of hoverfly on a white flower: Fly2.tif

Matlab file for frequency analysis of the above image: flyFFT2.m

Lecture 9 (November 27, 2013): Introduction to compressed sensing, based on this article by Kurt Bryan and Tanya Leise.
The article has been published in SIAM Review, volume 55, number 3. The sound examples are available at this page.

The l1magic Matlab package can be found here. It is created by Emmanuel Candès and Justin Romberg. You need to download the files
and follow the instructions how to use them. Open the file called l1magic_notes.pdf and see the instructions how to solve the problem (P1)
introduced on Page 1. Those instructions are in Section 3.1. 

Matlab file created during the lecture: compsenstest1.m.

Lecture 10 (December 4, 2013): Finalization of the radiosity example. radiosity5.m

Weekly exercises



Exercise Points



Weeks / Viikot 45-49 

You gain credits from this course only by computing the exercises (there is no exam). There are four simple one-score exercises and two more challenging three-score exercises per week. To gain the exercise score send a single pdf-file (no other formats are accepted!) written with your favourite text-editing program and containing your matlab codes (as text), results, images, comments and explanations to the e-mail address by Monday 10 a.m. after the exercise week (for ex. by 11th November 10 a.m. for Exercise 1). Please write in the text of your e-mail which tasks are included in your solution (for ex. Hi! I am sending my solutions to tasks 1, 2, 3, and 5 in the 1st exercise round. Best wishes, Mary Math). The assistans will not reply the e-mails.

The exercise groups are for getting advice from an assistant in solving the exercise problems. You can attend any group you like, provided there is room.

The exercise assistants are Tuomas Nikkonen, Zenith Purisha and Maaria Rantala.

Kurssi suoritetaan vain tekemällä harjoitustehtäviä (ei erillistä tenttiä). Kullakin harjoitusviikolla on neljä yksinkertaista yhden pisteen tehtävää ja kaksi haastavampaa kolmen pisteen tehtävää. Tehtäväpisteet saa lähettämällä yhden pdf-tiedoston (ei muita formaatteja!), jonka olet kirjoittanut suosikkitekstinkäsittelyohjelmallasi ja jossa ovat matlab-koodit (tekstinä), tulokset, kuvat, kommentit ja selitykset, osoitteeseen viimeistään harjoitusviikkoa seuraavana maanantaina klo 10 (esim. harjoitukset 1 viimeistään 11.11. klo 10). Laita sähköpostisi viestiosioon tieto siitä, mitkä tehtävät ratkaisit (esim. Hei! Tässä vastaukseni kierroksen 1 tehtäviin 1, 2, 3 ja 5. Terveisin Maija Matikka). Sähköposteihin ei lähetetä varmistusvastauksia.

Harjoitusryhmissä assistentti neuvoo tehtävien ratkaisemisessa. Voit osallistua mihin ryhmään tahansa, jos huoneessa on tilaa.

Harjoituksia pitävät Tuomas Nikkonen, Zenith Purisha and Maaria Rantala.








  • No labels