I filed this issue <https://github.com/sagemath/sage/issues/38529> for your 
question.

An analytical solution :
# Potential extrema : points where all first derivatives are zero. PE = 
[{u:d[u].n() for u in d.keys()} for d in solve([G(x, y).diff(u) for u in 
(x, y)], (x, y), solution_dict=True)] # Actual values of G var("val") 
Vals=[d|{val:G(d[x],d[y]).n()} for d in PE] # Actual maxima [d for d in 
Vals if d[val]==(Max:=max([d[val] for d in Vals]))] 

gives
[{x: 0.500000000000000, y: 0.000000000000000, val: 1.25000000000000}, {x: 
0.000000000000000, y: 0.500000000000000, val: 1.25000000000000}] 

HTH,
​
Le lundi 19 août 2024 à 12:35:29 UTC+2, Nicola Sottocornola a écrit :

> Dear all,
>
> we want to find the maximum of the function G over [0,1]x[0,1]. The code 
> below gives 0 which is clearly wrong. 
>
> Using instead
>
> sage: minimize_constrained(-G, [[0, 1], [0, 1]],[1/2, 1/2])
> seems to provide the right answer...
>
> var('x,y') c1(x,y)=x c2(x,y)=y c3(x,y)=1-x c4(x,y)=1-y G(x,y) = -(56*x^2*y
> ^2 - 4*x^2*y - 4*x*y^2 - 4*x^2 - x*y - 4*y^2 - x - y - 1)*(x - 1)*(y - 1) 
> M = minimize_constrained(-G(x,y), [c1(x,y),c2(x,y),c3(x,y),c4(x,y)],[0.5,
> 0.5]) print(G(M[0],M[1]))
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/fe15b9a2-ae63-4445-a3e8-a7b4a614314dn%40googlegroups.com.

Reply via email to