2015-10-05から1日間の記事一覧

n次対称群

クラス Group についてはひとつ前のエントリを見てください。 変数 od に次数を入れます。かなり時間がかかる。自分の環境だと、5次で 40秒くらい、6次で 2.8時間くらい。次数が大きくなったら、結合法則の確認をスキップした方がいいかも知れない。 od = 5 …

有限群の実装(Ruby)

クラス Group#initialize の set は定義された集合(配列)、op は定義された演算(Proc オブジェクト)。@ie は単位元、@order は位数、インスタンスメソッド inverse(a) は a の逆元を与えます。(結合法則の確認はひどく時間がかかる場合があるので、引数…

3次の置換(Ruby)

「"012"→num の置換」でひとつの元。perm3[num1, num2] は2つの元の積を表す。 #permutation(置換) perm3 = lambda do |num1, num2| n1 = num1.chars.map(&:to_i) n2 = num2.chars.map(&:to_i) n1.map {|i| n2[i]}.join end perm3["210", "012"] #=>"210" …