Compare commits

...

3 Commits

Author SHA1 Message Date
3bff372afe Slight changes in quadratic_forms 2023-09-21 19:39:16 +03:00
fa969e20c1 Add static target 2023-06-09 19:28:25 +03:00
7e92ae0076 Add index + slightly change makefile 2023-06-09 19:26:09 +03:00
3 changed files with 47 additions and 16 deletions

View File

@@ -2,18 +2,32 @@ DISTDIR ?= $(shell pwd)
TEMPLATE_DIR ?= $(DISTDIR)/templates
SCRIPT_DIR ?= $(DISTDIR)/scripts
BUILDDIR ?= $(DISTDIR)/build
DESTDIR ?= /var/www/wikipages
export
PAGES := $(wildcard pages/*)
PAGE_TARGETS := $(patsubst pages/%,$(BUILDDIR)/page/%,$(wildcard pages/*))
all: $(PAGES) static
all: $(PAGE_TARGETS) $(BUILDDIR)/index.html $(BUILDDIR)/static
$(PAGES):
$(MAKE) -C $@
$(BUILDDIR)/page/%:
@$(MAKE) -C pages/$*
static:
$(BUILDDIR)/static:
@mkdir -p $(BUILDDIR)
cp -r static $(BUILDDIR)
.PHONY: all $(PAGES) static
$(BUILDDIR)/index.html:
cp index.html $(BUILDDIR)
clean:
rm -rfI $(BUILDDIR)/
install:
@mkdir -p $(DESTDIR)
cp -r -T $(BUILDDIR)/ $(DESTDIR)/
uninstall:
rm -rfI $(DESTDIR)/
.PHONY: all clean install uninstall

13
index.html Normal file
View File

@@ -0,0 +1,13 @@
<!DOCTYPE html>
<html lang="ru">
<head>
</head>
<body>
Статьи:
<br>
<a href="/page/linear_nt">Линейные алгоритмы в теории чисел</a>
<br>
<a href="/page/quadratic_forms">Квадратичные вычеты и корни по простому модулю</a>
</body>
</html>

View File

@@ -1,17 +1,17 @@
---
header-includes: |
\newcommand{\legendre}[2]{\begin{pmatrix} #1\cr \hdashline #2\cr \end{pmatrix}}
\newcommand{\Zp}{\mathbb{Z}_p}
\newcommand{\Fp}{\mathbb{F}_p}
...
# Квадратичные вычеты и корни по простому модулю
На данный момент статья находится в разработке.
В этой статье вы узнаете всё о квадратичных вычетах по простому модулю и разложении числа в сумму двух квадратов.
Будем считать, что арифметические операции в $\Zp$ работают за константое время или что то же самое, мерять все в арифметических
Будем обозначать множество остатков по модулю $p$ со сложением и умножением как $\Fp$.
Будем считать, что арифметические операции в $\Fp$ работают за константое время или что то же самое, мерять все в арифметических
операциях(сложение, умножение, вычитание).
@@ -19,13 +19,13 @@ header-includes: |
Здесь и далее $p$ -- простое число.
**Определение**. $p \nmid a \leftarrow \Zp$ называется _квадратичным вычетом_ если существует такое $z$, что $z^2 \equiv a \pmod{p}$, а
**Определение**. $a \in \Fp$ называется _квадратичным вычетом_ если существует такое $z$, что $z^2 \equiv a \pmod{p}$, а
иначе евычетом_.
**Определение**. Символом Лежандра числа $a$ называется величина $\legendre{a}{p}$, равная единице, если $a$ является квадратичным
вычетом по модулю $p$, нулю если $a \equiv 0$, и $-1$ иначе.
**Лемма**. В $\Zp$ поровну квадратичных вычетов и невычетов, а именно $\frac{p - 1}{2}$.
**Лемма**. В $\Fp$ поровну квадратичных вычетов и невычетов, а именно $\frac{p - 1}{2}$.
**Доказательство**. Посмотрим на числа $1^2, 2^2, \ldots, (p - 1)^2$. Заметим, что $a^2 \equiv b^2$ равносильно тому что $p \mid (a - b)(a + b)$, то есть
либо $a \equiv b$, либо $a \equiv -b$. А это значит, что среди первых $\frac{p - 1}{2}$ квадратов нет повторяющихся, а поскольку $a^2
@@ -52,7 +52,7 @@ $\frac{y}{x} = yx^{-1}$, а $x^{-1}$ обратный остаток к $x$.
**Доказательство**. Заметим, что если $a \equiv x^2$, то $a^{\frac{p - 1}{2}} \equiv x^{p - 1} \equiv 1$ по малой теореме Ферма, то есть
для вычетов утверждение верно.
Можно было бы сказать, что многочлен $x^{\frac{p - 1}{2}} - 1$ имеет не более $\frac{p - 1}{2}$ корней, потому что $\Zp$ -- поле, но у
Можно было бы сказать, что многочлен $x^{\frac{p - 1}{2}} - 1$ имеет не более $\frac{p - 1}{2}$ корней, потому что $\Fp$ -- поле, но у
этого факта есть более элементарное доказательство.
Проделаем тот же трюк, что и в доказательстве мультипликативности для двух невычетов. Тогда произведение всех чисел в парах с одной
@@ -143,8 +143,8 @@ ab - bx + ax - x^2 \equiv ab + bx - ax - x^2
**Лемма**. Существует алгоритм, который для вычета $n$ ищет такой $z$, что $z^2 \equiv n \pmod{p}$ за ожидаемое время $O(\log p)$.
**Доказательство**. Найдём такое $a$, что $a^2 - n$ является невычетом за ожидаемое время $O(\log p)$. Обозначим за $\omega = \sqrt{a^2 - n}$.
Строго говоря, посмотрим на все многочлены в $\Zp$ от $\omega$. и посмотрим на них по модулю $\omega^2 - (a^2 - n)$. Получившееся
множество $\{ a + bw \mid a, b \leftarrow \Zp \}$ будем обозначать $T = \Zp[w]/(w^2 - (a^2 - n))$.
Строго говоря, посмотрим на все многочлены в $\Fp$ от $\omega$. и посмотрим на них по модулю $\omega^2 - (a^2 - n)$. Получившееся
множество $\{ a + bw \mid a, b \leftarrow \Fp \}$ будем обозначать $T = \Fp[w]/(w^2 - (a^2 - n))$.
Заметим, что числа из $T$ можно складывать и умножать: $$(a + bw) + (c + dw) = (a + c) + (b + d)w, (a + bw)(c + dw) = (ac + bd(a^2 - n)) +
(ad + bc)w$$
@@ -191,7 +191,7 @@ ab - bx + ax - x^2 \equiv ab + bx - ax - x^2
**Лемма**. Любое простое $p$ вида $4k + 1$ представляется в виде суммы двух квадратов.
Попробуем конструктивно научиться искать разложение для $p = 4k + 1$. Для начала поймем как "перемножать" квадратичные формы,
Попробуем конструктивно научиться искать разложение для $p = 4k + 1$. Для начала поймем как "перемножать" такие разложения,
это также поможет нам далее, когда мы перейдем в составному $n$.
Пусть $a^2 + b^2 = x, c^2 + d^2 = y$. Тогда
@@ -208,6 +208,9 @@ a^2c^2 + a^2d^2 + b^2c^2 + b^2d^2 = xy
(ac + bd)^2 + (ad - bc)^2 = xy
\end{equation*}
То же самое можно увидеть, если рассмотреть $z = a + bi, w = c + di$, тогда
$\conj{z}w = (ac + bd) + (ad - bc)i$, а $xy = |z|^2|w|^2 = |\conj{z}|^2|w|^2 = |\conj{z}w|^2|$.
То есть мы доказали, что если $x, y$ представимы в виде суммы двух квадратов, то $xy$ тоже представимо в виде суммы двух квадратов.
Попробуем представить число $p$, пользуясь предыдущим знанием. Пусть для начала у нас есть разбиение числа $mp$ для какого-то $m$, то
@@ -252,3 +255,4 @@ $a \equiv b \pmod{m}$.
a, b$. Тода $p^2 \mid a^2 + b^2$ и $\left( \frac{a}{p} \right)^2 + \left( \frac{b}{p} \right)^2 = \frac{a^2 + b^2}{p^2}$. Применяя то же
самое рассуждение получаем требуемое.
Тем самым мы доказали рождественскую теорему Ферма и научились раскладывать числа в суммы двух квадратов.