schedule // Computation and Combinatorics
- Weeks 1-2: Counting things and using python
- Generating functions: counting partitions, permutations, Catalan objects.
- Rational and D-finite generating functions.
- Linear recurrence relations.
- Experimental math: guessing formulae from data.
- Algorithmic complexity, big-oh notation.
- Python: basic flow control, functions, lists and dictionaries.
Homework 1: hw1.ipynb or hw1.html Homework 2: hw2.ipynb or hw2.html
Weeks 3-4: Spanning Trees and Perfect Matchings
- Terminology: connectedness, degree, matchings.
- Adjacency matrix: eigenvalues/vectors, cycle counting.
- Spanning trees, Wilson’s algorithm
- Laplacian: Matrix-tree and Cauchy-Binet theorems.
- Kasteleyn matrix and related theory.
Week 5: Domino Shuffling and Non-intersecting lattice paths.
Week 6: Midterm week; start of posets
- Midterm exam on Tuesday Nov 4, in class.
Week 7: Posets and topological sorting
Week 8: Random generation of combinatorial objects
Week 9: Thanksgiving week; start of markov chains
Week 10: Coupling from the past, simulated annealing.