如何反转 PARI/gp 中的矢量
How can I reverse a vector in PARI/gp
我需要反转 PARI/gp 中的向量。我找不到内置函数,所以我尝试了这个:
vector(10^4,i,vector(10^4,i,i)[10^4-i+1])
这很慢 - 花了将近四秒钟。然后我尝试了这个:
Vec(polrecip(Pol(vector(10^6,i,i))))
这要快得多(大约 100 毫秒),即使它正在反转一个长 100 倍的向量。不过,这是一个可怕的黑客攻击。在 PARI/gp 中是否有一种快速反转向量的 "proper" 方法?
事实证明,有一个内置函数:Vecrev() 和 Polrev() 与 Vec 和 Pol 做同样的事情,但相反。所以你可以用类似的东西反转任意向量:
Vecrev(vector(10^6,i,i))
我需要反转 PARI/gp 中的向量。我找不到内置函数,所以我尝试了这个:
vector(10^4,i,vector(10^4,i,i)[10^4-i+1])
这很慢 - 花了将近四秒钟。然后我尝试了这个:
Vec(polrecip(Pol(vector(10^6,i,i))))
这要快得多(大约 100 毫秒),即使它正在反转一个长 100 倍的向量。不过,这是一个可怕的黑客攻击。在 PARI/gp 中是否有一种快速反转向量的 "proper" 方法?
事实证明,有一个内置函数:Vecrev() 和 Polrev() 与 Vec 和 Pol 做同样的事情,但相反。所以你可以用类似的东西反转任意向量:
Vecrev(vector(10^6,i,i))