In message "[ruby-list:28300] Re: Cast"
    on 01/02/26, toyofuku / juice.or.jp <toyofuku / juice.or.jp> writes:
>  複素数 x + yi から行列への変換というとき、
>
>(1)  [x + yi]
>(2)  [x, y]
>(3)  [[x, -y], [y, x]]
>
>の3通りを考えるのですが、一つの casting では複数の変換に
>対応できないということはないですか。

Ax = zx という方程式は (A-zE)x = 0 と同一視されますよね。だ
から行列へのキャストがあるとすれば z*E ではないですかねぇ。
それ以外はおっしゃるように多義的なので意味が分からないと思い
ます。ただし複素数 z に対してはEの次元を指定しないと自明な変
換は存在しないでしょう。

少なくともこの件に関してはn次正方単位行列を Matrix(n)::E と
あらわすことにして z*Matrix(n)::E くらいが無難かも。

そういえば、クラス定義で class に続くものを式にも出来ないで
しょうか。無名クラス Foo(n) に対して「class Foo(n) … end」
のように書きたいことがしばしばあります。

-- Gotoken