Sympy Mod на формулах с пользовательскими функциямиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Sympy Mod на формулах с пользовательскими функциями

Сообщение Anonymous »

Я хотел бы определить пользовательские функции Sympy , которые не могут быть напрямую оценены, но я хочу иметь возможность вычислить некоторые вещи. Например, модульные остатки. Вот моя попытка кода: < /p>

Код: Выделить всё

from sympy import Function

class Foo(Function):
@classmethod
def eval(cls, n):
pass

def __mod__(self, modulus: int) -> int:
n, = self.args
return (n + 1) % modulus

print(Foo(7) % 3)
# 2
print((Foo(7) + 1) % 3)
# Mod(Foo(7) + 1, 3)
print((Foo(7) + 1) % 3 == 0)
# False
so foo (7) % 3 работает, как и ожидалось, но (foo (7) + 1) % 3 не так, я хотел Sympy , чтобы заметить, что он может вычислять (a + b) % 3 , вычислив % 3 и b % 3 . Есть ли способ реализовать это? Возможно, мне нужно быть более умным и написать новую функцию, которая проходит символическое дерево формулы? Или, может быть, я пойду на это неправильно? Я также открыт для других библиотек Python (я только что догадался, что Sympy может быть хорошим для использования). Но где мы все еще можем рассчитать некоторые свойства, такие как модульные остатки. См., Например, https://www.sligocki.com/2022/06/21/bb-6-2-t15.html


Подробнее здесь: https://stackoverflow.com/questions/797 ... -functions
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»