Faculty of Science Home Page University of Alberta Home Page

CMPUT 340 Description

Some of the most challenging computing problems involve the numerical calculation of solutions to problems from continuous mathematics. Examples include predicting the weather, simulating the space shuttle's reentry into the atmosphere, calculating the strengths of structures (bridges, houses, airplanes etc).

Three main goals in this course are (1) to learn how to go from a real world problem to a mathematical model, (2) to learn about methods and algorithms to compute numerical solutions to mathematical problems and (3) how to analyze the errors in numerical computation.

The majority of time is spent on (2) numerical methods. In linear algebra you learned how to compute the solution to a set of simultaneous linear equations, and hand-calculated small solutions. In this course we will see that the solution to a linear system can be expressed using matrix factorization (LU factorization) and then that there are several other factorizations (Cholesky, QR, SVD, Eigen factorizations etc). We continue to learn how non-linear equations systems can also be solved numerically through repeated solution of a linear system.

Similarly, in math 214 you learned how to analytically integrate various functions, but probably also remember that not all integrals have an analytical solution. Here we will learn different methods for computing numerical solutions to integrals even if there is no analytical solution. We also learn how to integrate/solve a variety of differential equations.

While the main goal might seem to be to compute a numerical solution, equally important is to know how good that solution is. Input data is often (ie should be) given with tolerances, e.g. 8Kg +-10%. We learn how to analyze how these errors are propagated in a mathematical formula, as well as how much error is added during calculations.

Ultimate satisfaction is reached when one masters the whole chain from identifying a real world problem, modeling it, solving and analyzing the solution. While mathematical modeling of the real world in general also requires domain knowledge in e.g. physics and other sciences, we try to exemplify the process using basic examples. See the assignments on the course web site to get an idea.

Finally, a precaution. Many students find this course mathematically challenging, and those who most doubt their mathematical capability tend to put it off the longest, often to their final semester. We instead recommend to take it as early as possible, directly after your calculus and linear algebra courses. That way you will have the math fresh when taking 340, you will benefit from having done 340 in numerous other elective courses (e.g. machine learning, image processing etc), and you won't risk delaying graduation if you have to retake it (about 10% took it two times this past semester).