首页 > 解决方案 > 如果 n 是正整数,Max(n, log(n, 2)) 是否应该返回 n?

问题描述

我指定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吗?

标签: pythonmaxbig-osympy

解决方案


我在 github 上打开了这个问题,好像 sympyMax函数没有实现这种情况。

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


推荐阅读