- •Основы теории делимости
- •Основная теорема теории чисел Теорема: 4
- •Алгоритм Евклида и цепные дроби.
- •Бинарный алгоритм
- •Разложение числа в цепную дробь
- •Рекуррентная последовательность
- •Вычисление подходящих дробей
- •Диафантовы уравнения
- •Сравнение
- •Арифметика сравнений
- •Функция Эйлера и ее свойства.
- •Теорема Эйлера-Ферма (Малая теорема Ферма)
- •Решение сравнений в первой степени.
- •Теорема: Вильсена
- •Китайская теорема об остатках
- •Многочлены
- •Наибольший общий делитель
- •Алгоритм Евклида для 2-х многочленов
- •Приближенная интерполяция
- •Кодирование с исправлениями (кодирование Хэмминга)
- •Полиномиальное кодирование.
- •Коды Шеннона-Фено
- •Алгоритм Хоффмана.
- •Лексикографический порядок
- •Антилексикографический порядок
- •Алгоритм лексикографического порядка
- •Числа Стирлинга первого и второго рода
- •Числа Белла
- •Бинарный код Грея
- •Числа Стирлинга
- •Разбиение чисел
- •Производящие функции
- •Рекуррентное уравнение (Уравнение в конечных разностях)
- •Линейные рекуррентные уравнения порядка k
- •Нахождение частного решения неоднородного уравнения
- •Основы теории графов
- •Связность
- •Алгоритм построения Эйлеровой цепи.
- •Деревья
- •Коциклы
Многочлены
Pn(x)=a0+a1x+a2x2+…+anxn=i=1n((aixi)
aiQ,R,C
an0, тоdeg Pn=n an=1
Теорема:22 О делении с остатком
Pn(x), Qm(x)
Существует единственное Rn-m(x) иSm-1(x): Pn(x)=Qm(x).Rn-m(x)+Sm-1(x)
Deg Sm-1(x)<=m-1
Доказательство:
Qm(x), n=deg Pn(x)
n<x
база: Pn(x)=Qm(x).0(x)+Sm-1(x)
индукционный переход:
![]()
Pn-1(x)=Qm(x)Rn(x)+Sn(x)=>
![]()
Pn(x)=Qm(x).Rn-m(x)+Sm-1(x)
(Rn-m(x)-Rn-m(x))Qm(x)=(Sm-1(x)-Sm-1(x)) справедливо если Rn-m(x)=Rn-m(x) иначе противоречие.
Pn(x)=a0+a1x+a2x2+…+anxn
Qm(x)=b0+b1x+b2x2+…+bmxm
Pn(x)=Qm(x).Rn-m(x)+Sm-1(x)
Rm(x)=z0+z1x+z2x2+…+zn-mxn-m
Sm(x)=s0+s1x+s2x2+…+sm-1xm-1
S1 k=n-m
S2 Zk=am+n/bm
aj=aj-Zkbj-k
j=m+k-1, m+k-2,…,k
S3 k=k-1 if (k>=0) goto S2
Else stop
Pn(x)=Qm(x).Rn-m(x)+Sm-1(x)
Sm-1=0 => Pn(x)||Qm(x)
Наибольший общий делитель
НОД для Pn(x) и Qm(x) это многочлен наибольшей степени общих деленийPn(x) и Qm(x).
D(Pn(x),Qm(x))
Алгоритм Евклида для 2-х многочленов
D(P1(x),P2(x))
P1(x)=P2(x) Q1(x)+R1(x)
deg R1(x)<deg P2(x)
P2(x)=R1(x) Q2(x)+R2(x)
deg R2(x)<deg R1(x)
R1(x)=R2(x) Q3(x)+R3(x)
deg R3(x)<deg R2(x)
……..
Rn-2(x)=Rn-1(x) Qn(x)+Rn(x)- НОД
Rn-1(x)=Rn(x) Qn+1(x)
Пример:
D(x4+x3-3x2-4x-1, x3+x2-x-1) типовая задача
n=4, m=3, k=1
1 1 -3 -4 1 1 1 –3 –4 1
a4 a3 a2 a1 a0 1 1 –1 –1
0 –2 –3 -1
-2 -3 -1
r1=a4/b3=1
aj=aj-bj-1.r1
r0=a3/b3=0
aj=aj-bj-1.(j={2,1,0})
x4+x3-3x2-4x-1=(x3+x2-x-1)(x+0)+(-2x2-3x-1)
(x3+x2-x-1)=(-2x2-3x-1)(-x/2+1/4)+(-1/4x-1/4)
(-2x2-3x-1)=(-1/4x-1/4)(8x+4)+0
НОД: x+1
Qm(x)=x-c
Схема горнера:
m=1 ; b1=1, b2=-c
k=n-1, n-2, … ,0
Zk=ak+1 ; ak=ak+1
P(x)=Q(x)(x-c)+r
r=P(c)
Pn=Q0+a1x+a2x2+…+anxn=(anx+an-1)x+an-2)x+an+3)
d(x)=D(P(x),Q(x))=>Существует единственныеU(x),V(x):P(x)U(x)+Q(x)V(x)=d(x)
(доказывается обратным ходом алгоритма Евклида)
v0(x)=0
v1(x)=1
….
Vi+1(x)=vi-1(x)-Qk+1-i(x)vi(x)
v(x)=vk+2(x)
u(x)=vk+1(x)
d(x3-2, x2-3x+2)=x3-2=(x2-3x+2)(x+3)+7x-8
x2-3x+2=(7x-8)((1/7)x-(13/49))-6/49
7x-8=-6/49(-943/6x+169/3)+0
D(x3-2, x2-3x+2)=1
|
|
|
(1/7)x-(13/49) |
X+3 |
|
0 |
1 |
-(1/7)x+(13/49) |
(1/7)x2+(9/49)x+(10/49) |
-(6/49)=(x3-2)(-(1/7)x+(13/49))+(x2-3x+2)( (1/7)x2+(9/49)x+(10/49))
Теорема:23 Китайская теорема об остатках для многочленов
Существует P0(x), P1(x),…,Pk-1(x) : (Pi(x),Pj(x))=1, i+j
<S(x)>Pi(x)=Ui(x) (*) - китайский код многочлена
ui=deg(Pi(x)
N=n0+n1+…+nk-1
Существует единственный S(x): deg S(x)<N, который удовлетворяет (*)
Доказательство:
C(x)=Пi=0k-1Pi(x)
Cj(x)=C(x)/Pj(x)
<Dj(x)Cj(x)>Pj(x)=1 (Mixi=1(mj)
S(x)=<i=0k-1Di(x) Ci(x) Ui(x)>C(x)
Пример:
P0(x)=x2-2
P1(x)=x2-3x+2
U0(x)=1, U1(x)=1
C(x)=(x3-2)(x2-3x+2)=x5-3x4+2x3-2x2+6x-4
C0(x)=x2-3x+2
C1(x)=x3-r
<D0(x), C0(x)>Po(x)=1
<D1(x), C1(x)>P1(x)=1 => D0(x) (x2-3x+2)=1(x3-2)
D0(x)=(-7/6)x2-(4/3)x-(5/6)
D1(x)=(-7/6)x-(13/6)
S(x)=P0(x)D0(x)+ P1(x)D0(x)
Частный случай теоремы 23
|
X1 |
X2 |
… |
Xn |
|
y1 |
y2 |
… |
yn |
xiyj
Si(x) : Si(x)=yi i=1,2…n
S(x) – многочлен проходящий через все узлы интерполяции – (xi,yi)
<S(x)>X-Xi=yi - остаток от деленияS(x) на (x-xi) (Схема Горнера)
S(x)=(x-xi)+c
C(x)=(x-x1) (x-x2)… (x-xn)
Ci(x)=( ) (x-xi-1) (x-xi+1)…
<Di(x)Ci(x)>X-Xi =1
<Di(x) (x-x1) (x-x2)… (x-xi-1) (x-xi+1)… (x-xn)>X-Xi =1
Di(x) (x-x1) (x-x2)… (x-xi-1) (x-xi+1)… (x-xn)=1
S(x)=i=1nDi(x) Ci(x) Ui(x)=i=1nyi - Многочлен Лагранжа
![]()
Через nточек можно провести многочленdeg<=n-1
Недостаток: При добавлении данных надо пересчитывать весь многочлен.
Интерполяционный метод Ньютона.
Подход:
|
X1 |
X2 |
… |
Xn |
|
y1 |
y2 |
… |
yn |
S1(x) S2(x) … Sn(x) (x-x1)
S1(x)=y1 (x-x2)
…. …
Sk(x)-Sk-1(x) (x-xk-1)
x1,x2….xk-1
* a||b1 и a||b2 (b1;b2)=1 => a||b1b2
по аналогии с *
Sk(x)-Sk-1(x)||(x-x1)(x-x2) … (x-xk-1)
Sk(x)-Sk-1(x)=Ak(x-x1)(x-x2) … (x-xk-1)
![]()
Sn(x)=A1+A2(x-x1)+A3(x-x1)(x-x2)+…+An(x-x1)(x-x2) … (x-xn-1)
y1=A1 | x=x1
y2=A1+A2(x2-x1) | x=x2
Пример:
x1 x2 x3
-1 0 1
y1 y2 y3 S3(x) =A1+A2(x-x1)+A3(x-x1)(x-x2)
3 -1 2 3=A1 | x=-1
-1=A1+A2(1) | x=0 | A2=-4
2=A1+A2(2)+A3(2)(1) | A3=7/2
S3(x)=3-4(x+1)+7/2(x+1)x
S4(x)=S3(x)+A4(x-x1)(x-x2)(x-x3)
