星期一, 10月 23, 2006

Math::Polynomial::Solve 的用法

Perl 上有很多東西都有人做過了,所以能儘量去 CPAN 上找就去找,可以省下很多功夫... (自己寫一個還得測試有沒有問題)

Math::Polynomial::Solve 正是其中的一個例子,我們知道五次以上的方程式沒有公式解,但可以用其他的方法找,於是就有人寫了出來,舉例來說,我要找 x^5 + 2 = 0,那麼我的參數就是 (1, 0, 0, 0, 0, 2),丟進去以後他就會給你解:
use Math::Complex;
use Math::Polynomial::Solve qw/poly_roots/;
my @x = poly_roots(1, 0, 0, 0, 0, 2);
foreach (@x) { print $_, "\n"; }

結果應該是:
0.929316490603147-0.675187952399881i
0.929316490603147+0.675187952399881i
-0.35496731310463-1.09247705577745i
-0.35496731310463+1.09247705577745i
-1.14869835499703

沒有留言: