Table of Contents

Special Topics in Computer Science I (CS493) in Summer 2018: Algorithmic Foundation of Numerics

This course offers a hands-on introduction to the rigorous foundations of computing with continuous data (real numbers, sequences, functions): from in/computability via complexity to programming practice.

Purpose and Goals

We emphasize the difference between a recipe/heuristic and an algorithm. You will be reminded of aspects from the classical (i.e. discrete) Theory of Computation, from computability to complexity. We then apply it to numerical problems, yielding a rigorous perspective on the (i) computability, (ii) complexity, and (iii) semantics of: real tests, root finding, differentiation, maximization, integration, ODE and PDE solving. The course culminates in a programming assignment in iRRAM: a C++ library providing via object-oriented overloading an abstract data type REAL. In addition, each week will conclude with a theoretical homework assignment.

Administrative

Lecturer: Martin Ziegler

Language: English only

Prerequisites: Introduction to Computer Science, Discrete Mathematics, Calculus I, C++, root on some Linux computer

Teaching Assistant: Donghyun Lim

Test questions for self-assessment of mathematical background:

  1. What does it mean for a sequence to converge?
  2. What does it mean for a function to be continuous?
  3. What does it mean for a set to be compact?
  4. Why is every continuous function on a compact domain uniformly continuous?

Grading: 10% attendance, 50% homework/programming assignments, 40% final exam

There will be 3 small homework/programming assignments throughout July and a final exam on July 25+26 (two parts).

Schedule

in E3-1 #3444

Synopsis

    • Halting Problem
    • Un/Semi/Decidability/Enumerability
    • WHILE+ Programs
    • Asymptotic Runtime
    • Complexity classes P, NP, EXP
    • (Polynomial-time) Reduction
    • Computable Real numbers: non/equivalent notions
    • Equality, real sequences and limits
    • Computing real functions, Effective Weierstrass Theorem
    • Computational cost, compactness, and continuity
    • Uncomputable derivative
    • Non-extensionality, discrete enrichment
    • Semantics of tests and choose()
    • iRRAM library
    • Example Algorithms
    • Polynomial-time reals
    • Polynomial-time functions
    • Maximizing smooth functions and P/NP
    • Riemann Integration and #P, ODEs and PSPACE

Reading List

Suggested Literature

E-Learning