python3 <<'PY' import math a=0.25; b=1.0/12 def F(M,N=120): m11,m12=M[0]; m21,m22=M[1] alpha=m11+m12+m21+m22 if alpha<1e-15: return 0.0 mu1=m11+m12; nu1=m11+m21 best=-1.0 for iq in range(1,N): q=alpha*iq/N; q2=alpha-q lo=max(0.0,q-(alpha-mu1)); hi=min(q,mu1) for ir in range(1,N): r=lo+(hi-lo)*ir/N den=r*(alpha-q)/q-(mu1-r) if abs(den)<1e-14: continue c=(m11*(alpha-q)-(mu1-r)*nu1)/den if c<-1e-8 or c>nu1+1e-8 or c>q+1e-8 or nu1-c>q2+1e-8: continue c=min(max(c,0.0),nu1) r1=r/q; s1=c/q; r2=(mu1-r)/q2; s2=(nu1-c)/q2 val=q*(math.sqrt(max(0,m11*r1*s1))+math.sqrt(max(0,m12*r1*(1-s1)))+math.sqrt(max(0,m21*(1-r1)*s1))+math.sqrt(max(0,m22*(1-r1)*(1-s1))))+q2*(math.sqrt(max(0,m11*r2*s2))+math.sqrt(max(0,m12*r2*(1-s2)))+math.sqrt(max(0,m21*(1-r2)*s2))+math.sqrt(max(0,m22*(1-r2)*(1-s2)))) if val>best: best=val return best def K(y1,y2): y3=a M=[[a,b-y1],[b,a-y2]] gam=y1+y2+y3 ct=math.sqrt(gam)*(math.sqrt(max(0,b*y1))+math.sqrt(max(0,a*y2))+math.sqrt(max(0,a*y3))) bt=(a+b-y3)**1.5 return F(M)+ct+bt for i in range(11): y2=a*i/10 print(i,y2,K(b,y2),"C",1-K(b,y2)) PY