0

我想将 SymPy 表达式(例如x+yx=symbols("x")和同样的事情y))更改为多项式,然后获取该多项式的生成器和该多项式的长度。

我试过了

op=x+y
op = op[:as_poly](domain="C")
op_a = op.x[:gens]
nab = op[:length]()

但它似乎不起作用。

我得到的错误是:

ERROR: MethodError: no method matching getindex(::Sym, ::Symbol)
Closest candidates are:
  getindex(::Sym, ::Sym...) at /Users/midow/.julia/packages/SymPy/1Cwgd/src/utils.jl:18
  getindex(::Number) at number.jl:75
  getindex(::Number, ::Integer) at number.jl:77
  ...
Stacktrace:
 [1] top-level scope at REPL[11]:1
4

1 回答 1

1

As @phipsgabler mentioned, the interface changed from getindex to getproperty so

using SymPy
x=symbols("x")
y=symbols("y")
op = op.as_poly(domain="C")
op_a = op.x.gens
nab = op.length()

should give you what you want.

于 2019-10-18T09:22:44.570 回答