Week 4#
Part 0. Python libraries for scientific computing#
0.1 Installing Libraries
0.2 Importing Libraries
Part 1. Numpy for numerical computations#
1.1 Introduction to Numpy
1.2 Numpy Objects: N-dimensional arrays
1.2.1 Array Attributes
1.2.2 Array Indexing & Slicing
1.2.3 Array Creation Functions
1.2.4 Array Operations
Statistical functions
Linear Algebra operations
Reshaping and Transposing
Stacking and Splitting
Sorting and Searching
Input and Output
Copying and Masking
Important methods for working with Matrices and Vectors
1.3 Non-numeric data types in Numpy
1.4 Linear algebra with Numpy
1.4.1 Scalar Array/Matrix Operations
1.4.2 Array-Array Operations
1.4.3 Matrix Multiplication and Dot Product
1.4.4 Other Linear Algebra Operations
1.5 Some useful Numpy tools
1.5.1 Random Numbers
1.5.2 Polynomial Fitting
Part 2. Matplotlib for data visualization#
2.1 Matplotlib Pyplot
2.2 Line Plots
2.2.1 Lines
2.2.2 Colour
2.2.3 Width
2.2.4 Line style
2.2.5 Marker Types
2.2.6 Axes
Limits
Ticks
2.2.7 Grid
2.2.8 Labels
Title
Axis Lables
2.2.9 Legends
2.2.10 Error Bars
2.2.11 Asymptotes and Annotations
2.2.12 Log-log and Semi-log plots
2.3 Figure object
2.4 Multiple plots
2.4.1 2.4.1 Making sub-plots using
plt.subplot()2.4.2 Plots in Plots
2.4.3 Making sub-plots using
fig.add_subplot()2.4.4 Making sub-plots using
plt.subplots()2.4.5 Histogram
2.4.6 Scatter
2.4.7 Bar Chart
2.4.8 Pie Chart
2.5 3D plots and animations
2.5.1 3D Line Plots
2.5.2 Heat Map
2.5.3 Plotting a Surface
2.5.4 Interactive backends
2.5.5 Animations
Part 3. SciPy for scientific computing#
5.1 Scipy Linear Algebra
5.1.1 Linear Systems
5.1.2 Spectral Decomposition
5.1.3 Matrix Functions
5.1.4 Sparse Matrices
5.1.5 Matrix Exponential
5.1.6 Unitary Matrix
5.1.7 Tensor Product
5.1.8 Linalg Least Square Fit
5.1.9 Single Value Decomposition
5.1.10 Schur Decomposition
5.2 Scipy Optimization
5.2.1 Function Minimum
5.2.2 Global Optimization
5.2.3 Function Roots
5.2.4 Optimize Least Square Fit
5.2.5 Curve Fit
5.3 Scipy Fourier Transform
5.3.1 The Fourier Transform
5.3.2 Wave Packet
5.3.3 The Uncertainty Principle
5.3.4 Quantum Fourier Transform
5.3.5 The Bloch Sphere
5.4 Scipy ODEs & PDEs
5.4.1 Integration
5.4.2 ODE
5.4.3 Finite Difference Method
5.4.4 PDE