Processing math: 100%
Ask Your Question
0

Mapping a list to some variables for a system of equations

asked 8 years ago

anonymous user

Anonymous

I have a list of integers (a,b,c,d) and a system of equations, where each equation has two unknowns. My system looks like (x0+x4,x1+x4,x2+x4,x3+x4). I am trying to evaluate the system in (a,b,c,d). If I write system(x0=1,x1=2,x3=1,x4=1), the system correctly outputs the result of each equation. Now, I would like to do something like system(x0=a,x1=b,x3=c,x4=d) but without having to manually put the variables in. I have tried writing system(list) but the number of variables and unknown doesn't match. Is there any way I can achieve this ?

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 8 years ago

mforets gravatar image

updated 8 years ago

maybe using substitute:

sage: var('a, b, c, d')
(a, b, c, d)
sage: assume([(a, 'integer'), (b, 'integer'), (c, 'integer'), (d, 'integer')])
sage: x = polygens(ZZ, ['x'+str(i) for i in range(5)])    # create x_0, ..., x_4
sage: system = [x[0]+x[4], x[1]+x[4], x[2]+x[4], x[3]+x[4]]    # this is a Python list    
sage: evaluation = {x[0]:a, x[1]:b, x[3]:c, x[4]:d}    # this is a Python dictionary 
sage: [si.subs(evaluation) for si in system]   # subs is a shortcut for substitute
[a + d, b + d, d + x2, c + d]
Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 8 years ago

Seen: 271 times

Last updated: Apr 07 '17