Угол Python Sympy комплексного числа?

Какова функция sympy для получения угла комплексного числа?

В numpy я могу сделать:

numpy.angle(complexnumber)

В sympy я хочу просто взять угол выражения:

sympy.givemeangle(sympyexpression_whichevaluatestoacomplexnumber)

Я полагаю, что мог бы реализовать свою собственную логику, чтобы проверить, в каком квадранте находится число, а затем иметь дело с функцией обратного загара в зависимости от координаты... но мне бы очень хотелось просто не знать, в каком квадранте находится выражение, и быть в состоянии думать об угле выражения.

Что мне здесь делать?


person D Adams    schedule 26.10.2015    source источник


Ответы (1)


Я понял!

n = sympyexpression_whichevaluatestoacomplexnumber
expressionangle = sympy.arg( n )

Также работает небольшая модификация предложения Tom's:

expressionangle2 = sympy.log( n ).as_real_imag()[1]

Спасибо за помощь!

person D Adams    schedule 26.10.2015
comment
Если вам нужен однострочник, вы также можете сделать это в одной строке, используя log и захватив сложную часть: complex(sympy.log( sympyexpression_whichevaluatestoacomplexnumber )).imag Но atan2, вероятно, более знакома большинству людей. - person tom10; 26.10.2015
comment
Метод атана не сработал - но я получил журнал! - person D Adams; 26.10.2015