◄ ЧП Ферма
▲ Выше
ММ 2мЧПФ ►
ТЧП Гаусса ►
|
Одномерное ЧП Ферма |
SN
=
RN
xN
mod Fn
xN = N−1 RN−1 SN mod Fn |
Товарищ, верь... Поговорка |
Какая ночь! Я не могу, Не спится мне. Такая лунность. Сергей Есенин "Какая ночь!...", 1925. |
Матричная форма ЧП Ферма по смешанному основанию. БА ЧП Ферма для остальных допустимых длин N ( 4b < N ≤ Tmax ) можно получить (это касается только простых чисел Ферма F3 и F4), если представить длину N в виде
N
=
N1·N2
=
To·radixv
.
Матричная модель БА ЧП Ферма для двух сомножителей.
Рассмотрим сначала общий случай разложения длины ЧП Ферма на два сомножителя
N
=
N1·N2
.
Тогда матрица
RN
в ЧП Ферма
SN
=
〈
RN
·
xN
〉Fn
может быть факторизована в виде базовой ММ
где диагональные матрицы весовых коэффициентов
и
(
(N1,
N2)QN
)
— матрица инверсий (перестановок) по смешанному основанию
N=N1·N2,
а матрицы внутренних преобразований
RN1
=
{rootN1
(N/N2)·ks
mod N1
}
=
{rootN1
(N1)·ks
mod N1
}
=
{rootN1ks
mod N1
},
k,s=0,...,N1−1
и
RN2
=
{rootN2(N/N1)·ks
mod N2
}
=
{rootN2(N2)·ks
mod N2
}
=
{rootN2ks
mod N2
},
k,s=0,...,N2−1
.
Рассмотрим подстановку в базовой ММ вместо DN прямой (тензорной) суммы диагональных матриц
Очевидно, что CN2k — циркулянтные (циклические) матрицы (т.е. такие, у которых соседние строки и столбцы циклически сдвинуты на один элемент относительно друг друга), т.к. dN2k — диагональные матрицы, отсюда
(
RN2
dN2k
RN2−1
)
— циркулянтные матрицы.
Тогда, подставляя полученное выражение в базовую ММ, получим
где CN2k = ( RN2 dN2k RN2−1 ) .
Эта базовая ММ может быть записана и через двумерные массивы данных. В этом случае сигнал x[t] отображается в x[t1,t2] (в матричном виде — в xN1, N2), также и спектр S[w] — в S[w1,w2] , тогда ( IN2 ⊗ RN1 ) соответствует ЧПФ RN1 от каждой N1-й строки матрицы xN1, N2; умножение на RN — поточечному умножению матрицы DN1, N2 на [{xN1, N2}RN1], где DN1, N2 — послойная сумма из N1 матриц
(
RN2
⊗
IN1
)
— ДПФ
RN2
от каждого столбца
( DN1, N2·[{xN1, N2}RN1] );
умножение на матрицу перестановки
(N1, N2)QN
— транспонированию выходной матрицы, отсюда
SN1, N2
=
[
RN2
(
DN1, N2
·
[{xN1, N2}RN1]
)
]T
.
Матричные модели БА ЧП Ферма по основанию T.
Теперь рассмотрим простой случай разложения N по основанию radix
N
=
radixv
,
т.е.
v=logradixN
и, вводя новое обозначение
radix=T
так, что
N=Tv
,
запишем матричное выражение БА для ЧП Ферма
по основанию T
с прореживанием по частоте (DIF) и замещением
где диагональные матрицы весовых коэффициентов
В этой модели БА внутреннее преобразование с матрицей RT должно вычисляться наиболее просто. Вспомним, что базовый элемент (обозначим его через rootT) в матрице RT связан с длиной (внутреннего) преобразования T и сравним с некоторым КОРНЕМ из 1 gj
gj(Fn−1)/T
≡
rootT
mod
Fn
.
Это сравнение разрешимо, если
rootT(Fn−1)/( (Fn−1)/T )
=
(rootT)T
≡
1
mod
Fn
,
т.е. если
rootT
совпадает с КОРНЕМ из 1 порядка T
.
Тогда имеем матрицу внутреннего преобразования ("бабочку")
RT
=
{
rootT
(Tv−1)·ks
mod T
}
=
{
rootT
ks
mod T
}
,
k,s=0,...,T−1
.
Транспонирование матрицы (DIF)RTv даёт ММ БА для ЧП Ферма с прореживанием по времени (DIT) и замещением по основанию T
Пусть n=3, F3=257, T=2b=2n+1. Для лучшего root16=2 был найден КОРЕНЬ g1=27. Тогда T=2b=23+1=16 и подходит v=2, значит N=Tv=162=256 . Теперь имеем матрицу внутреннего преобразования порядка 16
RT
=
R16
=
{
2(16v−1)·ks
}
=
{
2(162−1)·ks
}
=
{
2ks
}
,
k,s=0,...,16-1
,
поскольку 16 — это порядок КОРНЯ из 1 root16=2. Пусть n=4, F4=65537. Для лучшего root32=2 был найден КОРЕНЬ g1=34910. Тогда T=2b=24+1=32 и пусть v=2, значит N=Tv=322=1024 . Теперь имеем матрицу внутреннего преобразования порядка 32
RT
=
R32
=
{
2(32v−1)·ks
}
=
{
2(322−1)·ks
}
=
{
2ks
}
,
k,s=0,...,32-1
,
поскольку 32 — это порядок КОРНЯ из 1 root32=2.
Если v=3,
N=Tv=323=32768,
тогда тоже имеем матрицу внутреннего преобразования порядка 32
RT
=
R32
=
{
2(32v−1)·ks
}
=
{
2(323−1)·ks
}
=
{
2ks
}
,
k,s=0,...,32-1
,
поскольку 32 — это порядок КОРНЯ из 1 root32=2. Остальные примитивные КОРНИ из 1 для лучшего rootT=2 определяются по формуле
gj
≡
g1
·
3j·T
mod
Fn
,
j=2,...,Tv−1
.
Приведём пример факторизации матрицы ЧП Ферма для случая v=2, т.е. N=T2 (не забывая, что T — это порядок КОРНЯ из 1 rootT=2) . Тогда
где диагональные матрицы весовых коэффициентов
и матрица внутреннего преобразования ("бабочка")
RT
=
{
rootT
ks
mod T
}
=
{
2
ks
mod T
}
,
k,s=0,...,T−1
,
т.к.
rootT=2
.
Матричные модели БА ЧП Ферма по основанию 4.
Рассмотрим для примера матричное выражение БА ЧП Ферма по основанию 4 с прореживанием по частоте (DIF) и замещением
где матрица "бабочки"
2b/2
=
22n−1
≡
√−1
mod
Fn
,
и диагональные матрицы весовых коэффициентов
Транспонирование матрицы (DIF)RN даёт ММ БА для ЧП Ферма с прореживанием по времени (DIT) и замещением по основанию 4
Например, для n=3, F3=257. Пусть N=Tv=42=16, т.е. T=4, а v=2 (отметим, что root16=2). Тогда должно быть разрешимо сравнение
root(257-1)/( (257-1)/4 )
=
root(256)/( 256/4 )
=
root4
≡
1
mod
F3
.
Отсюда
root4=16
.
Тогда имеем матрицу внутреннего преобразования порядка 4
RT
=
R4
=
{
root4(42−1)·ks
}
=
{
root4ks
}
=
{
16ks
}
,
k,s=0,...,4-1
,
поскольку 4 — это порядок КОРНЯ из 1
root4=16.
Иными словами 16-точечное ЧП Ферма с корнем
root16=2
можно представить по основанию radix=4 (почти как двумерное 4x4
c внутреним 4-точечным преобразованием),
но уже с базовым элементом — КОРНЕМ
root4=16.
Например, для n=3, F3=257. Пусть N=Tv=43=64, т.е. T=4, а v=3 (отметим, что root64=???) , т.е. мы хотим представить ЧП Ферма длины N=64 в виде куба 4x4x4 . Тогда должно быть разрешимо сравнение
root(256)/( 256/4 )
=
root4
≡
1
mod
F3
.
Отсюда
root4=16.
Тогда имеем матрицу внутреннего преобразования порядка 4
RT
=
R4
=
{
root4(43−1)·ks
}
=
{
root4ks
}
=
{
16ks
}
,
k,s=0,...,4-1
,
поскольку 4 — это порядок КОРНЯ
root4=16.
Иными словами 64-точечное ЧП Ферма с корнем
root64=???
можно представить по основанию radix=4 (почти как трёхмерное 4x4x4
c внутреним 4-точечным преобразованием),
но уже с базовым элементом — КОРНЕМ
root4=16.
Пусть, например, Fn=F5=232+1. Тогда КОРЕНЬ root=2 порядка T=64 является базовым элементом ЧП Ферма длины N=T=64, т.е.
R64
=
{
root64wt
}
=
{
2wt
}
.
Это 64-точечное ЧП Ферма можно вычислять по БА, факторизуя матрицу
R64
на
log2N
=
log264
= 6
этапов преобразования по основанию 2, т.к.
26=64=N.
Однако эту матрицу можно факторизовать и по основанию 4, т.к.
log4N
=
log464
=
log4(43)
=
3
.
Тогда должно быть разрешимо сравнение
root(232+1-1)/( (232+1-1)/4 )
=
root(232)/( 232/4 )
=
root4
≡
1
mod
F5
.
Отсюда
root4=216.
Тогда имеем матрицу внутреннего преобразования порядка 4
RT
=
R4
=
{
root4(43−1)·ks
}
=
{
root4ks
}
=
{
216·ks
}
,
k,s=0,...,4-1
,
поскольку 4 — это порядок КОРНЯ из 1
root4=216.
Иными словами 64-точечное ЧП Ферма с корнем
root64=2
можно представить по основанию radix=4 (почти как трёхмерное 4х4x4 c внутреним
4-точечным преобразованием), но уже с базовым элементом — КОРНЕМ
root4=216.
Матричные модели БА ЧП Ферма по смешанному основанию.
Теперь вернёмся к общему случаю разложения длины ЧП Ферма на два сомножителя. В частном, но желанном случае
N
=
To·Tv
,
т.е. v=logT(N/To)
.
где диагональные матрицы весовых коэффициентов
и
QN
— матрица инверсий (перестановок) по смешанному основанию
N=To·Tv,
где
To
— остаточное число от разложения
N на множители Tv,
а матрицы внутренних преобразований
RT
=
{rootT
(N/To)·ks
mod T
}
=
{rootT
(Tv)·ks
mod T
}
=
{rootT
ks
mod T
}
,
k,s=0,...,T−1
,
и
RTo
=
{rootTo
(N/Tv)·ks
mod To
}
=
{rootTo
(To)·ks
mod To
}
=
{rootTo
ks
mod To
}
,
k,s=0,...,To−1
.
В более общем случае разложения длины N ЧП Ферма на два сомножителя
который впрочем всегда можно обойти (ведь
N=2v),
ММ БА ЧП Ферма по смешанному основанию имеет вид
Поскольку матрица "бабочки" размерности To < T имеет вид
RTo
=
{
(2T/To)
ks
}
=
{
2
(T/To)·ks
mod To
}
,
k,s=0,...,To−1
,
то дополнительных умножений она не вносит (т.к. умножения на степени 2 — это сдвиги).
|
Сочинитель бедный, это ты ли сочиняешь песни при луне? Уж давно глаза твои остыли на любви, на картах и вине. Ах, луна влезает через раму, свет такой, хоть выколи глаза... Ставил я на пиковую даму, а сыграл бубнового туза. Сергей Есенин "Сочинитель бедный, это ты ли...", 1925. |
Разложение N — длины ЧП Ферма на два сомножителя.
Например, для n=3, F3=257 можно представить ЧП Ферма длины N=128 — как 8x16 , а ЧП Ферма длины N=256 — как 16x16 или 4x4x4x4 .
Таблица. Разложение N — длины ЧП Ферма на два сомножителя:
To
и
Tv
,
где T — порядок КОРНЯ из 1
rootT=4,
rootT=2
или
rootT=√2
.
|
Три дела, однажды начавши, трудно кончить: 1) вкушать хорошую пищу; 2) беседовать с другом, возвратившимся из похода и 3) чесать, где чешется. Козьма Прутков "Мысли и афоризмы",45. |
◄ ЧП Ферма ▲ В начало текущей ММ 2мЧПФ ► ТЧП Гаусса ► |
Последнее обновление 16.09.2013
© 2005 г., Александр Тимофеев, г.Харьков, Украина, eMail: atimopheyev@yahoo.com |