# How can I find the maximum of a two variable function? Hello everyone, I'm trying to find the maximum of the following function:

var('x,y')
func(x,y) = x*y - y^2


Is there any way I can find the maximum of that function (func) when 0 < x < 1 and 0 < y < 2 for example?

Thanks in advance :)

edit retag close merge delete

Sort by » oldest newest most voted I just took a few minutes to modify the example from this page http://www.sagemath.org/doc/reference... I apologize in advance if there is a mistake. Basically there isn't a function to maximize with constraint. So what we can do is minimize the negative of the function. The constraints are of the for '>0' for example c_1 tells the solver that x>0, c_2 tells that -x+1 > 0 => x<1 and so on

f = lambda p: - p*p + p*p
c_1 = lambda p: p
c_2 = lambda p: - p + 1
c_3 = lambda p: p
c_4 = lambda p: -p + 2
a = minimize_constrained(f,[c_1, c_2,c_3,c_4],[0.5,0.5])
view(a)


The answer I get is (1.0,0.5001)

If I plot the negative of the function in the range you are interested, the minimum looks like it is around that. Let me know if this works.

more