Phase Plane for a Linear System with Eigenvectors

Phase Plane for a Linear System with Eigenvectors
Loading the math board and drawing, please wait…
2021-01-01 04:56
This example visualizes the phase portrait of a 2D linear dynamical system, showing how the flow patterns change with initial conditions and how eigenvectors determine the dominant directions of trajectories. It centers on core ideas from differential equations and linear algebra: solving a system of first-order ODEs, computing eigenvalues/eigenvectors of the system matrix, interpreting the phase plane (phase diagram), and comparing direction fields (slope fields) with representative solution trajectories. The construction uses GeoGebra commands such as SolveODE to compute the ODE solutions, SlopeField to generate the vector-direction field, and ImplicitCurve to display trajectory curves defined implicitly from conditions. Interface and workflow are assembled with InputBox, Textfield, and Corner, while If is used to control conditional logic for which objects are displayed. Geometric and annotation elements are built with Line and text objects, and the key data structures include the system matrix (Amat) and computed eigenvector information (evec), along with additional parameters used for numerical integrations (e.g., numericalIntegral*). Suitable for high-school advanced tracks through undergraduate courses on ODEs and linear algebra, especially for teaching eigenvector-based qualitative behavior and computer-assisted verification of phase portraits.

GeoGebra Commands & Parameters

  1. Corner(2, 1) → E
  2. Corner(2, 3) → F
  3. Textfield(delta) → InputBox6
  4. SolveODE(g(x, y) / f(x, y), x(A), y(A), tmax, delta) → numericalIntegral1
  5. Textfield(tmax) → InputBox8
  6. SolveODE(g(x, y) / f(x, y), x(B), y(B), tmax, delta) → numericalIntegral3
  7. SolveODE(g(x, y) / f(x, y), x(C), y(C), tmax, delta) → numericalIntegral5
  8. SolveODE(g(x, y) / f(x, y), x(D), y(D), tmax, delta) → numericalIntegral7
  9. SlopeField(g(x, y) / f(x, y), n + 1, L, xmin, ymin, xmax, ymax) → slopefield1
  10. ImplicitCurve(f(x, y)) → fnullcline
  11. ImplicitCurve(g(x, y)) → gnullcline
  12. If(sgn(Element[eval, 1]) > 0, Vector[(0, 0), (Element[evec, 1, 1], Element[evec, 2, 1])], Vector[(Element[evec, 1, 1], Element[evec, 2, 1]), (0, 0)]) → u
  13. If(sgn(Element[eval, 2]) > 0, Vector[(0, 0), (Element[evec, 1, 2], Element[evec, 2, 2])], Vector[(Element[evec, 1, 2], Element[evec, 2, 2]), (0, 0)]) → v
  14. Line((0, 0), (Element[evec, 1, 1], Element[evec, 2, 1])) → h
  15. Line((0, 0), (Element[evec, 1, 2], Element[evec, 2, 2])) → i
  16. Textfield(amin) → InputBox2
  17. Textfield(amax) → InputBox3
  18. Textfield(a11) → InputBox_a11
  19. Textfield(a12) → InputBox_a12
  20. Textfield(a21) → InputBox_a21
  21. Textfield(a22) → InputBox_a22
  22. Textfield(A) → InputBoxA
  23. Textfield(B) → InputBoxB
  24. Textfield(C) → InputBox1
  25. Textfield(D) → InputBoxD

AI Drawing Prompt Reference

Visualize the phase portrait of a 2D linear dynamical system, showing flow patterns with different initial conditions and dominant trajectory directions determined by eigenvectors. Include a vector field representing slope directions, implicit curves for trajectories, and arrows indicating eigenvector directions based on eigenvalue signs. Start with the vector field, then add trajectory curves, and finally mark eigenvector directions with arrows for clear system behavior representation.
The prompt above was compiled from the original drawing commands and is for reference only.