QuantEcon / QuantEcon/lecture-python.myst

Add coverage of non-diagonalisable matrices and the Jordan form (and its effect on linear state-space transients)

Open
#1,018 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TeX
Stars
123
Forks
57
Avg merge
3d 10h
Merged PRs (30d)
11

Description

Nothing in the lecture repos covers what happens when a matrix is not diagonalisable. That is a real hole rather than a missing nicety: eigen_I.md in lecture-python-intro teaches eigenvalues, eigenvectors and power iteration, and uses the word "diagonalizable" exactly once, in passing, without ever saying when diagonalisability fails or what to do instead. linear_algebra.md here does not treat it at all. So a reader who meets a defective matrix has nowhere to go.

The natural application is linear state-space dynamics. linear_models.md develops the model, its moments and its stability without an eigendecomposition treatment, so the case where $A = P \Lambda P^{-1}$ does not exist is simply absent — even though it changes the form of the transient: repeated eigenvalues with deficient eigenvectors produce polynomial-times-exponential terms rather than pure exponentials.

This was requested in QuantEcon/meta#28, Tom Sargent's brief on eigenvalues and eigenfunctions, under "Linear state-space dynamics — cases where we require Jordan form", which he noted was "dedicated to Lars Hansen who often raises this case". That issue has been closed against the material that did ship; this is one of the residuals it did not cover.

Suggested shape, in rough order of dependency:

  • when diagonalisation fails — algebraic versus geometric multiplicity, and what "defective" means
  • the Jordan normal form as the general replacement, with the simplest non-trivial block worked explicitly
  • the consequence for dynamics: how a Jordan block changes the transient in a linear state-space model, relative to the diagonalisable case already covered

Worth deciding as part of picking this up: whether the multiplicity material belongs here or as a short addition to eigen_I in lecture-python-intro, with the state-space consequence staying in this repo. The brief filed it under state-space dynamics, which is why it is proposed here.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing eigen_I.md in lecture-python-intro with linear_algebra.md and linear_models.md in this repository, following how diagonalisation and state-space dynamics are currently introduced. Done means the lecture material explains defective matrices, algebraic and geometric multiplicity, Jordan form, and the polynomial-times-exponential transient consequence, with the placement of the multiplicity discussion decided.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.