On semifast Fourier transform algorithms

Reading time: 4 minute
...

📝 Original Info

  • Title: On semifast Fourier transform algorithms
  • ArXiv ID: 0907.1975
  • Date: 2010-11-30
  • Authors: ** 저자 정보가 논문에 명시되지 않음 **

📝 Abstract

We consider the relations between well-known Fourier transform algorithms.

💡 Deep Analysis

📄 Full Content

A semifast algorithm for a computation is an algorithm that significantly reduces the number of multiplications compared with the natural form of the computation, but does not reduce the number of additions. A semifast Fourier transform in GF (q) is a computational procedure for computing the n-point Fourier transform in GF (q) that uses about n log n multiplications in GF (q) and about n 2 additions in GF (q) [4].

The n-point Fourier transform over GF (2 m ) is defined by

, where W = (α ij ), i, j ∈ [0, n -1], is a Vandermonde matrix, an element α ∈ GF (2 m ) of order ord(α) = n | 2 m -1 is the Fourier transform kernel. Consider a few well-known Fourier transform algorithms [1,2,3,4,5,6,7] on examples.

The finite field GF (2 3 ) is defined by an element α, which is a root of the primitive polynomial x 3 + x + 1. Cyclotomic cosets modulo 7 over GF (2) are (0), (1,2,4), (3,6,5). The binary conjugacy classes of GF (2 3 ) are (α 0 ), (α 1 , α 2 , α 4 ), (α 3 , α 6 , α 5 ). The standard basis of GF (2 3 ) is (α 0 , α 1 , α 2 ). The normal basis of GF (2 3 ) is (β 1 , β 2 , β 4 ), where β = α 3 . Another normal basis of GF (2 3 ) is the cyclic shift of the previous normal basis: (γ 1 , γ 2 , γ 4 ), where γ = α 6 .

Consider the Fourier transform of length n = 7 over the field GF (2 3 ). Let us take the primitive element α as the kernel of the Fourier transform. The Fourier transform of a polynomial f (x) = 6 i=0 f i x i consists of components

Thus,

Blahut’s modification for finite fields (1983) The first step of the Goertzel algorithm is a long division f (x) by every minimal polynomial:

The second step of the Goertzel algorithm is an evaluated remainder in every element of the finite field:

Thus,

We have

4 Fedorenko-Trifonov’s algorithm (2002)

), is called a linearized polynomial. Any polynomial can be decomposed into a sum of linearized polynomials and a free term. A polynomial f (x) =

We have

Using F i = f (α i ), these equations can be represented in a matrix form as

A circulant matrix, or a circulant, is a matrix each row of which is obtained from the preceding row by a left (right) cyclic shift by one position. If entries of a circulant are matrices, the circulant is referred to as a block circulant. We call a circulant where the first row is a normal basis, a basis circulant. Let (β 1 , β 2 , β 4 ) = (α 3 , α 6 , α 5 ) be a normal basis for GF (2 3 ). Using

we obtain the equivalent Fourier transform

The equivalent Fourier transform F e = W e f e has the following structure:

where A e is a binary matrix, A e consists of binary circulants A ij , D e is a block diagonal matrix, D e consists of basis circulant matrices C i , l is the number of cyclotomic cosets modulo n over GF (2).

Let (γ 1 , γ 2 , γ 4 ) = (α 6 , α 5 , α 3 ) be a normal basis for GF (2 3 ). Combining

1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1

Note that the binary matrix A e for this algorithm in (1) consists of binary circulants and block circulants.

The Fourier transform algorithms [5,6,7] of length n = 2 m -1 over GF (2 m ) take two stages:

  1. The first stage is calculation of l m-point cyclic convolutions; 2. The second stage is multiplying the binary matrix A e by the vector D e f e .

The complexity of the first stage is about n log n multiplications and additions over elements of GF (2 m ). The complexity of the second stage is N add < 2n 2 / log n additions over elements of GF (2 m ) [8].

Reference

This content is AI-processed based on open access ArXiv data.

Start searching

Enter keywords to search articles

↑↓
ESC
⌘K Shortcut