Algorithms of Scientific Computing - Summer 14

From Sccswiki
Jump to navigation Jump to search
Summer 2014
Michael Bader
Time and Place
Mondays 8:30-10:00 (MI HS 3) and Fridays 10-12 (MI HS 2), starting April 7
Tutorial: Wednesdays 10-12, room MI 02.07.023
see module description (IN2001) in TUMonline
Kilian Röhner, Denis Jarema
(repeat exam) Monday, Oct 6, 2014, 9:00-10:30 (MW 1050, engineering department), 1 handwritten DinA4 page (both sides) is the only allowed aid
Semesterwochenstunden / ECTS Credits
6 SWS (4V + 2Ü) / 8 Credits
Algorithms of Scientific Computing

News & Announcements

  • Wed, Oct 15, 10.00 - 11.00 (MI 02.05.058)
  • June 2&4: Change of lecture and tutorial
    • Monday, June 2: tutorial in room MI 02.07.023
    • Wednesday, June 4: lecture in room MI 02.07.023
  • Easter Break:
    • the lectures on Fri, Apr 18, and Mon, Apr 21, will be cancelled due to the Easter holidays
    • the tutorial on Wed, Apr 23, will be skipped due to the student assembly (Math/Phys/Info)

What's ASC about?

Many applications in computer science require methods of (prevalently numerical) mathematics - especially in science and engineering, of course, but as well in surprisingly many areas that one might suspect to be directly at the heart of computer science:

Consider, for example, Fourier and wavelet transformations, which are indispensable in image processing and image compression. Space filling curves (which have been considered to be "topological monsters" and a useless theoretical bauble at the end of the 19th century) have become important methods used for parallelization and the implementation of data bases. Numerical methods for minimization and zero-setting are an essential foundation of Neural Networks in machine learning.

Essentially, these methods come down to the question of how to represent and process information or data as (multi-dimensional) continuous functions. Algorithms of Scientific Computing (former Algorithmen des Wissenschaftlichen Rechnens) provides a generally understandable and algorithmically oriented introduction into the foundations of such mathematical methods. Topics are:

  • The fast Fourier transformation (FFT) and some of its variants:
    • FCT (Fast Cosine Transform), real FFT, Application for compression of video and audio data
  • Space filling curves (SFCs):
    • Construction and properies of SFCs
    • Application for parallelization and to linearize multidimensional data spaces in data bases
  • Hierarchical and recursive methods in scientific computing
    • From Archimede's quadrature to the hierarchical basis
    • Cost vs. accuracy
    • Sparse grids, wavelets, multi-grid methods


Lecture slides and worksheets will be published here as soon as they become available.

Fast Fourier Transform

Hierarchical Methods

Space-Filling Curves

Worksheets and Solutions

Number Topic Worksheet Date Solution
1 Discrete Fourier Transform I Worksheet 1 Python Introduction 9.4.2014 solution IPyNb solution
2 Discrete Fourier Transform II Worksheet 2 16.4.2014 solution IPyNb solution
3 Discrete Cosine Transformation Worksheet 3 30.4.2014 solution IPyNb solution
4 Discrete Sine Transformation Worksheet 4 7.4.2014 solution IPyNb solution
5 Numerical Quadrature for One-dimensional Functions Worksheet 5 py/ipynb 14.5.2014 solution
6 Scaling Functions, The Haar Wavelet Family Worksheet 6 py/ipynb 21.5.2014 IPyNb solution
7 Multi-dimensional Quadrature Worksheet 7, exercise7.ods 28.5.2014 solution7.pdf
8 Hierarchization in Higher Dimensions, Combination Technique Worksheet 8 py/ipynb 2.6.2014 solution8.pdf IPyNb solution
9 Adaptive Sparse Grids, One-dimensional Sparse Grids—An Adaptive Implementation Worksheet 9 py/ipynb 11.6.2014 solution9.pdf IPyNb solution
10 Grammars for Space-filling Curves Worksheet 10 py(template) 18.6.2014 solution IPyNb solution
11 Arithmetization of Space-filling Curves Worksheet 11 py(template) 25.6.2014 solution IPyNb solution
12 Refinement Trees and Parallelization with Space-Filling Curves Worksheet 12 py(template) py(sfc plotting) 2.7.2014 solution IPyNb solution

IPython Notebook

  • If you want to use a local installation of IPython Notebook on your laptop or home computer, just refer to the IPython Notebook website on how to install IPython Notebook on Linux, Windows or MAC platforms
    • If you install IPython Notebook for Windows, it might happen that starting it from the "Start" menue will open an IPython server website, but that you cannot create or import any new Python notebooks. In that case, try to start IPython Notebook from the command line via "ipython notebook --notebook-dir=.\" (from the directory where you want to store the Python notebooks); you can also create a batch file for this (download example, place it in the desired directory).

Repeat Exam

  • type: written exam, duration: 90 min
  • time, date, room: Mon, Oct 6, 2014, 9.00-10.30 (MW 1050 - in the engineering department)
    • note that the exam will start precisely on 9.00; please be in the exam room by 8.45, at the latest!
  • helping material:
    • you may use one hand-written sheet of paper (size A4, front and back may be used)
    • no other helping material of any kind is allowed
  • please make sure that you register in TUMonline
  • exam review: Wed, Oct 15, 10.00 - 11.00 (MI 02.05.058)

Literature and Additional Material

Fast Fourier Transform:

The lecture is oriented on:

Hierarchical Methods and Sparse Grids


Space-filling Curves: