使用MultivariatePolynomials时未定义@polyvar

时间:2017-09-06 14:46:43

标签: julia polynomials

当试图编译下面的代码(来自here)时,我被告知" @polyvar未定义"。我正在使用Julia v.0.6

using MultivariatePolynomials
@polyvar(x[1:2])
p = 2x[1] + 3x[1]x[2]^2 + x[2] + 3
differentiate(p, x[1])
p([1,2], x)

消息:UndefVarError:@polyvar未定义。

请问,会出什么问题?

1 个答案:

答案 0 :(得分:0)

包中可能有最近的更改,现在似乎在TypedPolynomials包中定义了@polyvar,并且MultivariatePolynomials定义了TypedPolynomials是一个实现的公共接口。所以,

# install TypedPolynomials
Pkg.clone("https://github.com/rdeits/TypedPolynomials.jl")

using MultivariatePolynomials
using TypedPolynomials

应该清除问题:

julia> @polyvar(x[1:2])
(x1, x2)
julia> p = 2x[1] + 3x[1]x[2]^2 + x[2] + 3
3x1x2^2 + 2x1 + x2 + 3

您想将最后一行更改为:

julia> p(x=>[1,2])
19