Ask Your Question

Revision history [back]

solving systems of equations returns [] Redux

I searched the wiki and found the "solve always returns []" question. But it doesn't help me. I will admit that I am a complete neophyte with Sagemath and have been playing with version 7.2 on my windows machine.

I was trying to do something very simple: solve a basic Lagrange Multiplier problem, so I defined the following:

  • var('x' ,'y' ,'z', 'lam')
  • var('F')
  • F = xyz - lam * (xyz-9)
  • var('dFx', 'dFy', 'dFz', 'dFlam')
  • dFx=diff(F,x)
  • dFy=diff(F,y)
  • dFz=diff(F,z)
  • dFlam=diff(F,lam)
  • solve([dFx==0,dFy==0,dFz==0,dFlam==0],x,y,z,lam)

but the solve returns []. It should return something like x==3, y==3, z==3, shouldn't it? Is there an alternative way to approach this?