るびきちです。

Polynomial っていえば、僕もちょこっとしたものを作ってみたけど・・・
やっぱりみんなが作りたくなるのかな?
多項式の値の計算にはホーナー法を使っている。

#!/usr/bin/ruby
=begin
= polynomial.rb
class Polynomial
== Abstract
多項式クラス。+,-,* をサポート
== Usage
=== Class Method on `Polynomial': [](*d)
引数を係数とした多項式を生成。

=== Class Method on `Polynomial': [](ary)
配列 ary を展開したものを係数とした多項式を生成。

=== Method on `Polynomial': d
引数の配列を返す。

=== Method on `Polynomial': length
係数の数すなわち (次数 - 1) を返す。

=== Method on `Polynomial': [](i)
i 次の係数を返す。

=== Method on `Polynomial': []=(i,v)
i 次の係数を v に設定する。

=== Method on `Polynomial': clone
=== Method on `Polynomial': dup
多項式をコピーする。

=== Method on `Polynomial': -@
多項式に -1 をかけたもの

=== Method on `Polynomial': collect { |v| .. } 
多項式の項それぞれに対してブロックを実行し、新たな多項式を生成する。

=== Method on `Polynomial': +(a)
=== Method on `Polynomial': -(a)
=== Method on `Polynomial': *(a)
多項式の +,-,*。

=== Method on `Polynomial': value(t)
多項式に t を代入した値を返す。ホーナー法を使用。

=end