Skip to content

2026

SinkhornアルゴリズムとJAXによる実装: 最適輸送の高速化

最適輸送問題に以前から興味があり、最近のDeepSeekのMHC (Manifold Constrained Hyper Connections) 論文でも言及されていたため、その中心となるSinkhornアルゴリズムについて詳細を調べ、JAXで実装してみた際のメモ。

Warning

この記事は Google Antigravity を使用して作成されました。 あくまで私自身の勉強した結果の備忘録としてのメモと思っていただければと思います。 (正確性はかならずしも担保されません。) 作成過程で知らないことが多くあり、非常に勉強になりました。

PC画面キャプチャとGemini 2.0 Flashによる全自動日報生成: 実装と備忘録

PCの画面を1分おきにキャプチャし、Gemini 2.0 Flashを利用して1日の活動内容を自動で要約するツールを作成した際のメモ。

Warning

この記事は Google Antigravity を使用して作成されました。 あくまで私自身の勉強した結果の備忘録としてのメモと思っていただければと思います。 (正確性はかならずしも担保されません。) 作成過程で知らないことが多くあり、非常に勉強になりました。

高速なToeplitz 3重対角行列ソルバー: TDMA vs Cyclic Reduction

数値計算の分野では、特定の構造を持つ行列方程式 \(Ax=b\) をいかに高速に解くかが常に重要なトピックです。 今回は、\(N = 2^n - 1\) のサイズを持つ Toeplitz 3重対角行列(対角成分が一定の行列)を対象に、定番の TDMA (Thomas Algorithm) アルゴリズムと、並列化に適した Cyclic Reduction (CR) アルゴリズムの性能を比較します。

驚くべきことに、並列化を行わないシングルスレッド環境においても、特定条件下では CR 法が TDMA よりも高速であるという結果が得られました。本記事ではそのアルゴリズムの詳細な仕組みとベンチマーク結果を紹介します。

Warning

この記事は Google Antigravity を使用して作成されました。 あくまで私自身の勉強した結果の備忘録としてのメモと思っていただければと思います。 (正確性はかならずしも担保されません。) 作成過程で知らないことが多くあり、非常に勉強になりました。