2

原始乗根の和

112
0

あいさつ

んちゃ!
超幾何関数の記事が中々進まなくて
ずんだもんは少し疲れたのだ。
なので、一発芸をやります。

以下Primeを素数全体とする。

[n]={1,2,...,n}とする。
このとき、gcd(k,n)=1を満たす整数kZに対して以下の式が成り立つ。
j (mod n)[n]:i (mod n)[n]{j}:kjki(mod n)

背理法を用いて示す。
仮にj[n],i[n]{j}s.t.kiki(mod n)が成り立つとする。
左辺に移行してk(ij)0(mod n)
このとき、仮定よりgcd(k,n)=1であるからij0(mod n)を得る。
しかし、これは仮定に反する。
ゆえに、与えられた補題は証明された。

問題

Primitive(n)={ωC|ωn=1ωk1(k=1,2,3,...,n1)}とおく。
この時、以下の事実が成り立つことを用いると
nN:p1,p2,...,pk Prime,e1,e2,...Ns.t. n=p1e1p2e2pek
以下の式が成り立つ。
ωPrimitiveωq={0(Nq<np1p2pk=p1e11p2e21pkek1)(1)knp1p2pk(q=np1p2pk)

[0]ωが原始n乗根であるとすると、ωn1=(ω1)(ωn1+ωn2+ω+1)=0より、
ωn1+ωn2+ω+1=0
以下ω=ei2πnとする。
[1]n=pPの場合はPrimitive={ω,ω2,...,ωn1}かつq=1の場合のみを考えればいい事が分かる。
ゆえに、下記の式を得る。
ωPrimitiveωq=(ωn1+ωn2++ω+1)1=1
[2]n=p2の場合はPrimitive={ω1,ω2,...,ωn1}{ωp,ω2p,...,ω(p1)p}
今の場合は次の二つの場合分けが必要:
(1)Nq<pの場合:補題1より{q1 (mod p),q2 (mod p),...,q(p1) (mod p)}={1,2,...,p1}が成り立つ。
これを用いれば下記の式が成り立つ。
ωPrimitiveωq=(ωn1+ωn2++ω)(ωp(p1)+ωp(p2)++ωp)=(ωn1+ωn2++ω+1)(ωp(p1)+ωp(p2)++ωp+1)=0
(2)q=pの場合は次式が成り立つ。
ωPrimitiveωq=k=1nωkp(ωp2+ω2p2++ω(p1)p2+1)=p
[3]n=pqの場合はPrimitive={ω,ω2,...,ωn1}{ωp,ω2p,...,ω(q1)p}{ωq,ω2q,...,ω(p1)q}
この場合は、q=1の場合のみ考えればいい。
ωPrimitiveωq=k=1nωkk=1qωkpk=1pωkq+1=1
[4]n=p1e1p2e2pkekの場合は
{S0(ω)={ωr|r=1,2,...,n1}Sm(ω)={ωpk1pk2pkmr|k1<k2<<km,k1,k2,...,km{1,2,...,k},r=1,2,...,npk1pk2pkm1}
今の場合、Primitive=S0(ω)S1(ω)
この場合は次の二つの場合で場合分けが必要。
(1)q<np1p2pk=p1e11p2e21pkek1の場合
gcd(q,n)=1の場合は補題を、gcd(q,n)=d1の場合はΩ=ωqが原始nd乗根になる事を用いればいい。
ωPrimitiveωq=m=0k(1)k(km)ωSm(ωq)ωq=m=0k(1)k(km)(ΩSm(ωq)Ω+11)=m=0km=0k(1)k(km)=(11)k=0
(2)q=np1p2pk=p1e11p2e21pkek1の場合
ωPrimitiveωq=m=0k(1)k(km)ωSm(ωq)ωq=m=0k(1)k(km)ΩSm(ωq)Ω=m=0k1(1)k(km)ΩSm(ωq)Ω+(1)kΩSk(ωq)Ω=(1)knp1p2pk

投稿日:20241214
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中