Скажите, я пытаюсь решить систему уравнений:
![enter image description here](https://i.stack.imgur.com/B31gl.png)
для θ, λ и ɸ, где a
, b
, c
и d
- комплексные числа, а матрица на LHS - унитарная матрица.
Код SymPy , который у меня под рукой, успешно справляется с работой, но есть несколько крайних случаев, которые он пропускает.
from sympy import *
def get_angles(a, b, c, d):
theta, phi, lamb = symbols('\\theta \\phi \\lambda', real=True)
a_eq = Eq(cos(theta / 2), a)
b_eq = Eq(exp(I * phi) * sin(theta / 2), b)
c_eq = Eq(-exp(I * lamb) * sin(theta / 2), c)
d_eq = Eq(exp(I * (phi + lamb)) * cos(theta / 2), d)
res = solve([a_eq, b_eq, c_eq, d_eq],
theta,
phi,
lamb,
check=False,
set=True)
return res
Например, он не ограничивает диапазон решений. Я сделал заметил этот ответ , но он работает только для случаев с одной переменной. Итак, есть идеи, как добавить ограничения домена для набора решений при работе с несколькими переменными?