# isPrimitiveRoot


确定哪些数组元素是基元根

函数库: TySymbolicMath

# 语法

TF = isPrimitiveRoot(G,N)

# 说明

TF = isPrimitiveRoot(G,N) 返回一个逻辑数组,其中逻辑 1(true)表示 G 中对应的元素是模 N 的基元根,逻辑 0(false)表示对应的元素不是基元根。G 的元素必须是整数,N 的元素必须是正整数。示例

# 示例

查找模 11 的基元根

创建一个向量,其中包含从 1 到 11 的正整数。判断它们是否是模 11 的基元根。

using TySymbolicMath
G = 1:11
TF = isPrimitiveRoot(G,11)
TF = 11-element BitVector:
    0
    1
    0
    0
    0
    1
    1
    1
    0
    0
    0   

查找模 11 的最小正整数的基元根

Z1 = findfirst(TF)
Z1 = 2

显示所有小于或等于 11 的正整数,它们都是模 11 的基元根。

Z = G[TF]
Z = 4-element Vector{Int64}:
    2
    6
    7
    8
查找模 15 的基元根

创建一个向量,其中包含从 -15 到 15 的整数。找出模 15 的基元根中的整数。

using TySymbolicMath
G = -15:15
Z = G[isPrimitiveRoot(G,15)]
Z = Int64[]

整数 15 没有基元根。

# 输入参数

G - 基数
数字 | 向量 | 矩阵 | 数组 | 符号数 | 符号数组

基数,指定为数字、向量、矩阵、数组、符号数或符号数组。G 的元素必须是整数。G 和 N 的大小必须相同,否则其中一个必须是标量。

N - 除数
数字 | 向量 | 矩阵 | 数组 | 符号数 | 符号数组

除数,指定为数字、向量、矩阵、数组、符号数或符号数组。N 的元素必须是正整数。G 和 N 的大小必须相同,否则其中一个必须是标量。

# 详细信息

基元根

如果每个与 互质的数 (或 )都与 次幂相等,则数 的基元根。也就是说,如果对于每个与 互质的整数 ,存在一个整数 ,使得 ,则 的基元根。当且仅当 时,模 的基元根存在,其中 是奇素数, 是正整数。

例如,整数 2 是模 5 的基元根,因为 对于每个与 5 互质的整数 都满足。

# 另请参阅

eulerPhi | prevprime | nextprime | nthprime