【发布时间】:2013-02-05 03:45:39
【问题描述】:
我正在尝试为 x 求解如下等式:
这里给出了 alpha 和 K,N 将超过 1,000。有没有办法使用 sympy 为 alpha 指定一个 np.array 的 LHS?我的希望是定义:
eqn = Eq(LHR - K)
solve(eqn,x)
通过告诉 sympy LHS= sum(a_i + x)。
任何最快的求解器提示也将不胜感激。谢谢!
我希望得到类似的东西:
from sympy import Symbol, symbols, solve, summation, log
import numpy as np
N=10
K=1
alpha=np.random.randn(N, 1)
x = Symbol('x')
i = Symbol('i')
eqn = summation(log(x+alpha[i]), (i, 1, N))
solve(eqn-K,x)
【问题讨论】:
-
如果你对两边取幂并简化左边,你最终会得到 prod(a_i + x) = exp(K),一个 N 次多项式。你期望得到什么样的答案?
-
@WarrenWeckesser - 它们被写为以 10 为基础的日志。你会有
PROD(a_i + x) = 10 ** K。 -
log通常表示日志基数。