Difference between revisions of "Algorithms of Scientific Computing - Summer 14"

From Sccswiki
Jump to navigation Jump to search
 
(17 intermediate revisions by 3 users not shown)
Line 7: Line 7:
 
| audience = see [https://campus.tum.de/tumonline/wbStpModHB.detailPage?&pKnotenNr=456346 module description (IN2001)] in TUMonline  
 
| audience = see [https://campus.tum.de/tumonline/wbStpModHB.detailPage?&pKnotenNr=456346 module description (IN2001)] in TUMonline  
 
| tutorials = [[Kilian_Röhner, M.Sc.|Kilian Röhner]], [[Denis Jarema, M.Sc. (hons)|Denis Jarema]]
 
| tutorials = [[Kilian_Röhner, M.Sc.|Kilian Röhner]], [[Denis Jarema, M.Sc. (hons)|Denis Jarema]]
| exam = Thursday, Jul 17, 2014, 13:00-14:30 (Interimshörsaal 1), <b>1 handwritten DinA4 page</b> (both sides) is the only allowed aid
+
| exam = (repeat exam) Monday, Oct 6, 2014, 9:00-10:30 (MW 1050, engineering department), <b>1 handwritten DinA4 page</b> (both sides) is the only allowed aid
 
| tumonline = [https://campus.tum.de/tumonline/lv.detail?clvnr=950136726 Algorithms of Scientific Computing]
 
| tumonline = [https://campus.tum.de/tumonline/lv.detail?clvnr=950136726 Algorithms of Scientific Computing]
 
}}
 
}}
Line 20: Line 20:
 
** '''July 10, 10-12: lecture in MI 02.07.023'''
 
** '''July 10, 10-12: lecture in MI 02.07.023'''
 
** '''July 11, 10-12: tutorial in MI 01.10.011'''
 
** '''July 11, 10-12: tutorial in MI 01.10.011'''
 +
* The '''Exam Review''' will take place on August 7th, 1pm - 2pm in room MI 02.05.058.
 
-->
 
-->
 +
* Wed, Oct 15, '''10.00 - 11.00''' (MI 02.05.058)
 
* '''June 2&4: Change of lecture and tutorial'''
 
* '''June 2&4: Change of lecture and tutorial'''
 
** Monday, June 2: tutorial in room MI 02.07.023
 
** Monday, June 2: tutorial in room MI 02.07.023
Line 84: Line 86:
 
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/fem_asc.pdf Finite Element Methods] - Jun 10, 13
 
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/fem_asc.pdf Finite Element Methods] - Jun 10, 13
 
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/Maple/fe.mws Maple worksheet for Poisson-FEM] ([http://www5.in.tum.de/lehre/vorlesungen/asc/ss12/Maple/fe.pdf and as PDF])
 
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/Maple/fe.mws Maple worksheet for Poisson-FEM] ([http://www5.in.tum.de/lehre/vorlesungen/asc/ss12/Maple/fe.pdf and as PDF])
 +
-->
  
 
=== Space-Filling Curves ===
 
=== Space-Filling Curves ===
  
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/quadtrees.pdf From Quadtrees to Space-Filling Curves] - June 24
+
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/quadtrees.pdf From Quadtrees to Space-Filling Curves] - June 13
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/sfc.pdf Hilbert Curve (Construction, Definition, and Grammars] - Jun 24, 26
+
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc.pdf Hilbert Curve (Construction, Definition, and Grammars)] - Jun 16
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/Hilbert_Plotter.ipynb IPython Notebook script for Hilbert curve grammar]
+
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/Hilbert_Plotter.ipynb IPython Notebook script for Hilbert curve grammar]
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/sfc_hilbert_plotter_adp.ipynb IPython Notebook script Hilbert curve on a quadtree] - Jul 1
+
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc3.pdf Approximating Polygons and Fractals] - Jun 20
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/sfc2.pdf Hilbert Curve (Arithmetization)] - Jul 1, 4
+
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc2.pdf Hilbert Curve (Arithmetization)] - Jun 23
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/sfc_hilbert_arith.ipynb IPython Notebook script for Hilbert curve arithmetization]
+
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc_hilbert_arith.ipynb IPython Notebook script for Hilbert curve arithmetization]
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/sfc3.pdf Approximating Polygons and Fractals] - Jul 8
+
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc_par.pdf Space-filling curves and parallelisation] - Jun 27
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/sfc_3D.pdf 3D Space-filling Curves] - Jul 10
+
** [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc_hilbert_plotter_adp.ipynb IPython Notebook script Hilbert curve on a quadtree]
 
