The objective is to provide a beginner level introduction to the concept of low-rank approximation, in particular as a regularisation method for solving linear inverse problems. The tutorial does not provide an in-depth mathematical background nor detailed explanations for every topic. Tutees should supplement this tutorial with further reading of the various references provided in the notebooks for a more comprehensive understanding of the subject. More information about how cutting-edge sparsity techniques are being applied to astrophysical data is available on the CosmoStat website.
This tutorial is comprised of a Jupyter notebook that demonstrate how the low-rank approximation works as well as showing the applicability of this tools to various simple problems.
All code blocks are provided in Python (support for >=3.5) and the number of external packages required to run the examples has be kept to a minimum. All of the code has been clearly presented inside the notebook at least once to avoid the use of any "black boxes" for solving the problems presented.
In order to run the tutorial notebooks tutees will need to have the following installed:
- Python (require >=3.5)
- NumPy (recommend >=1.16.2)
- SciPy (recommend >=1.2.1)
- Astropy (recommend >=3.1.2)
- Matplotlib (recommend >=3.0.3)
- Jupyter (recommend >=1.0.0)
All of the packages listed above can easily be installed using either
pip or Anaconda.
$ pip install numpy scipy astropy matplotlib jupyter
$ conda install numpy scipy astropy matplotlib jupyter
S. Farrens would like to acknowledge the following people for helpful feedback and ideas for producing this tutorial: Fred Ngolè-Mboula.