Nature of Critical Points of Function f(x, y): Local Max/Min/Saddle

Nature of Critical Points of Function f(x, y): Local Max/Min/Saddle
Loading the math board and drawing, please wait…
2019-05-04 21:34
This example demonstrates how to visualize and analyze the critical points of a multivariable function f(x, y) using GeoGebra, including local maxima, minima, and saddle points. Key mathematical concepts involved are multivariable functions, partial derivatives, second partial derivatives, Hessian matrix discriminant, and local extremum/saddle point determination. Construction highlights include using commands like Simplify for expression simplification, ImplicitCurve for implicit curve plotting, Zip and Sequence for generating data sequences, TableText for displaying text, LaTeX for mathematical formula rendering, Sort and Length for sorting and length calculation, Max for finding maximum values, and RotateText for text rotation. Objects used include f, fx, fy, fxx, fxy, fyy, fyx, etc. Suitable for high school students and teachers for learning and teaching the methods of determining extrema of multivariable functions.

GeoGebra Commands & Parameters

  1. Simplify(Derivative[f, x, 1]) → fx
  2. Simplify(Derivative[f, y, 1]) → fy
  3. ImplicitCurve(fx(x, y)) → ax
  4. ImplicitCurve(fy(x, y)) → ay
  5. Simplify(Derivative[fx, x, 1]) → fxx
  6. Simplify(Derivative[fx, y, 1]) → fxy
  7. Simplify(Derivative[fy, y, 1]) → fyy
  8. Simplify(Derivative[fy, x, 1]) → fyx
  9. Zip({{fxx(a), fxy(a)}, {fyx(a), fyy(a)}}, a, l1) → M
  10. Zip(Determinant[a], a, M) → D
  11. Zip(fxx(a), a, l1) → f_{xx}
  12. Sequence(If[D(i) > 0, If[f_{xx}(i) > 0, "local minimum", "local maximum"], If[(D(i) * f_{xx}(i)) ≟ 0, "?", "saddle point"]], i, 1, Length[l1]) → l4
  13. Zip((x(a), y(a), f(a)), a, l1) → l5
  14. Zip(fx(a), a, l1) → lfx
  15. Zip(fy(a), a, l1) → lfy
  16. TableText(Append["i", 1…Length[l1]], Append["critical points", l5], Append["f_{x}", lfx], Append["f_{y}", lfy], Append["f_{xx}", f_{xx}], Append["Det", D], Append["", l4], "v") → text1
  17. LaTeX(f, true) → text2
  18. Sequence(If[D(i) > 0, If[f_{xx}(i) > 0, 1, 2], If[D(i) ≟ 0, -5, -1]], i, 1, Length[l1]) → l4a
  19. Sort(l5, l4a) → l5a
  20. Sort(l1, l4a) → l1a
  21. Length(lmax) → lämax
  22. Length(lmin) → lämin
  23. Length(lsad) → läsad
  24. Sort(l4, l4a) → l4aa
  25. TableText(Append["i", 1…Length[l1]], Append["critical points", l5a], Append["", l4aa], "v") → text1a
  26. Length(lq) → läq
  27. ImplicitCurve(f(x, y) - z0) → IFxy
  28. Zip((x(a), y(a)), a, lsad) → lsad_2
  29. Zip((x(a), y(a)), a, lq) → lq_2
  30. Zip((x(a), y(a)), a, lmax) → lmax_2
  31. Zip((x(a), y(a)), a, lmin) → lmin_2
  32. Max(z(lmax)) → max
  33. Max(z(lmin)) → min
  34. RotateText(txt1, 90°) → txt2