如何更改 Julia 中多项式的环

发布于 01-19 03:21 字数 1574 浏览 6 评论 0原文

主要

using AbstractAlgebra
include("./lib.jl"); 
S, (a,b,c) = PolynomialRing(QQ,["a","b","c"])
RR = AbstractAlgebra.RealField
s1 = S(b^2*a + c*a - 1)
s2 = S(c*a^2 + -b*a - c^4*a) 
s3 = S(b*a + a + b)

poly_list = [s1,s2,s3]
resultant_system(poly_list,a)

必须更改多项式环的


using AbstractAlgebra;

function resultant_system(poly_list, eliminationVar)
    parentRing = parent(poly_list[1])
    # println("parentRing:  ", parentRing, "\n")
    # println("eliminationVar: ", eliminationVar)
    arr = gens(parentRing)

    LIST_SIZE = size(poly_list)[1]

    parentVars = String[]
    for i = gens(parentRing)
        if i != eliminationVar
            push!(parentVars, string(i))
        end
    end
    println("parentVars: ", parentVars)

    X, p = PolynomialRing(QQ, parentVars)
    U, u = PolynomialRing(X, LIST_SIZE, "u")
    V, v = PolynomialRing(U, LIST_SIZE, "v")

    R, a = PolynomialRing(V, string(eliminationVar))
    println("R:", R)

    u_list = gens(U)
    v_list = gens(V)

    # poly_list[1] = b^2*a + c*a - 1 BUT
    println(R(poly_list[1]))  # this line not working
    println(R(b^2*a + c*a - 1)) # this line works

end

函数,需要在A,B,C中转换多元多项式环,而

在v1,v2,v3中的多元多项式环中的单变量多项式环上的u1,u2,u3中的多元多项式环在b,c c contionals c in c controcations

中的多种多项式环上的

    # poly_list[1] = b^2*a + c*a - 1 BUT
    println(R(poly_list[1]))  # this line not working
    println(R(b^2*a + c*a - 1)) # this line works

Main

using AbstractAlgebra
include("./lib.jl"); 
S, (a,b,c) = PolynomialRing(QQ,["a","b","c"])
RR = AbstractAlgebra.RealField
s1 = S(b^2*a + c*a - 1)
s2 = S(c*a^2 + -b*a - c^4*a) 
s3 = S(b*a + a + b)

poly_list = [s1,s2,s3]
resultant_system(poly_list,a)

function that has to change ring of the polynomial


using AbstractAlgebra;

function resultant_system(poly_list, eliminationVar)
    parentRing = parent(poly_list[1])
    # println("parentRing:  ", parentRing, "\n")
    # println("eliminationVar: ", eliminationVar)
    arr = gens(parentRing)

    LIST_SIZE = size(poly_list)[1]

    parentVars = String[]
    for i = gens(parentRing)
        if i != eliminationVar
            push!(parentVars, string(i))
        end
    end
    println("parentVars: ", parentVars)

    X, p = PolynomialRing(QQ, parentVars)
    U, u = PolynomialRing(X, LIST_SIZE, "u")
    V, v = PolynomialRing(U, LIST_SIZE, "v")

    R, a = PolynomialRing(V, string(eliminationVar))
    println("R:", R)

    u_list = gens(U)
    v_list = gens(V)

    # poly_list[1] = b^2*a + c*a - 1 BUT
    println(R(poly_list[1]))  # this line not working
    println(R(b^2*a + c*a - 1)) # this line works

end

I need to convert Multivariate Polynomial Ring in a, b, c over Rationals to

Univariate Polynomial Ring in a over Multivariate Polynomial Ring in v1, v2, v3 over Multivariate Polynomial Ring in u1, u2, u3 over Multivariate Polynomial Ring in b, c over Rationals

    # poly_list[1] = b^2*a + c*a - 1 BUT
    println(R(poly_list[1]))  # this line not working
    println(R(b^2*a + c*a - 1)) # this line works

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文