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

Reply via email to