An Algorithm for Fast Multiplication of Pauli Numbers

In this paper we introduce an efficient algorithm for the multiplication of Pauli numbers. The direct multiplication of two Pauli numbers requires 64 real multiplications and 56 real additions. More effective solutions still do not exist. We show how to compute a product of the Pauli numbers with 24 conventional multiplications, 8 multiplications by 1/2 and 56 real additions.


Introduction
In resent years the Clifford algebras and hypernumbers [1] play an important role in several fields of data processing including digital signal and image processing [2,3,4], computer graphics and machine vision [5,6,7], telecommunications [8,9] and in public key cryptography [10]. Previous studies indicate that the most popular hypernumbers are quaternions, biquaternions, octonions, and sedenions. Perhaps the less popular are the Pauli numbers [11]. This numbers are mostly used in solving various physical problems in field theory, electrodynamics, etc. Among other arithmetical operations in Clifford algebras, multiplication is the most time consuming one. The reason for this is, because the addition of N -dimensional Clifford numbers requires only N real additions, whereas the multiplication of these numbers already requires N (N − 1) real additions and N 2 real multiplication. It is easy to see that the increasing of dimensions of Clifford number increases the computational complexity of the multiplication. Therefore, reducing the computational complexity of the multiplication of Clifford numbers is an important scientific and engineering problem. Efficient algorithms for the multiplication of quaternions, octonions and sedenions already exist [12,13,14,15]. No such *Corresponding author.

Advances in Applied Cliff ord Algebras
algorithms for the multiplication of the Pauli numbers have been proposed. In this paper, an efficient algorithm for this purpose is suggested.

Formulation of the Problem
A Pauli number is defined as follows: where {a i }, i = 0, 1, . . . , 7 are real numbers, i 1 , i 2 , i 3 are the main imaginary units and i 12 are the remaining imaginary units whose products are defined by the following equations: The results of all possible products of the Pauli numbers imaginary units can be summarized in the table (1).
Suppose we want to compute the product of two Pauli numbers. where Then we have: We can write Using the matrix notation, we can rewrite the above relations as follows: The direct multiplication of two Pauli requires 64 real multiplications and 56 real additions. We shall present the algorithm, which reduce arithmetical complexity to 24 conventional multiplications, 8 multiplications by 1/2 and 56 real additions.

The Algorithm
At first, we rearrange the rows of the matrix P 8 in the following order {8, 5, 6, 2, 7, 3, 4, 1}. Next, we rearrange the columns of obtained matrix in the same manner. As a result, we obtain the following matrix: Then we can write It is easily seen [15] that the matrix with this structure can be factorized, than the computational procedure for multiplication of the Pauli numbers can be represented as follows: -is the order 2 Hadamard matrix, I N is the order N identity matrix, and "⊗", "⊕" -denote the Kronecker product and direct sum of two matrices respectively [16]. Indeed, it is easy to see that matrix (A 4 + B 4 ) has the following structure: Let us permute third and fourth column, first and third column, second and fours column of this matrix. As a result, the columns of the matrix are arranged in the following order: {4, 3, 1, 2}. Then permute third and fourth row. As a result, we obtain the following matrix: The resulting matrix has the following structure: As shown in [15], the matrix having such a structure can be factorized as follows: Perform a permutation of rows and columns of this matrix in the same manner as in the matrix (A 4 + B 4 ). Then the resulting matrix assumes the form This matrix can be factorized in the same way as the previous matrix: Substituting (3.2) and (3.3) in (3.1) we can write: Let us now consider the structure of the remaining submatrices and their factorization. s 5 , s 6 , s 7 ) , 4 = diag (s 8 , s 9 , s 10 , s 11 ) ,

Conclusions
In this paper, we have presented an original algorithm allowing to multiply two Pauli numbers with reduced multiplicative complexity. As a result of streamlining the number of multiplications required to calculate the Pauli numbers product is reduced from 64 real multiplication to 24 conventional real multiplications and 8 multiplications by 1/2. Furthermore, the total number of arithmetic operations decreased by 32 compared with the naive method of calculations.