【问题标题】:Can you get a list of the powers in a polynomial? Pari GP你能得到多项式中的幂的列表吗?帕里大奖赛
【发布时间】:2020-03-02 02:01:48
【问题描述】:

我正在使用系数为 +1/-1(和零)的单变量多项式。这些可能很长,权力的范围可能很大。我将权力视为一个向量会很方便 - 有什么方法可以快速做到这一点?我曾希望 Pari 已经有一个命令来执行此操作,但我似乎看不到?

只是一个例子来确认我正在尝试做什么......

输入:x^10 - x^8 + x^5 - x^2 + x + 1

所需输出:[10, 8, 5, 2, 1, 0]

【问题讨论】:

    标签: polynomials pari pari-gp


    【解决方案1】:

    您可以使用Vecrev 来获取多项式系数。之后,只需枚举它们以选择非零的从零开始的位置。您想要以下单行:

    nonzeros(xs) = Vecrev([x[2]-1 | x <- select(x -> x[1] != 0, vector(#xs, i, [xs[i], i]))])
    

    现在您可以轻松获得多项式幂的列表:

    p = x^10 - x^8 + x^5 - x^2 + x + 1
    nonzeros(Vecrev(p))
    >> [10, 8, 5, 2, 1, 0]
    

    【讨论】:

      猜你喜欢
      • 2020-08-04
      • 2016-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      相关资源
      最近更新 更多