Julia day at Jussieu

After some requests from people at Jussieu and CERMICS, there will be a day about the programming language Julia day at Jussieu on 13th December 2019. For details see Time and location. I’ll also post the teaching material right here. Everybody’s welcome!

Time and location

The course will take place at the Jussieu campus of Sorbonne Université. In the morning we will be in the seminar room of the LJLL, that is room 15-16-3-09, 3rd floor in tower 16, roughly here. In the afternoon we will be in the library of the LCT.

What is planned?

As you might know, Julia is a comparatively recent programming language, which is high level, but still fast. Similar to MATLAB or python with numpy, this makes it a great language for mathematically-driven developments in scientific computing. The idea of the day is to introduce Julia, Julia development and our Julia project, the density-functional tool kit (DFTK).

Rough schedule

TIME LOCATION SESSION
09:30 – 12:30 LJLL Introduction to basic Julia: Multiple dispatch, control structures, matrices and linear algebra
12:30 – 14:00 Lunch break
14:00 – 15:30 LCT Noteworthy Julia packages and their use in DFTK
15:30 – 16:30 LJLL Introduction to DFTK (EMC2 seminar)

There is no reason to feel obliged to attend the full day. People only interested in getting an idea of Julia, but not DFTK could e.g. only attend the first session. The second session will be more specific to electronic structure theory and mathematical approaches to the relevant problems, so non-linear solvers, iterative solvers for eigenproblems. I’ll be flexible in this session and if you want something specific to be discussed, please get in touch. The talk in the final hour will be summarising DFTK and does not require attending any of the previous sessions.

Bring your laptops!

I plan to present Julia interactively using Jupyter notebooks, perhaps with a few short exercises to give you the chance to try Julia directly in the sessions. If you want take advantage of this, you should bring your laptop and have a working Julia installation before the first session of the day, including the IJulia package. I recommend using Julia 1.3 (download link), but really any Julia above 1.0 should suffice. For instructions how to install IJulia, see the IJulia website.

Teaching material

Links and further references

Installation

Documentation and tutorials

  • Julia documentation
  • ThinkJulia: Great comprehensive book to get a computer-science-motivated view on Julia. Suitable for programming beginners.
  • Julia Express: Extremely condensed collection of Julia statements, syntax and facts to get a quick overview. Little explanations.
  • IntroToJulia: Collection of Julia-related links and facts.
  • Julia learning: Most exhaustive overview of Julia learning resources I know.