整数ガウスを与え+ bはIここで、bは整数であり、iは= EXPを(π I / 2 )虚数単位であり、(ユークリッド距離にWRT)最も近いを返すアイゼンシュタイン整数K + L ω K、Lはです整数およびω = EXP (2 π I / 3 )= (- 1 + I √。
バックグラウンド
すべてのガウス整数は一意のように書くことができることを、おそらく非常に明白である+ B Iと、Bの整数。それはとても明らかそれでも真ではない:任意アイゼンシュタイン整数を一意のように書くことができるK + L個のωとK、L個の整数。それらは両方とも複素数内でZモジュールを形成し、両方ともそれぞれp = 2または3のp番目のサイクロトミック整数です。なお、3 + 2 I ≠ 3 + 2 ω
ソース:commons.wikimedia.org
詳細
指定された複素数に2つまたは3つの最も近い点がある場合、それらのいずれかを返すことができます。
複素数は、直交座標(basis )で与えられますが、
(A,B)
orA+Bi
やA+B*1j
etcなどの便利な形式ではありません。- Eisenstein整数は、基底座標として返される
(K,L)
必要がありますが、orK+Lω
またはK+L*1ω
etcなどの便利な形式ではありません。
例
すべての実数の整数は、明らかに実数の整数に再びマッピングされる必要があります。
6,14 -> 14,16
7,16 -> 16,18
-18,-2 ->-19,-2
-2, 2 -> -1, 2
-1, 3 -> 1, 4
(1,w)
て(-1,1+w)
。また、これらのケースに適切な結果を提供するだけでは不十分であることを明確にするために、このセクションの名前を例に変更しました。