Algorithms of Scientific Computing - Summer 14
- Term
- Summer 2014
- Lecturer
- 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
- Audience
- see module description (IN2001) in TUMonline
- Tutorials
- Kilian Röhner, Denis Jarema
- Exam
- (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
- TUMonline
- Algorithms of Scientific Computing
Contents
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
Material
Lecture slides and worksheets will be published here as soon as they become available.
Fast Fourier Transform
- Discrete Fourier Transform (DFT) - Apr 11
- Fast Fourier Transform (FFT) - Apr 11, 14, 25
- Further Material: Website of FFTW (a fast library to compute the DFT); in particular, see the chapter on Implementing FFTs in Practice by the FFTW developers
- FFT on real data - Apr 25, 28
- additional info: paper Paul N. Swarztrauber - Symmetric FFTs (access via LRZ proxy necessary, or see the preprint on the NCAR website)
- Quarter-Wave-Fourier Transform and Discrete Cosine Transform - Apr 28, May 2
- matlab central: jpeg compression
- an embarrassingly simple simple JPEG-simulator (Java program)
- Discrete Sine Transform - May 5, 7 (mostly discussed in the tutorial)
- Fast Poisson Solvers - May 5
Hierarchical Methods
- Classification and Data Mining - May 9
- Archimedes' Quadrature 1D - May 9, 12
- Hierarchical Basis in 1D - May 12
- Wavelets - May 16, 19
- Archimedes Quadrature in d Dimensions - May 23
- Hierarchical Basis in d Dimensions - May 26, 30
- "separate proof" for estimating surpluses (outlook, May 30)
- Data Structures for Sparse Grids - Jun 4, 6
- Finite Element Methods - Jun 6 (outlook; Finite Element Methods will not be an exam topic)
Space-Filling Curves
- From Quadtrees to Space-Filling Curves - June 13
- Hilbert Curve (Construction, Definition, and Grammars) - Jun 16
- Approximating Polygons and Fractals - Jun 20
- Hilbert Curve (Arithmetization) - Jun 23
- Space-filling curves and parallelisation - Jun 27
- 3D Space-filling Curves - Jun 30
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:
- W.L. Briggs, Van Emden Henson: The DFT - An Owner's Manual for the Discrete Fourier Transform, SIAM, 1995 (available as e-book)
- Thomas Huckle, Stefan Schneider: Numerische Methoden - Eine Einführung für Informatiker, Naturwissenschaftler, Ingenieure und Mathematiker, Springer-Verlag, Berlin-Heidelberg, 2.Auflage 2006 (German only)
- Charles van Loan: Computational Frameworks for the Fast Fourier Transform, SIAM, 1992 (available as e-book)
Hierarchical Methods and Sparse Grids
- Skript of H.-J. Bungartz for the lecture "Rekursive Verfahren und hierarchische Datenstrukturen in der numerischen Analysis" (German only)
- General overview paper on Sparse Grids
- Chapter on Sparse Grids in this book
Wavelets
- E. Aboufadel, S. Schlicker: Discovering Wavelets, Whiley, New York, 1999 (available as e-book).
- Collection of Wavelet tutorials (maintained by E. Aboufadel and S. Schlicker)
- J.S. Walker: A Primer on Wavelets and their Scientific Applications, Second Edition, Chapman and Hall/CRC, 2008.
- J.S. Walker: Wavelet-based Image Compression (download as PDF)
Space-filling Curves:
- Michael Bader: Space-Filling Curves - An introduction with applications in scientific computing, Texts in Computational Science and Engineering 9, Springer-Verlag, 2012
( available as eBook, also in the TUM library) - Hans Sagan: Space-Filling Curves, Springer-Verlag, 1994