児玉@神戸高専です.

Ruby の練習に
1変数多項式の class Polynomial を実装してみました.
売りは, 整数係数多項式の 因数分解 を実装した点です.
# ちょっと思い付いて,
# 昔作った有り合わせのプログラムを移植したら
# 簡単にできちゃいました.
自分がやっている事が分かった上で使ってもらうということで,
異常の検出とかは, 手抜きしてます.
因数分解はアルゴリズム的に手を抜いた部分があるので遅いです.

ftp://ftp.math.kobe-u.ac.jp/pub/knot/polynomial-ruby.tar
これを適当なディレクトリに展開して(~/lib/ruby とか)
~/.profile で export RUBYLIB="~/lib/ruby" とかやって
スクリプト中では require "polynomial" して使ってください.

Object指向言語での作業は初めてなので,
他に良い実装があるか確信が持てません.
添削っていうか, 御意見いただけないでしょうか?
GPL 的に提供しますので, 改善案等ありましたら宜しく.

実装としては  class Polynomial < Array として
Array をそのまま継承するという安直なやりかたです.
一応, 係数環は Integer と Float を想定して作っています.
Complex, Rational や Matrix の場合どうなるかは不明.
# Rational と Complex は動作する可能性があるけど
# Matrix はダメだろう? かな?
因数分解に mod 素数 での記述が必要だったので,ついでに
module Number と云うのも作りました.
こちらは, 初等整数論的な機能を詰め込むつもり.
-- 
K.Kodama(kodama / kobe-kosen.ac.jp)