**ルイス・キャロルが行列式を計算した方法(2023)**

2025/12/27 4:03

**ルイス・キャロルが行列式を計算した方法(2023)**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Lewis Carrollの「Dodgson濃縮」は、(n\times n) 行列の行列式を計算するための洗練されたアルゴリズムです。各ステップでは、すべての要素をその周囲の (2\times2) サブマトリクスの行列式に置き換え、下部の行と右端の列を捨てた後、新しい各要素を元の行列から二つ手前の要素で割ります。Carrollの1867年の論文では、分母としてどの隣接要素((i) と (i+1)、または (j) と (j+1))を使用すべきかが曖昧に示されており、現代の実践ではゼロ分母を避けるために行や列を並べ替えるか、線形結合を適用して解決します。整数行列から開始すると、中間行列と除算はすべて正確な整数で残るため、Dodgson濃縮はガウス消去法が導入する可能性のある非整数中間値を回避します。このアルゴリズムは (O(n^3)) の演算量(ガウス消去に匹敵)を要し、自然に並列化できるため、多コアCPUやGPUでの実装に魅力的です。その単純さから教育ツールとしても有用であり、シンボリック計算や暗号学的応用における正確な整数代替手段としても役立ちます。例えば、次の行列にこの方法を適用すると
[ \begin{pmatrix} 3&1&4&1\ 5&9&2&6\ 0&7&1&0\ 2&0&2&3 \end{pmatrix} ] 行列式は228となります。

本文

チャールズ・ドッグソン(ルイス・キャロル)
現在「ドッグソン濃縮法」と呼ばれる手法を発見した人物。


概要

基本的な考え方は、行列を繰り返し 濃縮 することです:
元の行列から1 行と 1 列ずつ減らした新しい行列に置き換えます。
新しい行列の各要素は、その位置の要素とその南・東・南東隣接セルからなる (2\times2) 部分行列の行列式です。
底辺の行と右端の列は、こうした隣接セルが存在しないため除外されます。

アルゴリズムのもう一つの要素(分母に関する部分)は、記号を導入してから説明します。


詳細

  • (A) は求めたい行列式を持つ元の行列。
  • (A(k)) は濃縮操作を (k) 回行った後の行列。

ステップ 1 – 概要で述べた方法により (A(1)) を計算します。

ステップ 2 – (k \ge 2) のとき、(A(k)) の各要素は
(2\times2) 行列式を「2 ステップ前の行列」のある要素で割ったものです(具体的な分母は記号で明示します)。

ドッグソンが1867 年に発表した原稿は読めますが、
どの要素が分母になるかが混乱しやすいです。彼の最初の例では、該当する要素が偶然同じ値になっているため、分母の位置が明確に示されていません。


濃縮法を用いて (4\times4) 行列の行列式を求めるとき:

Det[{{3, 1, 4, 1},
     {5, 9, 2, 6},
     {0, 7, 1, 0},
     {2, 0, 2, 3}}]

計算結果は 228 です。


割り算

アルゴリズムには割り算が含まれるため、ゼロ除算を避ける必要があります。
ドッグソンは次のように助言しています:

与えられた行列ブロック(内部)が 0 を含まないように配置し直す。
行または列を転置するか、ある行に別の行の整数倍を加えることで実現できる。

この前処理によりゼロ除算が起きず、元の行列が整数要素で構成されている場合、途中経路上のすべての行列も整数となります。


効率性

  • 余因子展開(従来の方法)は (O(n!)) のステップ数を必要とします。
  • 部分ピボット付きガウス消去法ドッグソン濃縮法 はともに (O(n^3)) で実行できます。

濃縮法は手計算でも簡単に教えられ、拡張性が高く、途中のすべての行列を整数で保つ点が魅力です。また、各 (2\times2) 行列式を同時に計算できるため、自然と並列化可能です。


関連投稿

  • 余因子・行列式・随伴行列
  • なぜ 1 列のある行列式が重要か?
  • 線形代数の応用

同じ日のほかのニュース

一覧に戻る →

2025/12/27 2:13

**原文:** 「How uv got so fast」 **改訂(整理済み):** 「How did UV get so fast?」 **日本語訳:** 「UVはなぜそんなに速くなるのですか?」

