當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。