当试图编译下面的代码(来自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未定义。
请问,会出什么问题?
答案 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