2024-04-26 20:34:33 发布
网友
我正在使用SymPy order库尝试一些东西,并发现以下等式:
SymPy order
O(2**n, (n, oo))
输出将是O(exp(n*log(2)))。你知道吗
O(exp(n*log(2)))
有没有办法让SymPy输出O(2**n)而不是O(exp(n*log(2)))?你知道吗
O(2**n)
你可以用它来伪装
>>> o = O(2**n, (n, oo)) >>> Function("O")(*map(simplify,o.args)) O(2**n, (n, oo))
但是,如果您想以这种方式打印它,看起来您必须创建一个自定义打印机来允许它以这种方式打印。如果您使用o.func(*map(...))甚至evaluate=False,它会返回到exp形式,因此这似乎是硬编码成O想要显示东西的方式。关于是否应该用O添加/遵循evaluate关键字,可能值得提出一个问题
o.func(*map(...))
evaluate=False
exp
O
evaluate
你可以用它来伪装
但是,如果您想以这种方式打印它,看起来您必须创建一个自定义打印机来允许它以这种方式打印。如果您使用
o.func(*map(...))
甚至evaluate=False
,它会返回到exp
形式,因此这似乎是硬编码成O
想要显示东西的方式。关于是否应该用O添加/遵循evaluate
关键字,可能值得提出一个问题相关问题 更多 >
编程相关推荐