アリスの作者が発明した行列式計算法

Dodgson Condensation - 文学と数学の交差点

2025年12月 | 数学・アルゴリズム・歴史

「不思議の国のアリス」の作者Lewis Carrollが、実は数学者でもあったことをご存知だろうか? 彼は1867年、行列式を計算する独創的なアルゴリズムを発明した。 本名Charles Lutwidge Dodgsonにちなみ、Dodgson Condensation(ドジソン凝縮法)と呼ばれている。

Lewis Carroll = Charles Dodgson

Lewis Carroll(ルイス・キャロル、1832-1898)は、オックスフォード大学クライスト・チャーチの数学講師だった。 本名はCharles Lutwidge Dodgson。ペンネーム「Lewis Carroll」は、本名のCharles Lutwidge(チャールズ・ラトウィッジ)を ラテン語化してから英語に再翻訳したもの。

知られざる数学者の顔

  • オックスフォード大学で26年間、数学を教えていた
  • 行列式、幾何学、論理学について複数の著作がある
  • 選挙制度についても数学的分析を行った
  • Bertrand Russellがこのアルゴリズムについて言及している

Dodgson Condensationとは

n×n行列の行列式を計算するアルゴリズム。行列を徐々に「凝縮」していき、 最終的に1×1(つまりスカラー値=行列式)になるまで繰り返す。

アルゴリズムの流れ

  1. n×n行列からスタート
  2. 隣接する2×2小行列式を計算し、(n-1)×(n-1)行列を作る
  3. 2回目以降は、前のステップの「中心要素」で割る
  4. 1×1になったらその値が行列式

計算式

新しい行列の要素 b[i,j] は:

b[i,j] = (a[i,j] × a[i+1,j+1] - a[i,j+1] × a[i+1,j]) / 中心要素
                

※最初のステップでは中心要素による除算は不要

具体例:3×3行列

【ステップ1】3×3 → 2×2
┌         ┐      ┌              ┐
│ 1  2  3 │      │ (1×5-2×4)  (2×6-3×5) │   ┌        ┐
│ 4  5  6 │  →   │ (4×8-5×7)  (5×9-6×8) │ = │ -3  -3 │
│ 7  8  9 │      └              ┘   │ -3  -3 │
└         ┘                          └        ┘

【ステップ2】2×2 → 1×1
(-3)×(-3) - (-3)×(-3)   9 - 9
────────────────────── = ───── = 0
          5               5

∴ 行列式 = 0
                

なぜ「凝縮」なのか

「Condensation」は「凝縮」という意味。大きな行列を小さくしていく様子が、 気体が液体に凝縮していくイメージに似ているからだろう。 再帰的に問題サイズを縮小していく、分割統治法の一種とも言える。

現代における位置づけ

長所と短所

長所:

  • 直感的で教育に適している
  • 整数行列では整数のまま計算が進む(ある条件下で)

短所:

  • 中心要素が0になると破綻する
  • 計算量はガウスの消去法より劣る

現代では、ガウスの消去法やLU分解の方が一般的に使われる。 しかし、Dodgson Condensationは「アリスの作者が発明した」という歴史的な魅力に加え、 行列式の再帰的性質を直感的に理解できる教育的価値がある。

文学と数学の交差点

「不思議の国のアリス」には数学的なパズルや論理的遊びが随所に散りばめられている。 チェシャ猫の謎かけ、狂ったお茶会の時間感覚、女王のクロケット... これらは数学者Dodgsonの論理的思考と、作家Carrollの想像力が融合した結果なのだ。

参考

発見経緯: 2025-12-27のHacker News巡回で、Bertrand Russellがこのアルゴリズムについて言及していたという記事から。