如何在PARI / GP中的forstep语句中使用多个序列?

时间:2014-12-22 03:01:05

标签: loops pari-gp

我想在PARI/GP写一些东西。 我想创建一个值为1000到41000的向量,步长为3000。

因此,我想使用forstep语句。 如果使用1个序列,这可以正常工作。

示例:

forstep(x=1000,41000,3000,print(x))

但是,我想做类似的事情:

forstep(x=1000,41000,3000,x[i]=x & i=i+1)

怎么做?

1 个答案:

答案 0 :(得分:0)

使您的方法有效的一种方法是:

v=vector(14); i=1; forstep(x=1000,41000,3000,(v[i]=x) & (i=i+1)); v

我在每个作业周围加上一个括号。否则,PARI / GP将其视为v[i]=(x & (i=i+1))。因此,在某些情况下,可以将两个表达式与&组合在一起。

但是:如果第一个操作数为零(运算符为false),运算符&将会短路。所以你要找的答案是分号;。所以:

v=vector(14); i=1; forstep(x=1000,41000,3000,v[i]=x; i=i+1); v

我相信带有分号v[i]=x; i=i+1的构造在PARI / GP术语中称为序列