指数与原根笔记
这里大部分定理的证明方法摘自《初等数论》第三版。
指数
令
容易知道,如果
定理1 设
$d_0 = \delta_m(a)$ ,对于任意满足
$$ a^d \equiv 1 \pmod{m} $$ 的
$d$ ,均满足$d_0 \mid d$ 。
证明 如果存在
对于
另一方面,如果
根据欧拉定理我们知道:
因此可以推出:
考虑一个数
所以我们可以得到:
下面的定理可以帮助我们快速计算一个数的幂的指数:
定理2 设
$k$ 是非负整数,则有:
$$ \delta_m(a^k) = {\delta_m(a) \over \gcd(\delta_m(a), k)} \tag{1.3} $$
证明 令
以及
根据定理1,我们可以得到:
所以可以推出:
又因为
定理3
$$ \delta_m(ab) = \delta_m(a)\delta_m(b) \Longleftrightarrow \delta_m(a) \bot \delta_m(b) \tag{1.4} $$
证明 设
(充分性)
因为:
所以可以知道
因为
另一方面,由于:
所以
(必要性)
利用
所以可以得到
定理4 如果
$n \mid m$ ,那么$\delta_n(a) \mid \delta_m(a)$ 。
证明 令
由于:
所以可以推出
定理5 如果
$m_1 \bot m_2$ ,那么$\delta_{m_1m_2}(a) = \mathrm{lcm}(\delta_{m_1}(a), \delta_{m_2}(a))$ 。
证明 令
那么根据定理4,我们可以知道
由于:
同时成立,并且
推论 如果
$m_1, m_2, \dots, m_k$ 两两互质,那么:
$$ \delta_{\prod_{i=1}^k m_i}(a) = \mathrm{lcm}(\delta_{m_1}(a), \delta_{m_2}(a), \dots, \delta_{m_k}(a)) \tag{1.5} $$
原根
如果一个数
一个数
当
对于一个与
求解一个数的离散对数可以使用大步小步算法 (BSGS)。大致想法就是
相当于我们要求满足下列方程的解:
其中
为了方便,没有歧义的情况下,离散对数将不会写下标。
定理6 当
$a$ 、$b$ 和$ab$ 的离散对数存在时,满足:
$$ \log_{m,g} ab \equiv \log_{m,g} a + \log_{m,g} b \pmod{\varphi(m)} \tag{2.1}$$
证明 根据离散对数的定义:
定理7 (离散对数换底公式)
如果$g$ 和$\hat g$ 是$m$ 的两个原根,那么:
$$ \log_{\hat g} a \equiv \log_{\hat g} g \cdot \log_{g} a \pmod{\varphi(m)} \tag{2.2} $$
证明 根据离散对数的定义:
定理8 (指数与离散对数的关系)
$$ \delta_m(a) = { \varphi(m) \over \gcd(\log_{m, g} a, \varphi(m))} \tag{2.3}$$
证明 由于
定理9 (原根的个数)
如果$m$ 存在原根,那么一定有$\varphi(\varphi(m))$ 个原根。
证明 根据原根的定义,原根
如果
最后来关注一个问题,如果
显然,利用定理9,如果我们求出了一个原根,那么其他的原根可以通过枚举所有与
但是求出一个原根似乎现在没有好的办法,但是考虑到原根有
-
有另外一种形式
$a \equiv g^{i\sqrt{\varphi(m)} + j} \pmod{m}$ ,但是这种形式最后将会需要逆元,计算过程和可推广性都不如$a \equiv g^{i\sqrt{\varphi(m)} - j} \pmod{m}$ 优。 ↩