2006/03/22

ようやく第2章まですべての問題が終わった。
;; ex. 2.97
(define ex-2-97-p1 (make-poly-with-dence 'x '(1 1)))
(define ex-2-97-p2 (make-poly-with-dence 'x '(-1 0 0 1)))
(define ex-2-97-p3 (make-poly-with-dence 'x '(0 1)))
(define ex-2-97-p4 (make-poly-with-dence 'x '(-1 0 1)))
(define ex-2-97-rp1 (make-rational-number ex-2-97-p1 ex-2-97-p2))
(define ex-2-97-rp2 (make-rational-number ex-2-97-p3 ex-2-97-p4))
gosh> (print ex-2-97-rp1)
(x + x^0)/(x^3 + -x^0)
gosh> (print ex-2-97-rp2)
(x)/(x^2 + -x^0)
gosh> (print (add ex-2-97-rp1 ex-2-97-rp2))
(-x^3 + -2x^2 + -3x + -x^0)/(-x^4 + -x^3 + x + x^0)

Mathematica をはじめて使ったとき以来の感動。なにせ、SICP片手とはいえ自分でコードを書き、まがりなりにも中で何が起きているかを把握しているんだから。

それでもやっぱりはずかしい、ぐちゃぐちゃコードたち。主に自分のためのバックアップ用。いつの日かもう一度書き直す。

symbolic-algebra-generic.scm

arithmetic-tower.scm
install-sparse-polynomial.scm
install-dence-polynomial.scm

0 件のコメント: