Определение символов в SymPy, которые содержат числовые значения

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

2*pi

это вернет 2⋅π. Если бы я хотел приблизительный ответ, я мог бы запустить

N(2*pi)

который возвращает 6.28318530717959.

Я хочу определить константу тау, где

tau

возвращает τ, а

N(tau)

возвращает 6.28318530717959.

По сути, я просто пытаюсь определить новый символ τ, равный 2⋅π.


person Sotanaht    schedule 12.05.2012    source источник


Ответы (1)


Вам нужно создать подкласс NumberSymbol так же, как это делает Pi. Достаточно просто скопировать исходный код для Pi и добавить *2. Имейте в виду, что эти объекты являются одноэлементными классами, а не экземплярами.

Вы также должны прочитать манифест пи;)

person Krastanov    schedule 12.05.2012