Let \(p\) be an odd prime. How many quadratic residues are there in \(\mathbb{Z}_p\)?
For an integer \(a\) and an odd positive integer \(n = \prod_{i=1}^k p_i^{e_i}\), define the Jacobi symbol:
\[ \left({a \over n}\right) = \prod_{i=1}^k \left({a \over p_i}\right)^{e_i} , \]
where
\[ \left({a \over p}\right) = \begin{cases} 0 & \text{if $a \equiv 0 \pmod{p}$,} \\ 1 & \text{if $a$ is a quadratic residue modulo $p$, and} \\ -1 & \text{if $a$ is a quadratic non-residue modulo $p$} \end{cases} \]
is the Legendre symbol. Prove the following properties for the Jacobi symbol.
If \(m_1 \equiv m_2 \pmod{n}\), then \[ \left({m_1 \over n}\right) = \left({m_2 \over n}\right) . \]
\[ \left({m_1 m_2 \over n}\right) = \left({m_1 \over n}\right) \left({m_2 \over n}\right) . \]
Assuming \(a \in \mathbb{Z}^*_p\):
\[ \begin{aligned} \left({m_1 \over n}\right) &= \prod_{i=1}^k \left({m_1 \over p_i}\right)^{e_i} \\ &= \prod_{i=1}^k \left({m_2 \over p_i}\right)^{e_i} = \left({m_2 \over n}\right) \end{aligned} \]
\[ \begin{aligned} \left({m_1 m_2 \over n}\right) &= 0 \Leftrightarrow \left({m_1 \over n}\right) = 0 \lor \left({m_2 \over n}\right) = 0 \\ \text{assuming } m_1, m_2 &\bot n: \\ \left({m_1 m_2 \over n}\right) &= \prod_{i=1}^k \left({m_1 m_2 \over p_i}\right)^{e_i} \\ &= \prod_{i=1}^k \left(\left({m_1 \over p_i}\right) \left({m_2 \over p_i}\right)\right)^{e_i} \\ &= \prod_{i=1}^k \left({m_1 \over p_i}\right)^{e_i} \prod_{i=1}^k \left({m_2 \over p_i}\right)^{e_i} \\ &= \left({m_1 \over n}\right) \left({m_2 \over n}\right) \\[1ex] \left({m_1 m_2 \over p}\right) &\equiv (m_1 m_2)^{(p-1)/2} \pmod{p} \\ &\equiv m_1^{(p-1)/2} m_2^{(p-1)/2} \pmod{p} \\ &\equiv \left({m_1 \over p}\right) \left({m_2 \over p}\right) \pmod{p} \end{aligned} \]
Using the properties above, and additionally
\[ \left({2 \over n}\right) = \begin{cases} 1 & \text{if $n \equiv \pm 1 \pmod{8}$}, \\ -1 & \text{if $n \equiv \pm 3 \pmod{8}$} , \end{cases} \]
and
if \(m\) and \(n\) are odd positive integers, then
\[ \left({m \over n}\right) = \begin{cases} -\left({n \over m}\right) & \text{if $m \equiv n \equiv 3 \pmod{4}$}, \\ \left({n \over m}\right) & \text{otherwise} , \end{cases} \]
write an algorithm to evaluate Jacobi symbols. The algorithm should not do any factoring other than dividing out powers of two.
def jacobi(a, n):
v = 1
while True:
a %= n # replace a by its remainder modulo n
if a == 0:
return 0
s = 1 if n % 8 in [1, 7] else -1
while a % 2 == 0:
a //= 2
v *= s
if a == 1:
return v
if a % 4 == 3 and n %% 4 == 3:
v *= -1
a, n = n, a
Calculate \(\left({7411 \over 9283}\right)\), \(\left({20964 \over 1987}\right)\) and \(\left({1234567 \over 11111111}\right)\).
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing