Main Content

isPrimitiveRoot

原始根である配列要素の判定

R2020a 以降

説明

TF = isPrimitiveRoot(G,N)N を法とする原始根である G の対応する要素を 1 (true) とし、原始根でない要素を 0 (false) とする logical 配列を返します。G の要素は整数、N の要素は正の整数でなければなりません。

すべて折りたたむ

1 から 11 までの正の整数を含む行ベクトルを作成します。11 を法とする原始根を判定します。

G = 1:11;
TF = isPrimitiveRoot(G,11)
TF = 1x11 logical array

   0   1   0   0   0   1   1   1   0   0   0

11 を法とする原始根である最小の正の整数を求めます。

Z1 = find(TF,1)
Z1 = 2

11 を法とする原始根である正の整数 (11 以下) をすべて表示します。

Z = G(TF)
Z = 1×4

     2     6     7     8

-15 から 15 までの整数を含む行ベクトルを作成します。15 を法とする原始根である整数を求めます。

G = -15:15;
Z = G(isPrimitiveRoot(G,15))
Z =

  1x0 empty double row vector

整数 15 には原始根がありません。

入力引数

すべて折りたたむ

基数。数値、ベクトル、行列、配列、シンボリック数またはシンボリック配列として指定します。G の要素は整数でなければなりません。GN は同じサイズであるか、一方がスカラーでなければなりません。

データ型: single | double | sym

除数。数値、ベクトル、行列、配列、シンボリック数またはシンボリック配列として指定します。N の要素は正の整数でなければなりません。GN は同じサイズであるか、一方がスカラーでなければなりません。

データ型: single | double | sym

詳細

すべて折りたたむ

原始根

ある数 g は、n (または gcd(a,n)=1) に対して互いに素であるすべての数 an を法として g のべき乗と合同である場合に、n を法とする原始根です。つまり、n に対して互いに素であるすべての整数 a について gka (mod n) が成り立つ整数 k がある場合に、gn を法とする原始根です。n を法とする原始根は n=1,2,4,pk,or 2pk の場合にのみ存在します。ここで p は奇素数であり、k は正の整数であるとします。

たとえば、2ka (mod 5) は 5 に対して互いに素であるすべての整数 a について成り立つため、整数 2 は 5 を法とする原始根です。

21=22 (mod 5)22=44 (mod 5)23=83 (mod 5)24=161 (mod 5)

バージョン履歴

R2020a で導入