Код: Выделить всё
class CustomSymbol(sym.Symbol):
def __init__(self, *args, **kwargs):
super().__init__(args, kwargs)
self.custom_attribute = True
Теперь проблема в следующем:
Код: Выделить всё
from sympy import *
class CustomSymbol(Symbol):
def __pow__(self, other):
return CustomPow(self, other)
class CustomPow(Pow):
pass
a = CustomSymbol('a')
x = a**2 * a**3
type(x)
Тот факт, что Sympy использует этот подход вместо гораздо более гибкого подхода, такого как вычисление a**( 2+3) и позволяя решать, как управлять возведением в степень, наводит меня на мысль, что, возможно, существует определенный способ определения пользовательских символов.
Итак, мой вопрос в том, как следует подойти к созданию CustomSymbol сорт? Есть ли обходной путь написанной мною проблемы, который не требует существенного переписывания всей библиотеки Sympy?
Подробнее здесь: https://stackoverflow.com/questions/779 ... bol-object
Мобильная версия