+
* [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/sfc_3D.pdf 3D Space-filling Curves] - Jun 30
-->
 
  
 
== Worksheets and Solutions ==
 
== Worksheets and Solutions ==
Line 124: Line 126:
 
  || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/blatt9.pdf Worksheet 9] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/Worksheet9.tgz py/ipynb] || 11.6.2014 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/solution9.pdf solution9.pdf] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/Worksheet_9_solution.pdf IPyNb solution]
 
  || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/blatt9.pdf Worksheet 9] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/Worksheet9.tgz py/ipynb] || 11.6.2014 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/solution9.pdf solution9.pdf] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt9/Worksheet_9_solution.pdf IPyNb solution]
 
|-
 
|-
<!--
+
| 10 || Grammars for Space-filling Curves  || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt10/blatt10.pdf Worksheet 10] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt10/sheet10_template.py py(template) ] || 18.6.2014 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt10/solution10.pdf solution] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt10/Worksheet_10.ipynb IPyNb solution]
| 10 || Space-filling Curves, Warm up || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt10/blatt10.pdf Worksheet 10] || 26.6.2013 || ---
 
 
|-
 
|-
| 11 || Grammars for Space-filling Curves || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt11/blatt11.pdf Worksheet 11] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt11/sheet11_template.py py(template) ] || 3.7.2013 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt11/solution11.pdf solution 11] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt11/sheet11_solution.py py(solution)]
+
| 11 || Arithmetization of Space-filling Curves || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt11/blatt11.pdf Worksheet 11] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt11/sheet11_template.py py(template) ] || 25.6.2014 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt11/solution11.pdf solution] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt11/Worksheet_11.ipynb IPyNb solution]
 
|-
 
|-
| 12 || Arithmetization of Space-filling Curves || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt12/blatt12.pdf Worksheet 12] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt12/sheet12_template.py py(template) ] || 10.7.2013 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt12/solution12.pdf solution 12] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/blatt12/sheet12_solution.py py(solution)]
+
| 12 || Refinement Trees and Parallelization with Space-Filling Curves || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt12/blatt12.pdf Worksheet 12] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt12/sheet12_template.py py(template)] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt12/sfc_plot.py py(sfc plotting)] || 2.7.2014 || [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt12/solution12.pdf solution] [http://www5.in.tum.de/lehre/vorlesungen/asc/ss14/blatt12/Worksheet_12.ipynb IPyNb solution]
-->
 
 
|}
 
|}
  
Line 137: Line 137:
 
** 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 ([http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/startNotebook.bat download example], place it in the desired directory).
 
** 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 ([http://www5.in.tum.de/lehre/vorlesungen/asc/ss13/startNotebook.bat download example], place it in the desired directory).
  
== Exam ==
+
== Repeat Exam ==
 
* type: written exam, duration: 90 min
 
* type: written exam, duration: 90 min
* time, date, room: '''Thu, Jul 17''', 2014, '''13.00-14.30''' ('''Interim 1''' - in the black building in front of FMI)
+
* 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 13.00; please be in the exam room '''by 12.45''', at the latest!
+
** note that the exam will start precisely on 9.00; please be in the exam room '''by 8.45''', at the latest!
 
* helping material:
 
* helping material:
 
** you may use one '''hand-written''' sheet of paper (size A4, front and back may be used)
 
** 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
 
** no other helping material of any kind is allowed
 
* '''please make sure that you register in TUMonline'''
 
* '''please make sure that you register in TUMonline'''
* exam review: t.b.a.
+
* exam review: Wed, Oct 15, '''10.00 - 11.00''' (MI 02.05.058)
  
 
== Literature and Additional Material ==
 
== Literature and Additional Material ==

Latest revision as of 09:39, 10 October 2014

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



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

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

Wavelets

Space-filling Curves: