Thanks for the answer, I tried to find a way in maxima.
I did not find a function to make three sets containing either the maxima, minima or saddle points. It seams to be a bad idea for complex functions to work with solve().
In my case it is sufficient and works, to find out the type of one specific point. I implemented it in the way shown underneath. I am not sure yet, if it always works or in which cases it does or does not.
f:-x^4;
xvalue:0;
a: subst(x=xvalue,diff(f,x));
b: if a=0 then limit((1/diff(f,x)),x,xvalue,plus);
c: if a=0 then limit((1/diff(f,x)),x,xvalue,minus) else c:diffnotzero;
j: if (b=inf and c=inf) or (q=minf and p=minf) then saddle
elseif (b=minf and c=inf) then maximum
elseif (b=inf and c=minf) then minimum
elseif (c=diffnotzero) then diffnotzero
else udef;
So, I do not know the limitations – maybe someone has a idea – but it does work for x^(2*n) this time.
It’s maybe not the best coding-style, but solves the question for more functions than before.
I’m happy to hear ideas about it.
I did not find a function to make three sets containing either the maxima, minima or saddle points. It seams to be a bad idea for complex functions to work with solve().
In my case it is sufficient and works, to find out the type of one specific point. I implemented it in the way shown underneath. I am not sure yet, if it always works or in which cases it does or does not.
f:-x^4;
xvalue:0;
a: subst(x=xvalue,diff(f,x));
b: if a=0 then limit((1/diff(f,x)),x,xvalue,plus);
c: if a=0 then limit((1/diff(f,x)),x,xvalue,minus) else c:diffnotzero;
j: if (b=inf and c=inf) or (q=minf and p=minf) then saddle
elseif (b=minf and c=inf) then maximum
elseif (b=inf and c=minf) then minimum
elseif (c=diffnotzero) then diffnotzero
else udef;
So, I do not know the limitations – maybe someone has a idea – but it does work for x^(2*n) this time.
It’s maybe not the best coding-style, but solves the question for more functions than before.
I’m happy to hear ideas about it.