2

mod演算を複素数に拡張する

385
0

面白い記事[1]を見つけたので、派生記事を書きます
書き終わった後でクッソしょうもない結論になったので、期待感は持たないでください
 ・豆腐を日本刀で切るような感じになってしまった……。

剰余は円上に並ぶ

まず、剰余を円上に並べたものを想像してみます。

  • 例えば 12 で割った余りは時計の文字盤のようになります
    • 始まりは 12 ではなく 0 がいいとか、3時の位置を始点0にして反時計回りに1,2,,11と並んで欲しいとか、そういう細かいことは抜きにして、とにかく剰余は円上に並べられるということをイメージしてください

複素指数・対数関数

オイラーの公式を用いると=eiθ=cosθ+isinθとなり、複素平面の単位円上を等角速度で移動する点を作れます
この時、θ=θ0+2πk (kZ, 0θ0<2π)とすると、eiθ=eiθ0となり、2πkの情報が失われます

逆に、複素対数関数を用いると、log(eiθ)=i(θ0+2πn) となります
θの値の復元をしようとしますが、2πkの情報が失われるため、全てのnに対してθ0+2πnが求める値になります
これは剰余よりも一般的な mod と似てきます
25131mod12が成立するようなイメージで、複数の値がlog(eθ)の値になります

係数の調整

先に出した例のままでは周期が2πなので、周期を割る数mに調節します
また、logの計算後にiが付くので打ち消します
xmで割った余りはmod(x,m)=m2πilog(e2πmix)になります
これはxmが整数の場合と整合が取れる、直感的な拡張になっていると思います

mod(i,m)=m2πilog(e2πmii)=m2πii(2πm+2πn)=i+nm
mod(1+i,m)=m2πilog(e2πmi(1+i))=m2πi(2πm(1+i)+2πn)=1+i+mn

おわり

いや、これ +mn したら良いだけやん
なんかだいぶ面白くない結果になったなーという印象
目隠しで日本刀(オイラーの公式)で切ったら、切ったものが豆腐 (+mnしたら良いという結論)だった気分だ
出来そう!という見切り発車で記事を書くとこうなる、という良い例
なんなら最初にちょっと考えたら気づけたやん
 ・逆関数を合成したら恒等関数になるから、殆ど恒等関数になるって気づけたやん
サンクコストもったいないんで取り敢えず投稿しとこ

元記事

  1. tanu, "割り算のあまりを複素数に拡張する", Mathlog

参考文献の使い方が分からなかったので手打ちです。

投稿日:2023916
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 剰余は円上に並ぶ
  2. 複素指数・対数関数
  3. 係数の調整
  4. おわり
  5. 元記事