y=var('y')
def loc_extr(FUN):
pretty_print("Zadaná funkce:", FUN)
sols=solve([diff(FUN,x),diff(FUN,y)],[x,y], solution_dict=True)
real_sols = [sol for sol in sols if all(v in RR for v in sol.values())]
fxx=diff(FUN,x,x)
H=FUN.hessian().determinant()
for s in real_sols:
if H.subs(s) < 0:
pretty_print("[",s[x],",",s[y],"] = sedlový bod", )
elif H.subs(s) > 0:
druha_derivace=fxx.subs(s)
if fxx.subs(s) > 0:
pretty_print("[",s[x],",",s[y],"] = lokální minimum", )
else:
pretty_print("[",s[x],",",s[y],"] = lokální maximum", )
else:
pretty_print("[",s[x],",",s[y],"] = nelze rozhodnout", )