Tools for Scientific Computing 0.3 documentation
Lecture notes »Tools for Scientific Computing«
Contents
::
1.
Introduction
»
Lecture notes »Tools for Scientific Computing«
¶
1. Introduction
2. Version Control with Git
2.1. Why version control?
2.2. Centralized and distributed version control systems
2.3. Getting help
2.4. Setting up a local repository
2.5. Basic workflow
2.6. Working with branches
2.7. Collaborative code development with GitLab
2.8. Sundry topics
2.8.1. Stashing
2.8.2. Tagging
2.8.3. Detached head state
2.8.4. Manipulating history
3. Testing of code
3.1. Why testing?
3.2. Doctests
3.3. Testing with pytest
4. Scientific computing with NumPy and SciPy
4.1. Python scientific ecosystem
4.2. NumPy
4.2.1. Python lists and matrices
4.2.2. NumPy arrays
4.2.3. Creating arrays
4.2.4. Indexing arrays
4.2.5. Broadcasting
4.2.6. Universal functions
4.2.7. Linear algebra
4.3. SciPy
5. Run-time analysis
5.1. General remarks
5.2. Some pitfalls in run-time analysis
5.3. The
timeit
module
5.4. The
cProfile
module
5.5. Line oriented run-time analysis
6. Documentation of code
6.1. Markup with reStructuredText
6.2. Sphinx documentation generator
6.2.1. Setting up a Sphinx project
6.2.2. Sphinx configuration
6.2.3. Autogeneration of a documentation
7. Aspects of parallel computing
7.1. Threads, processes and the GIL
7.2. Parallel computing in Python
7.3. Numba
8. Appendix
8.1. Decorators
Contents
::
1.
Introduction
»