ポートフォリオプログラミングのこと数学のこと音楽のこと読書のことその他色々ここでは,さとしんの勉強・研究している領域についての説明や,見つけたもの,作ったものについて説明していく.
私は格子理論,格子基底簡約について研究しています.とはいってもなんやねんそれという方もいるかもしれないので,取り敢えず表面的どころか表面にそっと触れている空気くらいの薄っぺらーい所を書いておきます.
次元格子とは一次独立なベクトル の整数係数全体の集合
を格子という.
また, を基底,基底を並べて作った行列
を基底行列と呼ぶ.
基底簡約は,恐ろしく簡単に言えばこの行列 に良い感じの行基本変形を施してできる限り各基底が短く,且つ直交に近くなるようにしましょうというお話です.
これはそこそこ有名
次元格子の基底 が -LLL簡約基底であるとは
なるときをいう.但し,
はGram-Schmidt直交化ベクトル(GSO-ベクトル)である.
これはちょっとマイナー.でも研究ではよく使うので書いておく.
次元格子の基底 が -PotLLL簡約基底であるとは
なるときをいう.但し,
は格子基底のpotentialである.
これもそこそこ有名.
絶対に止まるとか,思っている人もいるらしいがそんなことはない.なぜか知らないが止まったり,あるいはどこかで強制停止させているだけで停止性は証明されていない.
BKZ基底簡約について説明する前に,一つ記号を定義しておく:
次元格子 の基底を として,各 に対して写像 を -ベクトル空間 の直交補空間への直交射影とする(但し, とする). このとき,任意の に対して 次元格子 を を基底として持つ格子とする.
次元格子の基底 がブロックサイズ に対してBKZ簡約されているとは
の二つの条件を満足するときをいう.
GSAは幾何級数仮定(Geometry Series Assumption)の略だが,ここでは簡単に言えばGram-Schmidtベクトルのノルムの対数値のことを言っている.
これは私が勝手に言ってるわけではなく,(論文とかではあまり見かけないが)そこそこ研究室での会話などでは使う言い回しである.
なんで,GSAなんてのがGram-Schmidtベクトルのノルムなんかを表すかと言えば,そもそも幾何級数仮定というのは簡約基底 のGram-Schmidtベクトル について,
が成立するっぽいというやつなので,それに因んでだと思われる.
ここでは幾つかのアルゴリズムにおけるGSAの変化を見てみよう.