должен ли Max (n, log (n, 2)) вернуть n, если n - положительное целое число? - PullRequest
4 голосов
/ 30 мая 2019

Я указал n - положительное целое число, но следующий код не работает должным образом.

>>> n = Symbol('n', integer=True, positive=True)
>>> Max(n, log(n, 2))

выведет:

Max(n, log(n)/log(2))

после добавления .rewrite(Piecewise) после Max

>>> Max(n, log(n, 2)).rewrite(Piecewise)
Piecewise((n, n >= log(n)/log(2)), (log(n)/log(2), True))

Я думаю, что если n является положительным целым числом, n всегда должно быть больше log(n, 2).

Есть идеи об этом результате?

и есть ли способ заставить Max(n, log(n, 2)) вернуть n ??

1 Ответ

0 голосов
/ 07 июня 2019

Я открыл эту проблему на github, похоже, функция sympy Max не реализовала эту ситуацию.

https://github.com/sympy/sympy/issues/16926

...