| 1 | initial version |
The problem is that "conjugate" isn't C-linear, so the system of equations you are presenting isn't polynomial. Conjugation is R-linear, so if you write everything out in terms of real and imaginary parts, you're fine:
sage: var("x1,x2,y1,y2,d")
(x1, x2, y1, y2, d)
sage: alpha=x1+i*y1
sage: beta=x2+i*y2
sage: alpha_star=x1-i*y1
sage: beta_star=x2-i*y2
sage: Nalpha=alpha*alpha_star
sage: Nbeta=beta*beta_star
sage: eq1=d*Nalpha+alpha_star*beta+alpha*beta_star
sage: eq2=d*Nbeta+alpha_star*beta+alpha*beta_star
In order to solve these equations, you should split them in real and imaginary parts as well, but in this case the equations are already real:
sage: eq1.expand()
d*x1^2 + d*y1^2 + 2*x1*x2 + 2*y1*y2
sage: eq2.expand()
d*x2^2 + d*y2^2 + 2*x1*x2 + 2*y1*y2
Now you can just solve. To get better performance you might want to look into using polynomial rings instead.
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.