УДК 519.254
БЫСТРОЕ ВЫЧИСЛЕНИЕ ЦИКЛИЧЕСКОЙ СВЕРТКИ, ОСНОВАННОЕ
НА ФАКТОРИЗАЦИИ ТЕНЗОРОВ
© Т.М. Спичкина
Ключевые слова: циклическая свертка; дискретные сигналы; факторизация тензоров. Приведены результаты о вычислении циклической свертки дискретных сигналов, заданных тензорами первого ранга в контравариантных координатах, разложенных в произведение тензоров другой структуры, обладающих рядом эффективных вычислительных свойств.
Основные определения
Пусть V — N -мерное линейное пространство с базисом (ві), и пусть V* — сопряженное линейное пространство к V с базисом (ві). Будем рассматривать тензоры над V типа
(р, д) [1], т. е. элементы пространства (V)хр х (V*)хд . Тензор типа (р, д) называется также
р раз контравариантным и д раз ковариантным.
Тензору А1 поставим в соответствие тензор
В = АЛ, (1)
где ак, вк ЄЪ, индексы аі* — в1, а2] — в2 при г,] =0N — 1 берутся по модулю N и принимают все значения из множества {0,1,... N — 1}. Если коэффициенты ак, вк в индексах
а1г — ві, а2] — в2 такие, что ак, вк = 0, N — 1, а г = ] = N, то в результате получим тензор вида
в2 —в2 (2)
Ваі ві = Aa1N—ві. (2)
Можно показать, что определение тензоров (1) и (2) — корректно [1].
Для тензора (2) определим операцию, которую назовем обобщенной операцией свертки, следующим образом:
N—1
__ Вв в2 _ \ ' ЛвN—в2 или Ва2
Вві = ві = AвN—ві, или, В«і
в=0
где все индексы берутся по модулю N2.
По аналогии с транспонированием матриц введем операцию транспонирования тензора. Тензор (1) не допускает перестановки индексов, поэтому под транспонированием тензора по смешенным координатам будем понимать описанное далее преобразование тензора.
Пусть дан тензор АI. Умножим исходный тензор на метрический тензор С в ковари-антных координатах, заданных в базисе (ві), получим А^ = д^кАк и умножим результат на метрический тензор в контравариантных координатах в базисе (ві), тогда А^ = дікА^. В дальнейшем под транспонированием по ковариантной координате г и контравариантной координате ] тензора А\ будем понимать введенное преобразование, обозначаемое А^ =
= А.
Вычисление свертки с применением тензорных операций
N—1
Ва2 в \ ' лa2N—в
Ваі в =2.^ Аа^—в, в=0
2689
Пусть V = ZM+i, где M + 1 — простое, M = N2. Будем считать, что все дальнейшие преобразования выполняются в некотором положительно ориентированном ортонормиро-ванном базисе и все индексы тензоров берутся по модулю N.
Определение1. Дискретным одномерным сигналом х будем называть тензор первого ранга в ковариантных Xk или контравариантных хк координатах, заданный над N -мерным линейным пространством V.
Определение 2. Циклической сверткой сигналов х и h называется сигнал у, определяемый как
Ук = (ЩXi) mod (M + 1), Игк = hk-i,
или
yi = (Икxk) mod (M + 1), Щ = hi-k. (3)
Используя подход, описанный в [2], получим следующие утверждения о вычислении свертки.
Т е о р е м а 1. Пусть V = ZM+1, M + 1 — простое, M = N2 и пусть сигналы х и
h заданы в некотором положительно ориентированном ортонормированном базисе про-
странства V. Циклическая свертка сигналов х и h может быть вычислена по формулам
yi = XN-1-j Щ-1+k-i, (4)
N1
где XN-1-? = ак, хк = £ ак2?, Йк = 2?НМ-1-к.
%=0
Доказательство. Представим цепочку равенств, получающую из (4) представление свертки в виде (3).
М-1М-1 М-1М-1
yi _ xN-1-j HN-1+k-i _ ^ J^aj (2j hN-1-(N-1+k-i)) _ ^2 a 2j) hi-k _
k=0 j=0 k=0 j=0
N-1 N-1 N-1
_ E hi-kJ2 j2j _J2 hi-kxk _ Hkxk.
k=0 j=0 k=0
В силу того, что свертка вычисляется над полем Zм+1 все преобразования выполняются по модулю М +1. Теорема доказана.
Теорема 1 позволяет вычислить свертку за число арифметических операций, оцениваемых величинами: 3Ж2 — N поразрядных сдвигов и 2(Ж — 1)N + р — 1 сложений, где N-1 N-1
р = ^2 ^2 ак. Эта оценка может быть получена непосредственным подсчетом в предполо-j=0 к=0
жении, что каждое значение ак равно 1. Стоит отметить, что оценка сильно завышена и на практике никогда не достигается.
Лемма. Пусть Ъ*м+1 — некоторая конечная группа, которую необходимо разбить на смежные классы по некоторой подгруппе Но порядка N и М = N2 . Тогда гомоморфизм f : ZM+1 ^ Но, задаваемый соотношением f (г) = zN, переводит элементы ^М^ в элементы группы Н0. При этом элементы, переходящие в единичный элемент, будут образовывать Н0, а элементы, переходящие в один и тот же элемент из Н0, отличный от единичного, будут образовывать некоторый свой смежный класс. Таких классов І = N , где і — индекс группы ZM+1 по подгруппе Н0.
Пусть д — образующий элемент подгруппы Н0 порядка N мультипликативной группы Ъ*м+^ где М = N2, Zk — поле, к — мало. Зададим тензор дг = (д)г. Тогда существуют
2690
такие тензоры АМ_^^, ВМ_^ 1 над декартовым произведением пространств ZМ х (Х*к)М что возможно представление [3, 4], вытекающее из леммы,
x
AkN_l_igi _ ANgN-1-i, B%_l_igi _ BkgN-1-i. (7)
_ AN-1-igi, hk _ BN-1-igi и C\ _ AкB^J^1. Тогда свертка y сигналов x и h может
= ^-—дг, (5)
Нк = Вк-1-г дг. (6)
Из способа задания чисел хк и Нк следует очевидное свойство [3, 4]:
N-1-гдг = Ак дк-1-г,Вк-1_
Т е о р е м а 2. Пусть х и Н — входные сигналы, задаваемые равенствам,и хк =
Ак--гдг, Нк = Вк-1-дг и ' ' '
быть вычислена по формулам
уг = С1дк -1-1. (8)
Доказательство. Свертка уг представима в виде уг = Нгк хк = Нг-к хк. Так как базис ортонормированный, то Нг-кхк = хкНг-к = Уг■ Воспользуемся представлением чисел
хк, Нг-к согласно (5), (6) и свойством (7): уг = хкНг-к = Акдк-1-:>В1'1-1~1 ді, перегруппировав множители, получим уг = Ак Вг'-- 1 дк 1 jді. Умножим это выражение на единицу,
представленную в виде 1= gl+j+1g-l-j-1, и применим (7):
т Л к д N —1—і N —1—j п п п Л к ( д N —1—і А N—1—j п п
уг = AjВг-к д діgl+j+lg-l-j-l = А уВ г-к д^+1) д glg-l-j-l =
Ак ( Д l+j + 1 д ^ nN —l—j д д Ак Д l+j + 1n nN —l—j д д
= А ^ &г-к gN-1-і) д 'дід-іч-1 = А вг-к gN-1-ід дід-іч-1.
Введем замену С\ = АкВ1і+Зк+1 и используем свойство тензора д, вытекающее из способа его задания: уг = СgN-1-]gN-l-l+l-l-j-l = CligN-1-]gN-l-j-l-l. Осуществим обобщенную свертку тензоров gN-1—-и gN-1-j-l-1 по одинаковым индексам, получим уг = С1ід-і-1 или, что то же самое, уг = CligN—і—1. Переходя к контравариантным координатам, окончательно получаем уг = CigN-1-і. Теорема доказана.
Оценка числа арифметических операций при вычислении свертки по формулам (8) следующая: сложений — N2N2 — 1) , сдвигов — 2N2 — 2N■ При этом верхняя граница существенно завышена.
ЛИТЕРАТУРА
1. Ильин В.А., Позняк Э.Г. Линейная алгебра. М.: Наука, Физматлит, 1999. 297 с.
2. Спичкина Т.М., Айзикович А.А. Синтез быстрых алгоритмов вычисления свертки // Новые направления развития приборостроения: материалы 2 Междунар. студ. науч.-тех. конф. (22-24 апреля 2009 г.). Минск.: БНТУ, 2009. С. 17.
3. Спичкина Т.М. Вычисление свертки по определению при различных представлениях чисел // Измерение, контроль и диагностика. Ижевск: Проект, 2010. С. 172-177.
4. Спичкина Т.М. Вычисление циклической одномерной свертки дискретных сигналов в конечных полях с применением специального представления чисел // Сборник статей конференции «Актуальные проблемы математики, механики, информатики» (Ижевск, 1-3 марта 2010 г.). Ижевск: ИПМ УрО РАН, 2010. С. 155159.
Spichkina T.M. REPRESENTATION OF A CYCLIC CONVOLUTION TENSOR OPERATIONS ON THE BASIS OF THE FACTORIZATION SIGNALS
The article states and proves the results of calculation of the circular convolution of discrete signals given by tensors of the first rank in contra-variant coordinations, expanded in tensor product of other structures have a number of efficient computational properties.
Key words: cyclic convolution; discrete signals; tensor factorization.
269І