Hello,
I tried to analyse a function, the classic way that a student would do it, in maxima.
The question is to find zeros, maxima, minima, inflection points and saddle points of a 2d function.
Is there a function implemented in maxima to find maxima, minima, inflection points and saddle point? I didn’t find it in the manual or by a simple google search. Or does this need to be done manually step by step?
If I do it step by step, does anyone have a good idea to distinguish maxima and minima from Saddle points?
I tried this:
f: the funktion
ff:diff(f,x);
fff:diff(ff,x);
ffff:diff(fff,x);
Nullstellen: set(solve([f=0],[x])); /*zeroes/*
Extremstellen: (set(solve([ff=0],[x]))); /*maxima and minima/*
Wendepunkte: (set(solve([fff=0],[x]))); /*inflection point/*
Sattelpunkte: intersection(Extremstellen,Wendepunkte) /* saddle points/*
if cardinality(Sattelpunkte) = 1 then Extremstellen: disjoin(listify(Sattelpunkte)[1],Extremstellen); /*removing one saddle point form the set of maxima and minima*/
But there are two problems remaining:
Disjoin only works for 1 Saddle point. Is there a function that finds the relative complement of B in A for sets I haven´t found yet?
For x^4 this code will find x=0 as a saddle point although it’s a minimum. Is there a nice solution to get around this, without implementing the sign change criterion?
Thanks for your help in advance,
Björn