Hello Urs Here is an example with 6 variables Unfortunatly I dont remember the source or Author
import scipy from scipy import optimize as opt def f(x): s00=x[0];s01=x[1];s10=x[2];s11=x[3];k=x[4];p=x[5] eq1 = 0.55*k*s00 + 0.6*k*s01 + 0.6*k*s10 + 0.6*p*s01 + 0.6*p*s10 +0.55*p*s11 + 33*s00 + 33*s01 + 33*s10 + 33*s11 - 33.0 eq2 = 0.55*k*s00 + 0.6*k*s01 + 0.6*k*s10 + 33*k - 0.33 eq3 = 0.6*p*s01 + 0.6*p*s10 + 0.55*p*s11 + 33*p - 0.33 eq4 = 0.11*k*s00 - 0.06*p*s01 + 0.06*p*s10 eq5 = (0.06*k + 0.06*p)*s01 - 0.055*k*s00 + 0.055*p*s11 eq6 = (0.06*k + 0.06*p)*s10 - 0.055*k*s00 + 0.055*p*s11 return [eq1,eq2,eq3,eq4,eq5,eq6] opt.fsolve(f,[0,0,0,0,0,0]) from mpmath import * mp.dps = 30; mp.pretty = True f=[lambda s00, s01, s10, s11, k, p:0.55*k*s00 + 0.6*k*s01 + 0.6*k*s10 + 0.6*p*s01 + 0.6*p*s10 +0.55*p*s11 + 33*s00 + 33*s01 + 33*s10 + 33*s11 - 33.0, lambda s00, s01, s10, s11, k, p:0.55*k*s00 + 0.6*k*s01 + 0.6*k*s10 + 33*k - 0.33, lambda s00, s01, s10, s11, k, p:0.6*p*s01 + 0.6*p*s10 + 0.55*p*s11 + 33*p - 0.33, lambda s00, s01, s10, s11, k, p:0.11*k*s00 - 0.06*p*s01 - 0.06*p*s10, lambda s00, s01, s10, s11, k, p:(0.06*k + 0.06*p)*s01 - 0.055*k*s00 - 0.055*p*s11, lambda s00, s01, s10, s11, k, p:(0.06*k + 0.06*p)*s10 - 0.055*k*s00 - 0.055*p*s11] s= findroot(f,(0.1,0.1,0.1,0.1,0.1,0.1)) print [round(s[k,0],10) for k in range(6)] #print [f[k](s[0,0],s[1,0],s[2,0],s[3,0],s[4,0],s[5,0]) for k in range(6)] #print [round(f[k] (0.2608024056,0.2390688718,0.2390688718,0.2608024056,0.0098712774,0.0098712774), 10) for k in range(6)] Andrzej Chrzeszczyk -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org
