我想在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)
怎么做?
答案 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术语中称为序列。