powermod
べき剰余
説明
例
powermod を使用して、べき剰余 ab mod m を計算します。関数 powermod は、指数 ab を計算しないので効率的です。
c = powermod(3,5,7)
c =
5フェルマーの小定理は、p が素数で a が p によって割り切れない場合、a(p–1) mod p は 1 であるというものです。
p = 5、a = 3 の場合にフェルマーの小定理をテストします。予想どおり、powermod は 1 を返します。
p = 5; a = 3; c = powermod(a,p-1,p)
c = 1
p より小さい a のすべての値に対して同じケースをテストします。関数 powermod は要素ごとに 1 のベクトルを返すように働きます。
p = 5; a = 1:p-1; c = powermod(a,p-1,p)
c =
1 1 1 1フェルマーの小定理は、p が素数で a が p によって割り切れない場合、a(p–1) mod p は 1 であるというものです。逆に、a(p–1) mod p が 1 で a が p で割り切れない場合、p は必ずしも素数であるとは限りません (p は疑素数である可能性があります)。
2 を底とするフェルマーの小定理を使用して、300 から 400 までの数の素数性をテストします。
p = 300:400; remainder = powermod(2,p-1,p); primesFermat = p(remainder == 1)
primesFermat = 307 311 313 317 331 337 341 347 349 353... 359 367 373 379 383 389 397
結果を isprime と比較してフェルマーの擬素数を求めます。341 はフェルマーの擬素数です。
primeNumbers = p(isprime(p)); setdiff(primesFermat,primeNumbers)
ans = 341
入力引数
基数。数値、ベクトル、行列、配列、あるいはシンボリック数または配列で指定されます。a は整数でなければなりません。
指数またはべき乗。数値、ベクトル、行列、配列、あるいはシンボリック数または配列で指定されます。b は整数でなければなりません。
除数。数値、ベクトル、行列、配列、あるいはシンボリック数または配列として指定します。m は非負の整数でなければなりません。
詳細
正の指数 b について、べき剰余 c は次のように定義されます。
c = ab mod m.
負の指数 b については、定義は m を法とする乗法に関する a の逆元 d を求めることによって拡張できます。つまり、次のようになります。
c = d ‒b mod m.
ここで、d は次の関係を満たします。
ad mod m = 1.
バージョン履歴
R2018a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)