I have been working on Maxima and minima, I am able to extract the eigen values for the expression.
Based on following conditions I am able to find out the critical point is maxima or minima or saddle or inconsistant
If all the eigenvalues are positive, the point is a minimum.
If all the eigenvalues are all negative, it's a maximum.
If some eigenvalues are positive, some are negative, and none are zero, then it's a saddle point.
If any eigenvalues are zero, the test is inconclusive
I want to return all the critical points and their extrema.
just for example : For one perticular function I got a Eigen values as which I can find using sign function.
EigenValues := [[-.381966011250105+0.*I, -2.61803398874989+0.*I], [.414213562373095+0.*I, -2.41421356237309+0.*I]]
signDetails := [seq([seq(sign(EigenValues[i][j]), j = 1 .. nops(EigenValues[i]))], i = 1 .. nops(EigenValues))] #
signDetails :=[[-1, -1], [1, -1]]
Now if I have a 0 in a list. Sign function returns 1 for 0, which is incorrect. How can I handle such conditions
if I have
EigenValues := [[-.381966011250105+0.*I, -2.61803398874989+0.*I], [.414213562373095+0.*I, -2.41421356237309+0.*I], [0, 2]]
I would like to have output [[-1, -1], [1, -1], [0, 1]],
I would like to know how is it possible return output based on above list
in this case my return shouble something like this [maxima, saddle, inconclusive].