## Japanese Translation: ``` ## Summary uv は Rust のみを利用するよりも、モダンな設計選択とパッケージング標準を採用しているため、pip より優れています。不要なオーバーヘッドを伴うレガシー機能(.egg サポート、pip.conf の読み込み、デフォルトのバイトコードコンパイル、system‑Python インストールの許可、厳格な仕様準拠、requires‑python の上限無視、複数インデックスが設定されている場合に最初のインデックスを選択)を削除することで、uv は不要なコードパスを排除します。さらに、HTTP レンジリクエストによる部分的な wheel ダウンロード、並列ダウンロード、ハードリンクまたはコピーオンライト可能なグローバルキャッシュ、ネイティブ TOML パース、および効率的な PubGrub 依存関係解決器を使用してインストール速度を加速させています。Rust は rkyv によるゼロコピー逆シリアライズ、ロックフリーの同時実行データ構造、単一静的バイナリであるためのインタプリタ起動コストゼロ、および高速比較/ハッシュのためのコンパクトな 64‑ビットバージョン表現を提供します。 Python のパッケージングは、setup.py スクリプトがインストール時に実行される必要があったため遅くていました。PEP 518–658 の導入によりメタデータが宣言的フォーマットへ移行し、PyPI 上の Simple API(2023年5月以降利用可能)が有効になりました。uv は 2024 年2月にリリースされ、初日からこれら新しい標準を活用しています。 影響は大きく、開発者は依存関係をより迅速にインストールでき、軽量な環境を構築できます。これは、Python エコシステム全体で最新のパッケージング標準を完全にサポートするツールへの広範な移行を促進する可能性があります。 ```

2025/12/23 23:51

2025年の最高アイテムとおすすめ

## Japanese Translation: ## Summary 2025年、著者はハンス・ボーマーの再帰的実数計算法や日本漫画カフェドキュメンタリー『マンブー』などの注目すべきIT・テック発見で生産性の高い一年を達成しました。彼はClojureのcore.asyncとJDK 21バーチャルスレッド、結合型関数言語Juxt、WordPressからMarkdown/org-mode静的サイトパイプラインへの移行についての技術ブログを複数公開しました。また、ブラジルで開催されたClojure/conjとClojure South Brazilという二つの主要なClojureカンファレンスに参加し、コミュニティの影響力を強調しました。 色分けされた月次マトリクスを備えたスプレッドシートベースのタスクトラッカーが導入され、著者のミニマリストでシステム思考的アプローチを反映し、専用プランナーよりもスプレッドシートを好む姿勢を示しました。プログラミングはClojure(16年にわたるフルタイム作業)に集中しつつ、Joy、Clojerl、Scittle、Javaによるコンパイラ開発も探索しました。 2025年にはゲーム・フィクション・システム思考に関するエッセイなど非技術的なアウトプットが増加し、2026年にはさらに多くのフィクションとカードゲームルールを企画しています。著者の「人生を変えるテクノロジー」主張はZettelkastenメモ取り法の採用に集約され、新しい非技術的投稿が可能になりました。大規模言語モデル(LLM)との広範な実験は限定的な実践的利益しか生まれず、問題設定とソクラテス対話における欠点を批判しています。 また、本年には好きな本(例:『オシリスの目』、『ナルキッサスとゴールドマン』)、音楽、映画、ポッドキャスト、テーブルトップゲームの厳選リストも含まれました。2026年を見据えて、著者は非技術的執筆を増やし、カードゲームルールを発表し、Clojure 1.13を進化させ、物理アーティファクトを作成し、未翻訳の本を読み、Goodnotes、Antinet、Booxなどのツールを使ってテックラダーを洗練する予定です。すべてはミニマリストでシステム志向のワークフローを維持しながら行われます。 この要約は元のリストからすべての主要ポイントを取り込み、推測を避け、明確な主旨を提示し、曖昧または混乱する表現を排除しています。

2025/12/27 8:09

「テキストに常に賭ける」

## Japanese Translation: ## Summary テキストは、これまでに発明された中で最も強力で多用途かつ信頼性の高い通信技術であり、可能な限り常に選択すべきです。約5,000年間安定した媒体として存在し、その長寿を示す耐久的な遺物が残っています。テキストは比類のない柔軟性を提供します:正確な意味を伝えることができる一方で、暗黙の文脈も許容するため、文学・歴史・哲学・数学・論理学・プログラミング・工学・注釈学・ファンフィクションに不可欠です。他のメディアと比べてテキストは格段に効率的であり(例:5 kB のブログ投稿がより大きな画像と同じ情報量を持つ)、電信・電子メール・チャット・ウェブなど後続技術を可能にしました。テキストは一対一、一対多、多対多のあらゆる社会的相互作用をサポートし、検索性・索引化・翻訳・非同期性・アルゴリズム処理(例:差分検出や要約)が可能です。また、多者編集、分岐会話、注釈付け、引用、構造化応答、およびレビューも許容します。著者は、テキストが通信・データ保存・アルゴリズム処理の基盤メディアとして残ると信じており、その幅広さ・深さ・スケーラビリティに匹敵するフォーマットは他に存在しないと述べています

**ルイス・キャロルが行列式を計算した方法(2023)** | そっか~ニュース