Prerequisites & Notation
Before You Begin
This chapter assumes comfort with NumPy array creation, indexing, broadcasting, and basic matrix concepts from undergraduate linear algebra. If any of these items feel completely foreign, review the linked material first.
- NumPy array creation, slicing, and broadcasting (Chapter 5)(Review ch05)
Self-check: Can you create a 2D array and compute a matrix-vector product with @?
- Complex numbers and conjugates
Self-check: Do you know that and ?
- Basic linear algebra: matrix multiplication, determinants, eigenvalues
Self-check: Can you compute the determinant of a 2x2 matrix by hand?
- Python functions, closures, and decorators (Chapter 2)(Review ch02)
Self-check: Can you write a decorator that times a function?
Notation for This Chapter
Symbols and conventions introduced in this chapter. We use for the imaginary unit (engineering convention) and boldface for vectors and matrices.
| Symbol | Meaning | Introduced |
|---|---|---|
| , | Matrices (uppercase boldface) | s01 |
| , | Column vectors (lowercase boldface) | s01 |
| , | Transpose and conjugate (Hermitian) transpose | s01 |
| Trace of matrix (sum of diagonal elements) | s01 | |
| Determinant of square matrix | s01 | |
| Condition number | s02 | |
| Singular values of a matrix, ordered | s02 | |
| Eigenvalues of a matrix | s02 | |
| Kronecker product of two matrices | s04 | |
| Vectorization operator — stacks columns of into a single vector | s04 | |
| , | Matrix exponential | s05 |
| \\mathbf{A}^\\dagger | Moore-Penrose pseudoinverse | s06 |