If you don’t want to be bothered trying out the numerical simulations, you are all set if you have an EdX account and you are signed up for the course.
However we strongly recommend to not skip the numerical simulations part. Following it will help you to develop intuition about how the topological systems behave. The numerical simulations can also serve as an extremely useful tool helping both in experiments and theory.
To get going with the simulations, you will need to get the computational software. Specifically you need:
The installation should be straightforward. Installation of most of the requirements is described here.
If you are using Windows, you are all set after following the above instructions.
The easiest way to install kwant
when you are using Linux or OS X is with conda
which comes with Miniconda, a Python distribution.
wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh
bash Miniconda3-latest-MacOSX-x86_64.sh
and follow its instructions. Make sure that conda
is in your PATH, which you can do by adding export PATH="$HOME/miniconda3/bin:$PATH"
to your .bashrc
or .bash_profile
.
conda config --add channels conda-forge
conda install kwant holoviews notebook feedparser
A separate mention of the software we use goes to Jupyter notebooks.
Every document that you see in our course (including the one that you are reading right now) was prepared as a Jupyter notebook.
These notebooks are extremely handy, they allow:
The combination of the above nice properties with many more and with Jupyter being free software lead to the notebooks being highlighted in Nature.
For a short presentation of Jupyter notebooks just use Help -> User Interface Tour
inside the notebook.
Showing the results of your work is very easy.
If you are using Sage Cloud, you can just click the “share the notebook” button when you have it opened, and copy the URL.
Otherwise you can make the notebook visible online (for example by putting it in your Dropbox public folder or something similar), copy link, and paste it into http://nbviewer.ipython.org.
For most of the simulations of condensed matter systems we are going to use the Kwant package. You can learn Kwant in more detail by following the tutorial, however we aim that for most of the exercises you will be able to learn by doing. The starting point of the exercises are the notebooks used in the lectures, and you should be able to solve them by only modifying the contents not too much.
The same applies to Python and the Python scientific stack (NumPy, SciPy, Matplotlib): these are easy to use, especially when you have code examples. If you are new to programming and wish to get acquainted with Python, here are several example courses that start from the basics and slowly go into advanced topics. There are of course several MOOCs as well, but you will likely not need as much programming skill.
Do you have questions about installation? Use this discussion: