2次元格子の短いベクトル探索デモ
2本の2次元基底ベクトルの整数結合を有限の係数範囲で全探索し、最短の非零ベクトルを1つ求めます。処理はブラウザ内でローカルに行われます。
使ってみる
2次元格子の短いベクトル探索デモ
2本の2次元基底ベクトルの整数結合を有限の係数範囲で全探索し、最短の非零ベクトルを1つ求めます。
v1に2,0、v2に0,3を括弧なしで入力し、係数範囲を1にして計算します。結果は-1v1 + 0v2 = (-2, 0)、長さ2です。コピーは数値結果をコピーし、クリアは3欄とも空にします。
各ベクトルは絶対値1000000以下の整数座標2個で、線形独立である必要があります。座標はカンマ、セミコロン、空白で区切ります。小数、科学表記、文字列は拒否されます。範囲は1〜100の整数です。i、jを-r〜rとして(0,0)のみ除き、(2r+1)²−1組を調べ、ユークリッド長の二乗を比較します。同値ならi昇順、次にj昇順で最初の組を保持します。表示は1つのベクトル、係数、長さ(小数点以下5桁)のみで、図や全組合せ一覧はありません。範囲を広げても最小長は増えませんが、変わらない場合があります。範囲外のより短いベクトルは見落とす可能性があります。有限2次元列挙であり、LLL/BKZ基底簡約や暗号安全性評価は行いません。
処理はブラウザ内でローカルに行われます。