ProvablePrimeQ
詳細とオプション
例題
例
スコープ
オプション
Certificate
PrimeQMessages
特性と関係
考えられる問題
関連項目
テクニカルノート
関連するガイド
PrimalityProving`
PrimalityProving`
ProvablePrimeQ
詳細とオプション
- ProvablePrimeQを使うためには,まず素数証明パッケージをロードしなくてはならない.それにはNeeds["PrimalityProving`"]を実行する必要がある.
- ProvablePrimeQ[n]がTrueを返すならば,n はプラットの素数証明書,あるいはAtkin–Morainの素数証明に基づいた素数である.
- PrimeQは桁違いに速いので, ProvablePrimeQをPrimeQの代用として使うべきではない.代りに必要な場合は,PrimeQの結果の証明にProvablePrimeQを使うとよい.
- 次のオプションを使うことができる:
-
"SmallPrime" 1050 Atkin–Morainテストを使用する下限 "Certificate" False 証明書を出力するかどうか "PollardPTest" Automatic ポラード(Pollard)の
メソッドを使うかどうか"PollardRhoTest" Automatic ポラードの
メソッドを使うかどうか"TrialDivisionLimit" Automatic 試行割算で使う素数の数 "PrimeQMessages" False 処理状況を監視するかどうか
例題
すべて開く すべて閉じる例 (1)
Needs["PrimalityProving`"]PrimeQにより1093が素数であることが分かる:
PrimeQ[1093]ProvablePrimeQでも同じ結果であるが,証明書が生成される:
ProvablePrimeQ[1093]スコープ (2)
Needs["PrimalityProving`"]ProvablePrimeQは任意の大きい数にも使える:
ProvablePrimeQ[10^300 + 3]Needs["PrimalityProving`"]ProvablePrimeQは自動的にリストに縫い込まれる:
ProvablePrimeQ[{3, 7, 9, 13}]オプション (2)
Certificate (1)
Needs["PrimalityProving`"]オプション"Certificate"->Trueを使うと,直接証明書を見ることができる:
ProvablePrimeQ[1093, "Certificate" -> True]PrimeQMessages (1)
Needs["PrimalityProving`"]p = RandomPrime[{10^60, 10^61}]PrimeQCertificateで,進行状況のメッセージが出力される:
ProvablePrimeQ[p, "PrimeQMessages" -> True]特性と関係 (1)
Needs["PrimalityProving`"]p = RandomPrime[{10^9, 10^12}]ProvablePrimeQが結果を返したら,PrimeQCertificateを使って証明書を出力することができる:
ProvablePrimeQ[p]PrimeQCertificate[p]"Certificate"->Trueとすると,ProvablePrimeQはAtkin–Morain素数検定を繰り返す:
ProvablePrimeQ[p, "Certificate" -> True]