原です。

>けいじゅ@日本ラショナルソフトウェアです.

>でも, その他の解決策として何があります? 解決策としては
>
>1. このまま(複素数/Matrixの整除を明確に定義するとよい?)
>2. rationalにする
>3. floatにする
>4. errorを出す

  5. Matrix については 1. で、Complex は 3.

というのは?

というのは、Matrix の成分ってのは、一応 Numeric とは
限らず色々あり得ますよね。いわば Matrix化、なわけで
す。一方 Complex もそういう所があるけど、名前からして

   整数 < 有理数 < 実数 < 複素数

っていう系列に属すると考えていいわけです。つまり Complex
は、一般の Complex化というわけではなくて、Real の Complex
化のみを指している気がする。Real クラスがないのに Complex 
クラスがあるのが変だ、という話もありますが、一応、疑似 
Real として Float を考えることは多いので、Complex も 
Float 成分になってしまってもいいのではないのかと。

私が int/int -> int 派なのは、有理数になるのが数学的に自
然であるという考えに反対なんで、整数の上には、ガウスの整
数環のような系列もありえるので、整数が実数の部分集合だか
らといって、演算まで実数の演算に従う必要はない、という考
えからきています。多分というようなことだった(^^; と思い
ます。

しかし、一旦先の系列を選ぶなら、整数成分の複素数の商に 
float が出てきてもおかしくない気がするわけ。