首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Pari-gp中获取表达式的常量部分

在Pari-gp中获取表达式的常量部分
EN

Stack Overflow用户
提问于 2021-08-22 02:34:38
回答 1查看 50关注 0票数 0

这可能是一个非常愚蠢的问题--但我似乎在pari-gp文献中找不到相关的解释。我在库中寻找一个函数,它接受多项式、级数或常量,然后输出常量部分(在常量情况下,它只会输出输入)。

我一直使用的工具是polcoef(Expression,0),但它不适用于多个变量--我们必须再次调用该函数。

例如,

代码语言:javascript
复制
polcoef(1+z+z^2,0)
%2 = 1

polcoef(1+y+z,0)
%3 = z + 1

polcoef(polcoef(1+y+z,0),0)
%4 = 1

是否有一个内置函数可以对任意数量的变量执行此操作?这样,我就不必迭代polcoef函数了。这将大大清理我的代码;我知道我可能会自己构建一个递归函数,但我想知道是否有什么内置的东西可以做到这一点。

任何帮助,意见,编辑和澄清的请求是非常感谢。

致以问候。

编辑:

忘记添加,我想要的输出是,

代码语言:javascript
复制
Const(1+x+y+z)
1

Const(Pi+x^2+p)
Pi
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-22 10:10:03

您可以使用内置的substvec函数一次替换多个变量。例如:

代码语言:javascript
复制
substvec(1+y+z, ['y,'z], [0,0])
%1 = 1

您甚至可以很容易地实现一个快捷函数,而不创建适当长度的零的列表:

代码语言:javascript
复制
Const(poly: t_POL) = {
    my(vars = variables(poly));
    substvec(poly, vars, vector(#vars))
};
Const(1+x+y+z)
%1 = 1

Const(Pi+x^2+p)
%2 = Pi
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68878078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档