An algorithm for multiplication of split_O_K - arXiv

1 downloads 0 Views 187KB Size Report
Using “pen and paper” method we can write: 770. 660. 550. 440. 330. 220. 110. 00. 3 ebx ebx ebx ebx ebx ebx ebx bx. +. +. +. +. +. +. +. = ο(. 7171. 6161. 5151.
An algorithm for multiplication of split-octonions Aleksandr Cariow1, Galina Cariowa1, Bartosz Kubsik1 1Faculty

of Computer Sciences and Information Technologies, Żołnierska 52, 71-210 Szczecin, Poland {atariov, gtariova, bkubsik}@wi.zut.edu.pl tel. +48 91 4495573

Abstract: In this paper we introduce efficient algorithm for the multiplication of split-octonions. The direct multiplication of two split-octonions requires 64 real multiplications and 56 real additions. More effective solutions still do not exist. We show how to compute a product of the split-octonions with 28 real multiplications and 92 real additions. During synthesis of the discussed algorithm we use the fact that product of two split-octonions may be represented as vector-matrix product. The matrix that participates in the product calculating has unique structural properties that allow performing its advantageous decomposition. Namely this decomposition leads to significant reducing of the multiplicative complexity of split-octonions multiplication. Keywords: Split-octonions, multiplication of split-octonions, fast algorithm, matrix notation.

1. Introduction The Clifford and hypercomplex algebras [1] are seeing increased application to digital signal and image processing [2-5], computer graphics and machine vision [6-7], telecommunications [8-10] and in public key cryptography [11]. Among other arithmetical operations in the Clifford and hypercomplex algebras, multiplication is the most time consuming one. The reason for this is, because the usual multiplication of these numbers requires N ( N − 1) real additions and N 2 real multiplication. It is easy to see that the increasing of dimension of hypernumber increases the computational complexity of the multiplication. Therefore, reducing the computational complexity of the multiplication of Clifford and hypercomplex numbers is an important theoretical and practical task. Efficient algorithms for the multiplication of various hypercomplex numbers already exist [12-21]. No such algorithms for the multiplication of the split-octonions have been proposed. In this paper, an efficient algorithm for this purpose is suggested.

2. Formulation of the problem A split-octonions is defined as follows:

(

ο = b0 + b1e1 + b2 e2 + b3e3 + b4 e4 + b5e5 + b6 e6 + b7 e7 where {bi }, i = 0,1,...,7 are real numbers, and {e j }, j = 1, 2, ..., 7 are imaginary units whose products are defined by the following table [23]: ×

1

e1

e2

e3

e4

e5

e6

e7

1 e1 e2

1 e1 e2

e1 −1 − e3

e2 e3 −1

e3 − e2 e1

e4 − e5 − e6

e5 e4 e7

e6 − e7 e4

e7 e6 − e5

e3 e4

e3 e4

e2 e5

− e1 e6

−1 e7

− e7 1

− e6 e1

e5 e2

e4 e3

e5 e6

e5 e6

− e4 e7

− e7 − e4

e6 − e5

− e1 − e2

1 − e3

e3 1

− e2 e1

e7

e7

− e6

e5

− e4

− e3

e2

− e1

1

1

( (( Suppose we must to compute the product of two split-octonions ο3 = ο1ο 2 , where

(

ο1 = x0 + x1e1 + x2 e2 + x3e3 + x4 e4 + x5 e5 + x6 e6 + x7 e7 , (

ο 2 = b0 + b1e1 + b2 e2 + b3e3 + b4 e4 + b5 e5 + b6 e6 + b7 e7 , (

ο 3 = y0 + y1e1 + y 2 e2 + y3e3 + y4 e4 + y5e5 + y6 e6 + y7 e7 . Using “pen and paper” method we can write: ( ο 3 = x0 b0 + x0b1e1 + x0 b2 e2 + x0b3e3 + x0b4 e4 + x0b5 e5 + x0b6 e6 + x0 b7 e7

+ x1b0 e1 + x1b1e1e1 + x1b2 e1e2 + x1b3e1e3 + x1b4 e1e4 + x1b5 e1e5 + x1b6 e1e6 + x1b7 e1e7 + x2b0 e2 + x2 b1e2 e1 + x2 b2 e2 e2 + x2b3e2 e3 + x2 b4 e2 e4 + x2 b5 e2 e5 + x2b6 e2 e6 + x2 b7 e2 e7 + x3b0 e3 + x3b1e3e1 + x3b2 e3e2 + x3b3e3e3 + x3b4 e3e4 + x3b5 e3 e5 + x3b6 e3e6 + x3b7 e3 e7

+ x4b0 e4 + x4b1e4e1 + x4b2e4e2 + x4b3e4e3 + x4b4 e4 e4 + x4b5 e4 e5 + x4b6e4 e6 + x4b7 e4 e7 + x5b0 e5 + x5b1e5 e1 + x5b2 e5 e2 + x5b3e5 e3 + x5b4 e5 e4 + x5b5 e5 e5 + x5b6 e5 e6 + x5b7 e5 e7 + x6 b0 e6 + x6 b1e6 e1 + x6 b2 e6 e2 + x6 b3 e6 e3 + x6 b4 e6 e4 + x6 b5 e6 e5 + x6 b6 e6 e6 + x6 b7 e6 e7 + x7 b0 e7 + x7 b1e7 e1 + x7 b2 e7 e2 + x7 b3e7 e3 + x7 b4 e7 e4 + x7 b5 e7 e5 + x7 b6 e7 e6 + x7 b7 e7 e7 Then we have:

y0 = x0b0 − x1b1 − x2b2 − x3b3 + x4b4 + x5b5 + x6b6 + x7b7 , y1 = x0b1 + x1b0 + x2b3 − x3b2 + x4b5 − x5b4 + x6b7 − x7 b6 , y 2 = x0 b2 − x1b3 + x 2b0 + x3b1 + x4 b6 − x5b7 − x6 b4 + x7 b5 ,

y3 = x0 b3 + x1b2 − x2 b1 + x3b0 + x4 b7 + x5b6 − x6 b5 − x7 b4 , y 4 = x0b4 + x1b5 + x2 b6 + x3b7 + x4 b0 − x5b1 − x6 b2 − x7 b3 , y5 = x0 b5 − x1b4 − x2 b7 + x3b6 + x4b1 + x5b0 − x6 b3 + x7 b2 , y 6 = x0b6 + x1b7 − x 2b4 − x3b5 + x4 b2 + x5b3 + x6 b0 − x7 b1 , y 7 = x0b7 − x1b6 + x2b5 − x3b4 + x4 b3 − x5b2 + x6 b1 + x7 b0 . We can see that the schoolbook method of multiplication of two split-octonions requires 64 real multiplications and 56 real additions. Using the matrix notation, we can rewrite the above relations as follows:

Y8×1 = B8 X8×1

(1)

where

X 8×1 = [ x0 , x1 , x 2 , x3 , x4 , x5 , x6 , x7 ]Τ , Y8×1 = [ y 0 , y1 , y 2 , y3 . y 4 , y 5 , y 6 , y 7 ]Τ ,  b0 b  1  b2  b B8 =  3 b 4   b5 b  6  b7

− b1 b0 − b3 b2 b5 − b4 b7 − b6

− b2 b3 b0 − b1 b6 − b7 − b4 b5

− b3 − b2 b1 b0 b7 b6 − b5 − b4

b4 b5 b6 b7 b0 b1 b2 b3

b5 − b4 − b7 b6 − b1 b0 b3 − b2

b6 b7 − b4 − b5 − b2 − b3 b0 b1

b7  − b6  b5   − b4  , − b3   b2  − b1   b0 

2

The direct realization of (1) requires 64 real multiplications and 56 real additions too. We shall present the algorithm, which reduce arithmetical complexity to 28 real multiplications and 92 real additions.

3. Synthesis of a rationalized algorithm for multiplying two split-octonions It easy to see, that the matrix B 8 can be represented as an algebraic sum of a symmetric Toeplitz-type matrix and another matrix which has many zero elements B8 = B8(1) + 2M 8( 0) : where

B8(1)

 b0 b  1 b2  b = 3 b 4  b5 b  6  b7

− b1

− b2

− b3 b4

b0

b3

b2

b5

− b4

b7

b3

b0

b1

b6

b7

− b4

b2

b1

b0

b7

b6

b5

b5

b6

b7

b0

− b1

− b2

− b4

b7

b6

b1

b0

b3

b7

− b4

b5

b2

b3

b0

b6

b5

− b4

b3

b2

b1

b5

b6

b7  0 0   b6  0 0 0 − b3 b5    − b4  0 0 ( 0) , M8 =    − b3 0 0   b2  0 0 0 b1  0   b0  0 − b6

0

0

0

0

0

0

0

0

− b2

0

0

0 − b7

− b1

0

0

0

− b5

0

0

0

0

0

− b7

0

0

0

− b3

0

− b5

0

0

0

0

0

0 − b2

0 0

0

0  − b6  0   0  . 0   0  − b1   0 

Then we can write

Y8×1 = Σ8×16 (B8(1) ⊕ 2M 8(0) )P16×8 X8×1

(2)

where

Σ8×16

1 1    1 1     1 1   1 1   P =   , 16×8 1 1   1 1    1 1     1 1

 1   1     1   1     1   1    1    1  = .  1   1   1     1   1     1    1    1 

and sign “ ⊕ ” – denotes the direct sum of two matrices [24], We can see that the matrix B 8(1) has a unique block structure:

A B8(1) =  4 B4

B4  , A4 

where

3

b0 b A4 =  1 b2  b3

− b1

− b2

b0

b3

b3 b2

b0 b1

− b3  b4  b b2  , B4 =  5 b6 b1    b0  b7

b5

b6

− b4

b7

b7

− b4

b6

b5

b7  b6  . b5   − b4 

It is easily verify [25-27] that the matrix B 8(1) with this structure can be factorized, than the computational procedure for multiplication of the split-octonions can be represented as follows: ( 0) Y8×1 = Σ8×16 W16 D16 W16 P16×8 X8×1

(3)

where 1 1   1  1     1 1   1 1   1  −1   −1  1    1 −1   1 −1   W16 = (H 2 ⊗ I 4 ) ⊕ I 8 =  , 1     1   1     1   1     1    1    1  (0) D16 =

1 ((A 4 + B 4 ) ⊕ (A 4 − B 4 )) ⊕ 2M8(0) 2

1 1  H2 =   - is the order 2 Hadamard matrix, I N is the order N identity matrix, and „ ⊗ ” – denotes the 1 − 1

Kronecker product of two matrices [24]. The matrices ( A 4 + B 4 ) and (Α 4 − B 4 ) have the following structures:

b0 + b4 b + b (A 4 + B 4 ) =  1 5 b2 + b6   b3 + b7

− b1 + b5 b0 − b4 b3 + b7 b2 + b6

− b2 + b6 b3 + b7 b0 − b4 b1 + b5

− b3 + b7  b2 + b6  = E (40) , b1 + b5   b0 − b4 

b0 − b4 b − b (A 4 − B 4 ) =  1 5 b2 − b6  b3 − b7

− b1 − b5 b0 + b4 b3 − b7 b2 − b6

− b2 − b6 b3 − b7 b0 + b4 b1 − b5

− b3 − b7  b2 − b6  = F4( 0) b1 − b5   b0 + b4 

Fig. 1 shows a data flow diagram of the rationalized algorithm for computation of a product of a splitoctonions. In this paper, data flow diagrams are oriented from left to right. Straight lines in the figures denote

4

the operations of data transfer. Points where lines converge denote summation. The dashed lines indicate the sign change operation. We deliberately use the usual lines without arrows on purpose, so as not to clutter the picture. The rectangles indicate the matrix–vector multiplications with the matrix inscribed inside a rectangle.

1 (0) E4 2

− y0

x0

x2

H2

x1

1 (0) F4 2

y1

H2

y2

x3

y3

x4

y4

x5

y5

x6

y6

x7

y7 2M 8( 0)

Fig. 1. Data flow diagram for rationalized split-octonion multiplication algorithm in accordance with the procedure (3).

Let us consider the structures of the matrices E (40) and F4( 0) . The matrix E (40 ) can be decomposed as an algebraic sum of a symmetric Toeplitz matrix and another matrix which has many zero elements E (40) = E (41) + 2M (41) :

E (41)

b0 − b4 b + b = 1 5 b2 + b6  b3 + b7

b1 + b5

b2 + b6

b0 − b4

b3 + b7

b3 + b7

b0 − b4

b2 + b6

b1 + b5

b3 + b7  b2 + b6   A 2 = b1 + b5   B 2  b0 − b4 

B2  (1)  , M4 A2 

b4 0 = 0  0

− b1

− b2

0 0

0 0

0

0

− b3  0  0   0 

5

The matrix F4( 0) can be also represented as an algebraic sum of a symmetric Toeplitz matrix and another matrix which has many zero elements F4( 0) = F4(1) + 2M (42) :

F4(1)

b0 + b4 b − b = 1 5 b2 − b6  b3 − b7

M (42)

b1 − b5

b2 − b6

b0 + b4

b3 − b7

b3 − b7

b0 + b4

b2 − b6

b1 − b5

− b4  0 =  0   0

b3 − b7  b2 − b6  C 2 = b1 − b5  D 2  b0 + b4 

− b1

− b2

0 0

0 0

0

0

D2  , C2 

− b3  0  0   0 

It is easily to verify [25-27] that the matrices E (41) and F4(1) can be factorized as:

1 E(41) = (H 2 ⊗ I 2 ) [(A 2 + B 2 ) ⊕ ( A 2 − B 2 )](H 2 ⊗ I 2 ) 2

(4)

1 F4(1) = (H 2 ⊗ I 2 ) [(C 2 + D 2 ) ⊕ (C 2 − D 2 )](H 2 ⊗ I 2 ) 2

(5)

b − b A2 =  0 4 b1 + b5

b1 + b5  b + b , B2 =  2 6 b0 − b4  b3 + b7

b3 + b7  , b2 + b6 

b + b4 C2 =  0  b1 − b5

b1 − b5  b − b , D2 =  2 6 b0 + b4  b3 − b7

b3 − b7  , b2 − b6 

b − b + b + b (A 2 + B 2 ) =  0 4 2 6  b1 + b5 + b3 + b7

b1 + b5 + b3 + b7  = E(20) , b0 − b4 + b2 + b6 

b − b − b − b (A 2 − B 2 ) =  0 4 2 6  b1 + b5 − b3 − b7

b1 + b5 − b3 − b7  = F2(0) , b0 − b4 − b2 − b6 

b + b4 + b2 − b6 (C 2 + D 2 ) =  0  b1 − b5 + b3 − b7

b1 − b5 + b3 − b7  = K (20) , b0 + b4 + b2 − b6 

b + b − b + b (C 2 − D 2 ) =  0 4 2 6  b1 − b5 − b3 + b7

b1 − b5 − b3 + b7  = L(20) , b0 + b4 − b2 + b6 

Substituting (4) and (5) in (3) we can write: (1) (1) (1) Y8×1 = Σ8×16 W16 Σ16×24 W24 D 24 W24 P24×16 W16 P16×8 X8×1

(6)

where 1) D(24 = Q8(1) ⊕ Q8( 2) ⊕ M 8(0) ,

Q8(1) =

1 ( 0) 1 (E 2 ⊕ F2( 0) ) ⊕ T4( 0) , Q8( 2) = (K (20) ⊕ L(20) ) ⊕ T4(1) , T4( 0) = T4(1) = diag (b4 , b1 , b2 , b3 ) , 4 4

6

1  1  1 1  −1  1  1 −1    04         (1) W24 = 08            08      

Σ16× 24

04 08

1

08

1 1 1 1

1 1

−1

1

1

04

−1

1

08

1 1

04

1 1 1 1 1 08

1 1 1 1 1

                ,                 

1 −1 −1 −1  1   1     1   1     1 −1 −1 −1 −1   1     1    1  = , 1     1   1     1   1     1    1    1 

7

P24×16

1   1      1   1   1     1    1   1     1     1   1     1 , = 1     1     1   1     1   1     1   1     1     1   1    1 

Fig. 2 shows a data flow diagram of the rationalized algorithm for multiplying of two split-octonions at the second stage of synthesis. The circles in this figure show the operation of multiplication by a variable (or constant) inscribed inside a circle. Consider now the matrices E (20 ) , F2( 0) , K (20) , and L(20 ) . As can be seen, these matrices also have a "good" structures leading to a decrease in the number of real multiplications during calculation of the splitoctonion product.

b 0 − b 4 + b 2 + b 6 b1 + b 5 + b 3 + b 7  a b  1 E (20) =   = b a  = H 2 [(a + b) ⊕ (a − b)]H 2 , + + + − + + 2  b1 b 5 b 3 b 7 b 0 b 4 b 2 b 6   b 0 − b 4 − b 2 − b 6 b1 + b 5 − b 3 − b 7   c F2(0) =  =  b1 + b 5 − b3 − b 7 b 0 − b 4 − b 2 − b 6  d

d 1 = H 2 [(c + d ) ⊕ (c − d )]H 2 , c  2

b 0 + b 4 + b 2 − b 6 b1 − b 5 + b 3 − b 7   e K (20) =  =  b1 − b5 + b 3 − b 7 b 0 + b 4 + b 2 − b 6  f

f 1 = H 2 [(e + f ) ⊕ (e − f )]H 2 ,  e 2

 b 0 + b 4 − b 2 + b6 L (02) =  − b1 + b 5 + b3 − b 7

b1 − b 5 − b 3 + b 7   g = b0 + b4 − b2 + b6   h

h 1 = H 2 [( g + h) ⊕ ( g − h)]H 2  g 2

Introduce the following notation:

a + b = c0 = b 0 − b 4 + b 2 + b 6 + b1 + b 5 + b 3 + b 7 , a − b = c1 = b 0 − b 4 + b 2 + b 6 − b1 − b 5 − b3 − b 7 ,

c + d = c2 = b 0 − b 4 − b 2 − b 6 + b1 + b 5 − b 3 − b 7 , c − d = c3 = b 0 − b 4 − b 2 − b 6 − b1 − b 5 + b 3 + b 7 , 8

e + f = c4 = b 0 + b 4 + b 2 − b 6 + b1 − b 5 + b 3 − b 7 , e − f = c5 = b 0 + b 4 + b 2 − b 6 − b1 + b 5 − b 3 + b 7 , g + h = c6 = b 0 + b 4 − b 2 + b 6 + b1 − b 5 − b3 + b 7 , g − h = c7 = b 0 + b 4 − b 2 + b 6 − b1 + b 5 + b3 − b 7 . and s0 =

1 1 1 1 1 1 1 1 c0 , s1 = c1 , s2 = c2 , s3 = c3 , s4 = c4 , s5 = c5 , s6 = c6 , s7 = c7 . 8 8 8 8 8 8 8 8

Using the above notations and combining partial decompositions in a single computational procedure we finally can write following: (1) ( 2) ( 2) ( 2) (1) Y8×1 = Σ8×16 W16 Σ16× 24 W24 W24 D24 W24 W24 P24×16 W16 P16×8 X8×1

(7)

D (242) = Q8(3) ⊕ Q8( 4) ⊕ 2M 8( 0) , Q8(3) = s0 ⊕ s1 ⊕ s2 ⊕ s3 ⊕ T4( 0) , Q8( 4) = s4 ⊕ s5 ⊕ s6 ⊕ s7 ⊕ T4(1) .

Q 8(3)

( 2) W24

 s0 0 02 0 s 1  s2 0   02 0 s3 =   04   

04

T4( 0)

  s4 0 02  0 s 5   s6 0   02   0 s7  , Q 8( 4) =      04      

04

T4(1)

     ,     

1 1  1 − 1      1 1   1 −1     1   1     1   1     1 1     1 −1   1 1     1 −1 , = 1     1     1   1     1   1     1   1     1     1   1    1 

Fig. 3 shows a data flow diagram of the rationalized algorithm for multiplying of two split-octonions at the final stage of the algorithm derivation. 9

1 (0) E 4 2

H2

1 (0) F 4 2

H2

b4

b1

b2 b3

x0

x2 x1

− y0

1 (0) K 4 2

H2 H2

H2 H2

y1 y2

x3

1 (0) L 4 2

x4

b4

y4

x5

b1

y5

x6

b2

y6

x7

b3

y7

y3

2M8(0)

Fig. 2. Data flow diagram for rationalized split-octonion multiplication algorithm in accordance with the procedure (6).

10

We can see that the ordinary approach to calculation of elements {sk }, k = 0,1,...,7 requires 56 additions. It is easy to see that the relations for calculation of {sk } contain repeated algebraic sums. Therefore, the number of additions necessary to calculate these elements can be reduced. Let us first introduce the following notation:

z0 = b0 − b4 , z1 = b0 + b4 , z 2 = b2 + b6 , z3 = b1 + b5 , z4 = b3 + b7 , z5 = b2 − b6 , z6 = b1 − b5 , z7 = b3 − b7 , Therefore, we can write:

c0 = z0 + z 2 + z3 + z4 , c1 = z0 + z 2 − z3 − z4 , c2 = z0 − z 2 + z3 − z4 , c3 = z0 − z 2 − z3 + z4 , c4 = z1 + z5 + z6 + z7 , c5 = z1 + z5 − z6 − z7 , c6 = z1 − z5 + z6 − z7 , c7 = z1 − z5 − z6 + z7 . Secondly, we introduce the following notation:

v0 = z0 + z 2 , v1 = z0 − z 2 , v2 = z1 + z5 , v3 = z1 − z5 , v4 = z3 + z4 , v5 = z3 − z4 , v6 = z6 + z7 , v7 = z6 − z7 . Then we can write:

c0 = v0 + v4 , c1 = v0 − v4 , c2 = v1 + v5 , c3 = v1 − v5 , c4 = v2 + v6 , c5 = v2 − v6 , c6 = v3 + v7 , c7 = v3 − v7 . Now we see that the elements {sk } can be calculated using only 24 additions. In matrix notation, the above calculations can be written more compactly as S 8×1 =

1 ( 5) ( 4 ) P P W8 B 8×1 8 8 8

(8)

S 8×1 = [ s0 , s1 , s2 , s3 , s 4 , s5 , s6 , s7 ]Τ , B 8×1 = [b0 , b1 , b2 , b3 , b4 , b5 , b6 , b7 ]Τ . 1 1   1  1     1 1   1 1  W8 = H 2 ⊗ I 4 = , 1  −1   −1  1    1 −1   1 − 1 

P8( 4)

1 1 1 1     1   −1 1  1         1 1 1 1     1 −1 −1 1 (5)    . = , P =  1  8  −1 1 1     1 1 −1  1  1   −1 1 1     1 − 1 1 − 1  

Fig. 4 shows a data flow diagram of the process for calculating the vector S8×1 elements.

11

H2 H2 H2

s0

H2

s1 s2

s3

H2 H2

b4 b1 b2

x0

x1 x2 x3

x4 x5 x6 x7

y0

b3

H2

H2 H2

H2

s4

s5 s6 s7 b4 b1

y1 y2

H2

H2

H2 H2

y3

y4 y5 y6 y7

b2 b3

2M8(0)

Fig. 3. Data flow diagram for rationalized split-octonion multiplication algorithm in accordance with the procedure (7).

12

s

0

b0

18

s0

b1

18

s1

b2

18

s2

b3

18

s3

b4

18

s4

b5

18

s5

b6

18

s6

b7

18

s7

Fig. 4. Data flow diagram describing the process of calculating elements of the vector S8×1 in accordance with the procedure (8).

4. Evaluation of computational complexity We calculate how many real multiplications (excluding multiplications by power of two) and real additions are required for realization of the proposed algorithm, and compare it with the number of operations required for a direct evaluation of matrix-vector product in Eq. (2). Let us look to the data flow diagram in Figure 3. It is easy to verify that all the real multiplications which to be performed to computing the product of two split-octonions are realized only during multiplying a vector of data by the quasi-diagonal matrix D (242) . It can be argued that the multiplication of a vector by the matrix D (242) requires 28 real multiplications and only a few trivial multiplications by the power of two. Multiplication by power of two may be implemented using convention arithmetic shift operations, which have simple realization and hence may be neglected during computational complexity estimation. So, the number of real multiplications required using the proposed algorithm is 28. Thus using the proposed algorithm the number of real multiplications to calculate the split-octonion product is significantly reduced. Now we calculate the number of additions required in the implementation of the algorithm. It is easily to verify that the number of real additions required using our algorithm is 92.

Conclusion In this paper, we have presented an original algorithm that allows us to compute the product of two splitoctonions with reduced multiplicative complexity. The proposed algorithm saves 36 real multiplications compared to the schoolbook algorithm. Unfortunately, the number of real additions in the proposed algorithm is somewhat greater than in the direct algorithm, but the total number of arithmetical operations is still the same. For applications where the “cost” of a real multiplication is greater than that of a real addition, the new algorithm is generally more efficient than direct method.

References 1. 2. 3. 4.

Kantor I. and Solodovnikov A., Hypercomplex numbers, Springer-Verlag, New York. (1989) Bülow T. and Sommer G., Hypercomplex signals - a novel extension of the analytic signal to the multidimensional case, IEEE Trans. Sign. Proc., vol. SP-49, No. 11, 2844-2852. (2001) Alfsmann D., On families of 2N-dimensional hypercomplex algebras suitable for digital signal processing, in Proc. European Signal Processing Conf. (EUSIPCO 2006), Florence, Italy. (2006) Alfsmann D., Göckler H. G., Sangwine S. J. and Ell T. A., Hypercomplex algebras in digital signal processing: Benefits and Drawbacks (Tutorial). Proc. EURASIP 15th European Signal Processing Conference (EUSIPCO 2007), Poznań, Poland, 1322-1326. (2007)

13

5.

6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.

Sangwine S. J., Bihan N. Le, Hypercomplex analytic signals: extension of the analytic signal concept to complex signals, Proc. EURASIP 15th European Signal Processing Conference (EUSIPCO 2007), Poznań, Poland, 621-624. (2007) Moxey C. E., Sangwine S. J., and Ell T. A., Hypercomplex correlation techniques for vector images, IEEE Trans. Signal Processing, vol. 51, No 7, 1941-1953. (2003) Xie Sh., Hypercomplex Correlation for Defect Detection, MVHI’10: Proceedings of the 2010 International Conference on Machine Vision and Human-machine Interface, IEEE Computer Society, 3-5, (2010). Calderbank R., Das S., Al-Dhahir N., and Diggavi S., Construction and analysis of a new quaternionic Spacetime code for 4 transmit antennas, Communications in information and systems, vol. 5, No. 1, 1-26. (2005) Belfiore J.-C. and Rekaya G., Quaternionic lattices for space-time coding, Proceedings of the Information Theory Workshop. IEEE, Paris 31 March - 4 April 2003, 267 - 270. (2003) Özgür Ertuğ, Communication over Hypercomplex Kahler Manifolds: capacity of dual-polarized multidimensional-MIMO channels. Wireless Personal Communications, vol. 41, No 1, 155-168. (2007) Malekian E., Zakerolhosseini A., and Mashatan A., QTRU: QuaternionicVersion of the NTRUPublic-Key Cryptosystems, The ISC Int'l Journal of Information Security, vol. 3, No 1, 29-42, (2011) Howell T. D. Lafon J-C., The complexity of the quaternion product, TR 75-245, 1-13. (1975) Makarov O., An algorithm for the multiplication of two quaternions, Zh. Vychisl. Mat. Mat. Fiz., vol. 17, No 6 , 1574–1575. (1977) Dimitrov V.S., Cooklev T.V. and Donevsky B.D., On the multiplication of reduced biquaternions and applications, Infor. Process. Letters, vol.43, no 3, 161-164. (1992) Ţariov A., Ţariova G., Aspekty algorytmiczne organizacji układu procesorowego do mnożenia liczb Cayleya. Elektronika, No 11, 137-140. (2010) Cariow A., Cariowa G., Algorithm for multiplying two octonions, Radioelectronics and Communications Systems. Allerton Press, Inc., vol. 55, No 10, 464-473. (2012) Cariow A., Cariow G., An algorithm for fast multiplication of sedenions, Information Processing Letters 113, 324–331. (2013) Cariow A., Cariowa G., An algorithm for multiplication of Dirac numbers, Journal of Theoretical and Applied Computer Science, vol. 7, No. 4, pp. 26-34. (2013) Cariow A., Cariowa G., An algorithm for multiplication of trigintaduonions, Journal of Theoretical and Applied Computer Science, vol. 8, No 1, 50-57. (2014) Cariow A., Cariowa G., A unified approach for developing rationalized algorithms for hypercomplex number multiplication, Electric Review, vol. 91 No 2, 36-39. (2015) Cariow A., Cariowa G., An algorithm for fast multiplication of Pauli numbers. Advances in Applied Clifford Algebras, vol. 25, No 1, 53-63. (2015) Cariow A., Cariowa G., Knapiński J., Derivation of a low multiplicative complexity algorithm for multiplying hyperbolic octonions, arXiv:1502.06250, 1-15 (2015)

23. Kazuki Hasebe, The Split-Algebras and Non-compact Hopf Maps, J. Math. Phys., 51:053524, DOI: 10.1063/1.3372628, arXiv:0905.2792, 1-40. (2010) 24. Steeb W-H., Hardy Y., Matrix Calculus and Kronecker Product: A Practical Approach to Linear and Multilinear Algebra, World Scientific Publishing Company; 2 edition (March 24, 2011) 25. Ţariov A., Strategie racjonalizacji obliczeń przy wyznaczaniu iloczynów macierzowo-wektorowych. Metody Informatyki Stosowanej, No 1, 147-158. (2008) 26. Ţariov А., Algorytmiczne aspekty racjonalizacji obliczeń w cyfrowym przetwarzaniu sygnałów, Wydawnictwo Zachodniopomorskiego Uniwersytetu Technologicznego. (2011) 27. Cariow A., Strategies for the synthesis of fast algorithms for the computation of the matrix-vector products, Journal of Signal Processing Theory and Applications, vol. 3 No. 1 1-19. (2014)

14

Suggest Documents