A collection of routines for numerical evaluation and graphical representation of systems of differential equations, for use as I work through Strogatz's "Nonlinear Dynamics and Chaos".
Right now, the code lives in chaotick.py, and the associated Jupyter workbook shows example use.
(from https://ocw.mit.edu/courses/18-03-differential-equations-spring-2010/resources/mit18_03s10_skills/)
The Ten Essential Skills of DiffEq for MIT Undergrads
- Model a simple system to obtain a first order ODE. Visualize solutions using direction fields and isoclines, and approximate them using Euler’s method.
- COMPLETE
- Solve a first order linear ODE by the method of integrating factors or variation of parameter.
- Calculate with complex numbers and exponentials.
- Solve a constant coefficient second order linear initial value problem with driving term exponential times polynomial. If the input signal is sinusoidal, compute amplitude gain and phase shift.
- Compute Fourier coefficients, and find periodic solutions of linear ODEs by means of Fourier series.
- Utilize Delta functions to model abrupt phenomena, compute the unit impulse response, and express the system response to a general signal by means of the convolution integral.
- Find the weight function or unit impulse response and solve constant coefficient linear initial value problems using the Laplace transform together with tables of standard values. Relate the pole diagram of the Laplace transform to the longterm behavior of a function.
- Calculate eigenvalues, eigenvectors, and matrix exponentials, and use them to solve first order linear systems. Relate first order systems with higherorder ODEs.
- Recreate the phase portrait of a twodimensional linear autonomous system from trace and determinant.
- Determine the qualitative behavior of an autonomous nonlinear twodimensional system by means of an analysis of behavior near critical points/