当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R polyroot 求实数或复数多项式的零点


R语言 polyroot 位于 base 包(package)。

说明

查找实数或复数多项式的零点。

用法

polyroot(z)

参数

z

按升序排列的多项式系数向量。

细节

次数多项式

由其系数向量 z[1:n] 给出。 polyroot 使用Jenkins-Traub 算法返回 复数零。

如果系数向量z的最高功率为零,则这些值将被丢弃。

没有最大次数,但数值稳定性可能是除 low-degree 多项式之外的所有多项式的问题。

长度为 的复向量,其中 z 的最大非零元素的位置。

例子

polyroot(c(1, 2, 1))
round(polyroot(choose(8, 0:8)), 11) # guess what!
for (n1 in 1:4) print(polyroot(1:n1), digits = 4)
polyroot(c(1, 2, 1, 0, 0)) # same as the first

来源

Ross Ihaka 对参考文献中的 Fortran 代码进行了 C 翻译,并由 R Core 团队进行了修改。

参考

Jenkins, M. A. and Traub, J. F. (1972). Algorithm 419: zeros of a complex polynomial. Communications of the ACM, 15(2), 97-99. doi:10.1145/361254.361262.

也可以看看

uniroot 用于任意函数的数值求根; demos 目录中的 complexzero 示例。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Find Zeros of a Real or Complex Polynomial。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。