Работа с простыми числами (PrimeQ). Вычисление примитивных элементов (Primitive Element).
В подпакете PrimeQ в дополнение к функции ядра PrimeQ [n] имеется ряд функций для работы с простыми числами:
- ProvablePrimeQ [n] – возвращает True, если п проверено на простоту, и False в ином случае;
- PrimeQCertif icate [n] – возвращает сертификат о том, что n– простое или композитное число;
- ProvablePrimeQ [n, Certif icate › True] – возвращает сертификат, который может использоваться для проверки чисел на простоту;
- PrimeQCertif icateCheck [check, n] – проверяет, удостоверяет ли сертификат check простоту или композитность n.
Следующие примеры показывают работу с простыми числами:
<< NumberTheory`PrimeQ`   PrimeQ[127] True  ProvablePrimeQ[127] True  PrimeQCertificate[127] {127, 3, {2, {3, 2, {2}.}, {7, 3, {2, {3, 2, {2}}}}}}   ProvablePrimeQ[127, Certificate > True] (True, {127, 3, {2, {3, 2, {2}}, {7, 3, {2, {3, 2, {2}}}}}}}   PrimeQCertificate[3511, SmallPrime > 1000] {{CertificatePrime > 3511, CertificatePoint > PointEC[2, 2467, 1447, 2135, 3511], Certif icateK > 32, Certif icateM > 3424, CertificateNextPrime -*107, CertificateDiscriminant > -7}, 107, 2, {2, {53, 2, {2, {13, 2, {2, {3, 2, {2}}}}}}}}Вычисление примитивных элементов (Primitive Element)
Подпакет PrimitiveElement содержит всего одну функцию для вычисления примитивных элементов множественного алгебраического выражения:
- PrimitiveElement [z, {а1"а2,…} ] – возвращает список {b, { f1, f2,…}}, где b – примитивный элемент расширения рациональных алгебраических чисел a1, а2,… и f1, f 2,… – полином переменной z, представляющей a1, a2,… как термы примитивного элемента.
Ее действие видно из следующего примера:
<< NumberTheory`PrimitiveElement` PrimitiveElement[z, {Sqrt[2], Sqrt[3]}] RootReduce[%[[2]] / .z > %[[1]]]