# Unconstrained Optimization

Find the maxima of the following function

$f(x,y)=x^4 −x^2y+y^2 −3y+4$

### Step I¶

Defining variable and function.

x, y = sp.var('x,y',real=True);
f = x**4 - x**2*y + y**2 - 3*y +4
f


$$\displaystyle x^{4} - x^{2} y + y^{2} - 3 y + 4$$

### 1. Step II¶

gradf = [sp.diff(f,c) for c in [x,y]] # gradient of Lagrangian w.r.t. (x,y)


$$\displaystyle 4 x^{3} - 2 x y$$

$$\displaystyle - x^{2} + 2 y - 3$$

### 2. Step III¶

Finding the criticlal points by setting the gradient equal to $$0$$. Critical points is obtained using

stationary_points = sp.solve(gradf, [x, y], dict=True) # solve the KKT equations
stationary_points

$$x$$ $$y$$ Obj
$$-1$$ $$2$$ $$1$$
$$0$$ $$\frac{3}{2}$$ $$\frac{7}{4}$$
$$1$$ $$2$$ $$1$$

### 3. Step IV¶

Computing the sign of the Hessian at each of the critical points. The Hessian is computed as

H = sp.hessian(f, (x,y))
H


$$\displaystyle \left[\begin{matrix}12 x^{2} - 2 y & - 2 x\\- 2 x & 2\end{matrix}\right]$$

The Eigenvalues of Hessina Matrix will determine weather a point is maxima or minima

def sign(A):
d = A.eigenvals().keys()
if any(x >= 0 for x in d):
if any(x <= 0 for x in d):
return "None"
else:
return "Minima"
else:
return "Maxima"

$$x$$ $$y$$ Obj Hessian
$$-1$$ $$2$$ $$1$$ Minima
$$0$$ $$\frac{3}{2}$$ $$\frac{7}{4}$$ None
$$1$$ $$2$$ $$1$$ Minima

Conclusion: The points $$(-1,2)$$ and $$(1,2)$$ are the local minima(which is also global) of the given function.