Over the past half a year I became interested
in the julia
programming language.
It is a rather recent language (version 1.0.0 just released last August),
which promises to provide a modern approach to scientific computing.
From my experience so far, I like julia
a lot.
All aspects of the code, let it be parallelisation, vectorisation,
macros, generic code and so on, are consistently designed and fit together very well.
In contrast to e.g. python
, it is thus not required
to employ a specialised external package
with its associated way of doing the computation in parallel for a
large-scale problem.
In julia
parallelisation is usually automatic or can be added with little manual effort.
Whilst julia
code might not necessarily beat C++ code with respect to
performance in all cases,
it certainly is written much faster.
To test julia
in a larger setting than just a toy project,
I decided to work towards a julia
toolbox for coding and experimenting
with self-consistent field algorithms.
Over the summer Tobias Wackenhut participated in the development
during his internship with us in Heidelberg.
After about two solid months of coding, mostly from his end,
a first version with support for solving Hartree-Fock problems
has now been implemented.
For further details, the project code and some examples, see the SelfConsistentField.jl project page on github.