Ask Your Question
0

Solving systems of equations always returns [ ]

asked 2014-12-03 18:07:57 -0500

Evidlo gravatar image

updated 2015-01-14 04:47:20 -0500

FrédéricC gravatar image

Suppose I have the set of equations and I'm trying to solve for f1, f2 and f3:

formula

I've tried solving it in the following way

eq1 = f1 == a + b + f2
eq2 = 2*f2 == c + d + f1
eq3 = f3 == f1 + f2
solve([eq1,eq2,eq3],f1,f2,f3)
[]

This is easy to solve using matrices, and I have double-checked that the answer is fully constrained, so why does sage always return [ ]? I would have expected answers for f1, f2 and f3 in terms of a, b , c and d. Is there another argument to solve() that tells Sage what I want my answer in terms of?

I would prefer to use solve() instead of matrices both for the sake of convenience and if I have a nonlinear system later on.

edit retag flag offensive close merge delete

Comments

That's odd. I used your code and got:

[[f1 == 2*a + 2*b + c + d, f2 == a + b + c + d, f3 == 3*a + 3*b + 2*c + 2*d]]
calc314 gravatar imagecalc314 ( 2014-12-03 21:35:01 -0500 )edit

1 answer

Sort by » oldest newest most voted
0

answered 2014-12-04 01:56:05 -0500

Evidlo gravatar image

updated 2014-12-04 02:04:34 -0500

I realize now that when I was testing this, I was only doing

solve([eq1,eq2,eq3],f1)
[]

because I was only interested in the solution to f1. However this leaves f2 and f3 as free variables and so there are multiple ways to express your answer.

This makes me wonder if I can directly tell Sage to solve for f1 in terms of a, b ,c ,d.
For example, this seems like a more natural expression.

solve([eq1,eq2,eq3],f1,in_terms_of=[a,b,c,d])
edit flag offensive delete link more

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: 2014-12-03 18:07:57 -0500

Seen: 124 times

Last updated: Dec 04 '14