Convex and Nonlinear Numerical Optimization (MM25)


The exam will take place in the Lecture Hall 2 (HS2) in the Physics building (Kirchhoff-Institut für Physik, KIP, INF 227) on February 14th 2020 at 14:15.

Inspection of the Exam

Your inspection of the exam will take place in room 4/200 in the Mathematikon on February 19th 2020 at 14:00-15:00.


The lecture is organized into two parts.

Part 1 is devoted to convex analysis and programming which play a key role in computational data analysis and also provide the basis for nonconvex problems (Part 2). Keywords: smooth and nonsmooth convex analysis, conjugation and duality, conic programs, operator splitting, deterministic and stochastic convex optimization.

Part 2 is devoted to nonconvex problems with additional structure that enables to design convergent algorithms. Keywords: elementary Riemannian manifolds, retractions, nonpositive curvature, Riemannian means, Kurdyka-Lojasiewicz property and global proximal optimization.

Basic problems from machine learning and computational data analysis illustrate the application of these concepts.


Place & Time

  • Lecture: Tuesday and Friday from 11-13 in seminar room 6 in the Mathematikon (INF 205)
  • Exercise class: Thursday 9-11 in seminar room 7 in the Mathematikon (INF 205), the first exercise class will be on the 24th of October.


English or German, as the audience requests.

Target Audience

Students of mathematics and scientific computing interested in numerical optimization, with a focus on applications to data analysis and machine learning.


Mandatory undergraduate courses on analysis and linear algebra.


If you wish to attend the lecture and the exercises, please sign up using MÜSLI.


Each week there will be an exercise sheet you can voluntarily work on. The exercises will not be collected and corrected, but the solutions will be presented in the exercise class.

Some exercise sheets contain (voluntary) programming exercises, which also will be discussed in the exercise class. We recommend programming the exercises with Python and numpy. A basic understanding of Python and numpy should be sufficient for most exercises.

Examination Modalities

If you cannot attend the exam on February 14th 2020, write a mail to Alexander Zeilmann until February 21th 2020, 23:59 stating that you want to attend a second exam.

The second exam will (most likely) take place around the beginning of the next semester. So far the date is not fixed.

Further information:

  1. You can attend at most two exams.
  2. If you pass your first exam, you cannot attend a second exam.
  3. You do not have to register for the first exam. Just show up.
  4. For the second exam, as stated above, you have to notify us if you want to attend. However, as for the first exam, you register for the exam by showing up.
  5. If you do not attend an exam and you hand in a medical attest of sickness in the office of Alexander Zeilmann up until one week after the planned date of the exam, you can repeat this exam. This holds true for your first and second exam.
  6. If you do not attend the first exam and do not hand in a medical attest of sickness you can attend the second exam, but there will be no third exam for you.
  7. There are no auxiliary means allowed. You should bring a pen, your student identity card and your normal identity card (Personalausweis) or driver's license.

Using Mathematica

Go to the Wolfram Programming Lab and click on the orange button. This brings you to a tutorial notebook. With the file menu in the light grey bar, you can create an empty notebook. In the notebook, you can paste the code from the code files below. Execute the code with Shift+Enter.

Lecture Notes

Exercise Sheets