Next Article in Journal
Evaluation of Features Generated by a High-End Low-Cost Electrical Smart Meter
Next Article in Special Issue
Load Balancing Strategies for Slice-Based Parallel Versions of JEM Video Encoder
Previous Article in Journal
Outdoor Node Localization Using Random Neural Networks for Large-Scale Urban IoT LoRa Networks
Previous Article in Special Issue
Rough Estimator Based Asynchronous Distributed Super Points Detection on High Speed Network Edge
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Parallel Algorithm for Dividing Octonions

Faculty of Computer Science and Information Technology, West Pomeranian University of Technology, Żołnierska 49, 71-210 Szczecin, Poland
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Submission received: 16 September 2021 / Revised: 19 October 2021 / Accepted: 23 October 2021 / Published: 24 October 2021
(This article belongs to the Collection Parallel and Distributed Computing: Algorithms and Applications)

Abstract

:
The article presents a parallel hardware-oriented algorithm designed to speed up the division of two octonions. The advantage of the proposed algorithm is that the number of real multiplications is halved as compared to the naive method for implementing this operation. In the synthesis of the discussed algorithm, the matrix representation of this operation was used, which allows us to present the division of octonions by means of a vector–matrix product. Taking into account a specific structure of the matrix multiplicand allows for reducing the number of real multiplications necessary for the execution of the octonion division procedure.

1. Introduction

The dynamic development of science and technology of data processing as well as the need to implement more and more complex problems and practical applications require the use of ever more complex mathematical methods and formalisms. Currently, the algebra of hypercomplex numbers [1] is increasingly used for the synthesis, description, and implementation of highly efficient numerical algorithms in the field of digital signals, like in [2,3,4,5] where the analysis of complex signals was extended to multidimensional hypercomplex signals and hypercomplex digital signal processing. Frequency-domain adaptive filters used for the derivation of the most popular algorithms for a wide variety of signals, from real-valued ones to hypercomplex-valued signals are presented in [6]. The use of hypercomplex numbers for image recognition, due to their internal correlation, is a more natural fit for recognition of multicolor patterns than does the use of color vector spaces [7,8]. Similarly, the use of complex numbers with their internal correlation allows for a more complete analysis of the image [9,10], or analyse the various watermarking techniques [11]. Hypercomplex numbers are widely used in robotics, in rotation and moving of robot manipulators [12,13,14], in automation for the analysis of multidimensional spaces [11,15], or in wireless data transmission [16]. Deep neural networks are also a popular area of application for hypercomplex numbers: quaternion valued neural network [17,18] and octonion valued neural network [19,20].
A promising area also seems to be the application of hypercomplex numbers to big data analysis, e.g., in parallel training architecture for large-scale convolutional neural networks [21], in parallel extreme learning machine [22,23,24], in cloud computing service system based on big data [25], in blockchain [26,27], or in IoT [28]. In all of the above cases, the use of octonions in parallel algorithms can provide significant benefits, due to the internal relations of hypercomplex numbers.
When performing the aforementioned hypercomplex-valued algorithms, the most time-consuming macro operations are multiplication and division, since they require several dozen of the nested real multiplications and additions [29,30]. For natural reasons, the intention of developers of highly efficient algorithms for processing hypercomplex data has always been to look for ways to reduce the number of arithmetic operations in these algorithms. This, in particular, refers to the minimization of the number of real multiplications, which from the very beginning of the development of computerization has been the most time-consuming operation in the entire set of data processing operations. As for the operation of multiplying hypercomplex numbers, everything is more or less clear. Quite a lot of efficient algorithms for multiplying hypercomplex numbers have been developed. However, if various hypercomplex numbers have already been invented, then it would be good to have efficient algorithms on hand to perform all the defined mathematical operations on those numbers. Nevertheless, fast algorithms for dividing hypercomplex numbers are practically not described anywhere. The only exception is the fast quaternion division algorithm [31]. To eliminate this disadvantage, the authors proposed an algorithm for the fast division of octonions.
Thus, the purpose of this article is to present the original results of the synthesis of a rationalized algorithm for calculating the quotient of two octonions, which requires fewer real multiplications compared to the direct naive calculation method at the cost of some increase in the number of real additions.
The paper is organized as follows: The next section presents a short background of dividing two octonions. The main chapter, which presents the synthesis of a fast algorithm for octonion division is given in Section 3. Evaluation of computational complexity of proposed algorithm is provided in Section 4. The paper finishes with the concluding remarks in Section 5.

2. Short Background

Consider the problem of dividing two octonions
d = a / b ,
where
a = ( a 0 + e 1 a 1 + e 2 a 2 + e 3 a 3 + e 4 a 4 + e 5 a 5 + e 6 a 6 + e 7 a 7 ) ,
b = ( b 0 + e 1 b 1 + e 2 b 2 + e 3 b 3 + e 4 b 4 + e 5 b 5 + e 6 b 6 + e 7 b 7 ) ,
d = ( d 0 + e 1 d 1 + e 2 d 2 + e 3 d 3 + e 4 d 4 + e 5 d 5 + e 6 d 6 + e 7 d 7 ) ,
and { a i } , { b i } , { d i } R ; { e i } , i = 0 , 1 , , 7 are imaginary units. The division operation (1) can be written as the multiplication of the octonion-dividend a by the conjugate octonion-divisor b * divided by the square of the norm of the quaternion-divisor R
d = a b * / R ,
where
b * = ( b 0 e 1 b 1 e 2 b 2 e 3 b 3 e 4 b 4 e 5 b 5 e 6 b 6 e 7 b 7 )
R = b 0 2 + b 1 2 + b 2 2 + b 3 2 + b 4 2 + b 5 2 + b 6 2 + b 7 2 ,
The rules for multiplying the octonion imaginary units are presented in Table 1 [1].
The operation of division (2) can be rewritten in the matrices-vector form [32,33,34]
Y 8 × 1 = η 8 O 8 X 8 × 1 ,
where η 8 is a scalar matrix
η 8 = η I 8 ,
I N is the identity matrix of order N, η is a inverse of the square of the norm of the quaternion-divisor
η = 1 / R ,
Y 8 × 1 and X 8 × 1 are the vector representation of the quotient d and octonion-dividend a, respectively
Y 8 × 1 = [ y 0 , y 1 , y 2 , y 3 , y 4 , y 5 , y 6 , y 7 ] T , y i = d i , i = 0 , 7 ¯ ,
X 8 × 1 = [ x 0 , x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ] T , x i = a i , i = 0 , 7 ¯ ,
and O 8 is the left real matrix representation of the conjugate octonion-divisor
O 8 = b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 1 b 0 b 3 b 2 b 5 b 4 b 7 b 6 b 2 b 3 b 0 b 1 b 6 b 7 b 4 b 5 b 3 b 2 b 1 b 0 b 7 b 6 b 5 b 4 b 4 b 5 b 6 b 7 b 0 b 1 b 2 b 3 b 5 b 4 b 7 b 6 b 1 b 0 b 3 b 2 b 6 b 7 b 4 b 5 b 2 b 3 b 0 b 1 b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 .
The direct multiplication of the vector–matrix product in Equation (3) requires 72 multipliers, 63 adders, 8 squarers and one divider of real numbers. The authors proposed some tricks, which reduce the multiplicative complexity of this operation to 38 real multiplications at the price of 56 more real additions.

3. Synthesis of a Fast Algorithm for Octonion Division

Let us multiply by ( 1 ) the first column of the matrix O 8 . It is easy to see that this procedure leads to minimising the computational complexity of the final algorithm. This results in the following matrix:
B 8 = b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 1 b 0 b 3 b 2 b 5 b 4 b 7 b 6 b 2 b 3 b 0 b 1 b 6 b 7 b 4 b 5 b 3 b 2 b 1 b 0 b 7 b 6 b 5 b 4 b 4 b 5 b 6 b 7 b 0 b 1 b 2 b 3 b 5 b 4 b 7 b 6 b 1 b 0 b 3 b 2 b 6 b 7 b 4 b 5 b 2 b 3 b 0 b 1 b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 .
Taking into account the performed manipulations, the operation of dividing one octonion by another octonion can be written as follows:
Y 8 × 1 = η 8 B 8 I ˜ 8 X 8 × 1 = η 8 B 8 ( 1 ) I ˜ 8 X 8 × 1 η 8 2 B 8 ( 2 ) I ˜ 8 X 8 × 1
where
B 8 ( 1 ) = b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 1 b 0 b 3 b 2 b 5 b 4 b 7 b 6 b 2 b 3 b 0 b 1 b 6 b 7 b 4 b 5 b 3 b 2 b 1 b 0 b 7 b 6 b 5 b 4 b 4 b 5 b 6 b 7 b 0 b 1 b 2 b 3 b 5 b 4 b 7 b 6 b 1 b 0 b 3 b 2 b 6 b 7 b 4 b 5 b 2 b 3 b 0 b 1 b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 ,
B 8 ( 2 ) = b 0 0 0 0 0 0 0 0 0 0 0 b 2 0 b 4 b 7 0 0 b 3 0 0 0 0 b 4 b 5 0 0 b 1 0 0 b 6 0 b 4 0 b 5 b 6 b 7 0 0 0 0 0 0 b 7 0 b 1 0 b 3 0 0 0 0 b 5 b 2 0 0 b 1 0 b 6 0 0 b 3 b 2 0 0 ,
I ˜ 8 = d i a g ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ) .
The following notation may be introduced: Y ^ 8 × 1 = η 8 B 8 ( 1 ) I ˜ 8 X 8 × 1 , and Y ˘ 8 × 1 = η 8 2 B 8 ( 2 ) I ˜ 8 X 8 × 1 . Then, the division of two octonions can be represented as the following sum:
Y 8 × 1 = Y ^ 8 × 1 Y ˘ 8 × 1 .
It is easy to see that the matrix B 8 ( 1 ) has symmetric Toeplitz-type structure. A matrix with such a structure can be successfully diagonalized using the fast discrete Walsh–Hadamard transform [35]. Let us take a closer look at this thought.
The matrix B 8 ( 1 ) has a block-symmetric structure:
B 8 ( 1 ) = b 0 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 1 b 0 b 3 b 2 b 5 b 4 b 7 b 6 b 2 b 3 b 0 b 1 b 6 b 7 b 4 b 5 b 3 b 2 b 1 b 0 b 7 b 6 b 5 b 4 b 4 b 5 b 6 b 7 b 0 b 1 b 2 b 3 b 5 b 4 b 7 b 6 b 1 b 0 b 3 b 2 b 6 b 7 b 4 b 5 b 2 b 3 b 0 b 1 b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 = A 4 B 4 B 4 A 4 ,
where
A 4 = b 0 b 1 b 2 b 3 b 1 b 0 b 3 b 2 b 2 b 3 b 0 b 1 b 3 b 2 b 1 b 0 , B 4 = b 4 b 5 b 6 b 7 b 5 b 4 b 7 b 6 b 6 b 7 b 4 b 5 b 7 b 6 b 5 b 4 .
For matrices with such a structure, the following factorization takes place [35]:
B 8 ( 1 ) = W 8 ( 0 ) D 8 ( 1 ) W 8 ( 0 )
where
W 8 ( 0 ) = H 2 I 4 = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ,
D 8 ( 1 ) = 1 2 [ ( A 4 + B 4 ) ( A 4 B 4 ) ] = 1 2 A 4 + B 4 0 4 0 4 A 4 B 4 ,
H 2 = 1 1 1 1 is Hadamard matrix of order 2, 0 N is the N × N null matrix (all of its entries are zero), and symbols “⊗”, “⊕” denote the tensor product and direct sum of two matrices, respectively [31,35,36,37].
The next step is to analyze the structures of matrix A 4 + B 4 and matrix A 4 B 4 :
A 4 + B 4 = A 2 B 2 B 2 A 2 , A 4 B 4 = C 2 D 2 D 2 C 2 ,
A 2 = b 0 + b 4 b 1 + b 5 b 1 + b 5 b 0 + b 4 , B 2 = b 2 + b 6 b 3 + b 7 b 3 + b 7 b 2 + b 6 ,
C 2 = b 0 b 4 b 1 b 5 b 1 b 5 b 0 b 4 , D 2 = b 2 b 6 b 3 b 7 b 3 b 7 b 2 b 6 ,
As you can see, these matrices also have block-symmetric structures and a similar factorization takes place for them. This means that expression (10) can be rewritten as follows:
B 8 ( 1 ) = W 8 ( 0 ) W 8 ( 1 ) D 8 ( 2 ) W 8 ( 1 ) W 8 ( 0 )
where
D 8 ( 2 ) = 1 4 [ ( A 2 + B 2 ) ( A 2 B 2 ) ( C 2 + D 2 ) ( C 2 D 2 ) ] ,
A 2 + B 2 = b 0 + b 2 + b 4 + b 6 b 1 + b 3 + b 5 + b 7 b 1 + b 3 + b 5 + b 7 b 0 + b 2 + b 4 + b 6 ,
A 2 B 2 = b 0 b 2 + b 4 b 6 b 1 b 3 + b 5 b 7 b 1 b 3 + b 5 b 7 b 0 b 2 + b 4 b 6 ,
C 2 + D 2 = b 0 + b 2 b 4 b 6 b 1 + b 3 b 5 b 7 b 1 + b 3 b 5 b 7 b 0 + b 2 b 4 b 6 ,
C 2 D 2 = b 0 b 2 b 4 + b 6 b 1 b 3 b 5 + b 7 b 1 b 3 b 5 + b 7 b 0 b 2 b 4 + b 6 ,
W 8 ( 1 ) = I 2 ( H 2 I 2 ) = 1 1 1 1 1 1 1 1 0 4 0 4 1 1 1 1 1 1 1 1 .
Now, consider the structures of the matrices A 2 + B 2 , A 2 B 2 , C 2 + D 2 , and C 2 D 2 . It is easy to see that also in this case there are block-symmetric matrices. Thus, this is again a similar case. Then, expression (11) can be rewritten as follows:
B 8 ( 1 ) = W 8 ( 0 ) W 8 ( 1 ) W 8 ( 2 ) D 8 ( 3 ) W 8 ( 2 ) W 8 ( 1 ) W 8 ( 0 )
where
W 8 ( 2 ) = I 4 H 2 = 1 1 1 1 0 2 0 2 1 1 1 1 0 4 0 4 1 1 1 1 0 2 0 2 1 1 1 1 ,
D 8 ( 3 ) = d i a g ( C 8 × 1 ) ,
C 8 × 1 =   c 0   c 1   c 2   c 3   c 4   c 5   c 6   c 7 T ,
c 0 = ( b 0 + b 2 + b 4 + b 6 + b 1 + b 3 + b 5 + b 7 ) / 8 ,
c 1 = ( b 0 + b 2 + b 4 + b 6 b 1 b 3 b 5 b 7 ) / 8 ,
c 2 = ( b 0 b 2 + b 4 b 6 + b 1 b 3 + b 5 b 7 ) / 8 ,
c 3 = ( b 0 b 2 + b 4 b 6 b 1 + b 3 b 5 + b 7 ) / 8 ,
c 4 = ( b 0 + b 2 b 4 b 6 + b 1 + b 3 b 5 b 7 ) / 8 ,
c 5 = ( b 0 + b 2 b 4 b 6 b 1 b 3 + b 5 + b 7 ) / 8 ,
c 6 = ( b 0 b 2 b 4 + b 6 + b 1 b 3 b 5 + b 7 ) / 8 ,
c 7 = ( b 0 b 2 b 4 + b 6 b 1 + b 3 + b 5 b 7 ) / 8 .
The triple products of matrices on the left and on the right with respect to the diagonal matrix D 8 ( 3 ) are in fact the factorized representations of the eighth order Hadamard matrices and describe the algorithms for the fast Walsh–Hadamard transform.
It is possible to write:
Y 8 × 1 ( 1 ) = η 8 W 8 ( 0 ) W 8 ( 1 ) W 8 ( 2 ) H 8 D 8 ( 3 ) W 8 ( 2 ) W 8 ( 1 ) W 8 ( 0 ) H 8 I ˜ 8 X 8 × 1
It is easy to check that the elements of the matrix D 8 ( 3 ) = d i a g S 8 × 1 can also be calculated using the eight-point fast Walsh–Hadamard transform:
S 8 × 1 = 1 8 W 8 ( 2 ) W 8 ( 1 ) W 8 ( 0 ) H 8 B 8 × 1 ,
B 8 × 1 = [ b 0 , b 1 , , b 7 ] T
Unfortunately, the process of calculating product B 8 ( 2 ) I ˜ 8 X 8 × 1 defies any effort at rationalization. However, since the matrix B 8 ( 2 ) is a sparse matrix and contains only 22 nonzero entries, the calculation of the entries of the vector Y 8 × 1 ( 2 ) requires only 22 real multiplications.
Combining partial computing procedures into a single one:
Y 8 × 1 = η 8 Ω 8 × 16 W 16 ( 0 ) W 16 ( 1 ) W 16 ( 2 ) D 16 W 16 ( 2 ) W 16 ( 1 ) W 16 ( 0 ) P 16 × 8 I ˜ 8 X 8 × 1
where P 16 × 8 = 1 2 × 1 I 8 , W 16 ( i ) = W 8 ( i ) I 8 , D 16 = D 8 ( 3 ) B 8 ( 2 ) , Ω 8 × 16 = 1 ˜ 1 × 2 I 8 , 1 ˜ 1 × 2 = [ 1 , 1 ] T and 1 N × M is a matrix of ones ( every element is equal to one).
The signal flow graph of the final algorithm (16) is shown in Figure 1.

4. Evaluation of Computational Complexity

The concept of computing the quotient of two octonions discussed in the article is an attempt to rationalize the computation process in terms of minimizing the number of multipliers required for a fully parallel hardware implementation of computations. The number of multiplication operations (multipliers) in the proposed solution is nearly twice as small as the naive method, and it is reduced from 72 to 38, which is a reduction of about 47.2%. This is at the expense of increasing the number of addition operations (adders) from 63 to 133, which is an increase of approximately 106.3%. It is also necessary to use eight three-bit barrel shifters. The number of dividers and squarers remained the same as in the compared method.
It should be noted that in most digital signal processing tasks one of the divided octonions is the so-called "constant", which means that its coefficients { b i } are known constant real numbers in advance. This means that the matrix D 16 entries can be computed in advance only once and stored in the read-only memory (ROM) of the computational system. Then, the solution proposed in the article becomes even more effective because it requires the same number of operating blocks as in the case of the naive method, among which only 38 blocks (twice less) are multipliers, and 70 adders. The total number of operating blocks necessary for the implementation of the processor system for calculating the obtained quotient in this case is 108 (128 in the case of the implementation of the naive method). In this way, the solution proposed in the article becomes the best in terms of the total number of arithmetic operations or operating blocks (in the case of hardware implementation) necessary to calculate the quotient of octonions.

5. Conclusions

The paper presented a new parallel algorithm for calculating the quotient of two octonions. The use of this algorithm reduces the multiplicative complexity of dividing octonion operation, thus reducing its hardware implementation complexity. The proposed algorithm has a simple, regular, and modular structure suitable for VLSI implementation. It is known that, all other things being equal, a conventional hardwired multiplier is a more complex device than a binary adder and occupies a much larger die area than an adder. Therefore, reducing the number of embedded multipliers is especially important when developing a specialized fully parallel VLSI-based module such as an octonion divider. Minimizing the number of multipliers required also reduces power dissipation and the cost of realization of such a module. Thus, it can be argued that a decrease in the number of embedded multipliers even due to a small increase in the number of adders plays an important role in the hardware implementation of the algorithm.
In addition, it can be seen that the total number of arithmetic operations in the presented algorithm is less than the total number of operations in the compared algorithm. Therefore, the proposed algorithm in some cases may turn out to be better than the naive algorithm even from the point of view of its software implementation on a general-purpose computer. Many applications of presented in the paper algorithm could be proposed. However, these questions are beyond the scope of this study and will be considered in the following articles by the authors.

Author Contributions

Conceptualization, A.C. and J.P.P.; methodology, A.C. and J.P.P.; software, J.P.P.; validation, A.C. and J.P.P.; formal analysis, A.C. and J.P.P.; investigation, A.C. and J.P.P.; resources, A.C.; data curation, J.P.P.; writing—original draft preparation, A.C.; writing—review and editing, J.P.P.; visualization, A.C.; supervision, A.C.; project administration, J.P.P.; funding acquisition, A.C. and J.P.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors gratefully acknowledge S.I. Klipkov for helpful clarifications regarding the dividing of octonions.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kantor, I.L.; Kantor, I.; Solodovnikov, A. Hypercomplex Numbers: An Elementary Introduction to Algebras; Springer: Berlin/Heidelberg, Germany, 1989. [Google Scholar]
  2. Alfsmann, D.; Göckler, H.G.; Sangwine, S.J.; Ell, T.A. Hypercomplex algebras in digital signal processing: Benefits and drawbacks. In Proceedings of the 2007 15th European Signal Processing Conference, Poznan, Poland, 3–7 September 2007; pp. 1322–1326. [Google Scholar]
  3. Bulow, T.; Sommer, G. Hypercomplex signals-a novel extension of the analytic signal to the multidimensional case. IEEE Trans. Signal Process. 2001, 49, 2844–2852. [Google Scholar] [CrossRef] [Green Version]
  4. Sangwine, S.J.; Le Bihan, N. Hypercomplex analytic signals: Extension of the analytic signal concept to complex signals. In Proceedings of the 2007 15th European Signal Processing Conference, Poznan, Poland, 3–7 September 2007; pp. 621–624. [Google Scholar]
  5. Schutte, H.D.; Wenzel, J. Hypercomplex numbers in digital signal processing. In Proceedings of the 1990 IEEE International Symposium on Circuits and Systems (ISCAS), New Orleans, LA, USA, 1–3 May 1990; pp. 1557–1560. [Google Scholar]
  6. Comminiello, D.; Scarpiniti, M.; Parisi, R.; Uncini, A. Frequency-domain adaptive filtering: From real to hypercomplex signal processing. In Proceedings of the ICASSP 2019—2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brighton, UK, 12–17 May 2019; pp. 7745–7749. [Google Scholar]
  7. Labunets, V.G.; Smetanin, J.G.; Chasovskikh, V.P.; Ostheimer, E. Hypercomplex Algebras as Unified Language for Image Processing and Pattern Recognition Part 1. Cliffordean Models of Multichannel Images. In Advances in Information Technologies, Telecommunication, and Radioelectronics; Springer: Berlin/Heidelberg, Germany, 2020; pp. 3–19. [Google Scholar]
  8. Pei, S.C.; Ding, J.J.; Chang, J. Color pattern recognition by quaternion correlation. In Proceedings of the 2001 International Conference on Image Processing (Cat. No. 01CH37205), Thessaloniki, Greece, 7–10 October 2001; Volume 1, pp. 894–897. [Google Scholar]
  9. Wang, C.; Hao, Q.; Ma, B.; Wu, X.; Li, J.; Xia, Z.; Gao, H. Octonion continuous orthogonal moments and their applications in color stereoscopic image reconstruction and zero-watermarking. Eng. Appl. Artif. Intell. 2021, 106, 104450. [Google Scholar] [CrossRef]
  10. Sangwine, S.J. Fourier transforms of colour images using quaternion or hypercomplex, numbers. Electron. Lett. 1996, 32, 1979–1980. [Google Scholar] [CrossRef]
  11. Gao, W.B.; Li, B.Z. The octonion linear canonical transform: Definition and properties. Signal Process. 2021, 188, 108233. [Google Scholar] [CrossRef]
  12. Cariow, A.; Cariowa, G.; Majorkowska-Mech, D. An Algorithm for Quaternion–Based 3D Rotation. Int. J. Appl. Math. Comput. Sci. 2020, 30, 149–160. [Google Scholar]
  13. Hu, C.; Meng, M.Q.H.; Mandal, M.; Liu, P.X. Robot rotation decomposition using quaternions. In Proceedings of the 2006 International Conference on Mechatronics and Automation, Luoyang, China, 25–28 June 2006; pp. 1158–1163. [Google Scholar]
  14. Takahashi, K.; Fujita, M.; Hashimoto, M. Remarks on Octonion–valued Neural Networks with Application to Robot Manipulator Control. In Proceedings of the 2021 IEEE International Conference on Mechatronics (ICM), Kashiwa, Japan, 7–9 March 2021; pp. 1–6. [Google Scholar]
  15. Błaszczyk, Ł. Hypercomplex fourier transforms in the analysis of multidimensional linear time-invariant systems. In Progress in Industrial Mathematics at ECMI 2018; Springer: Berlin/Heidelberg, Germany, 2019; pp. 575–581. [Google Scholar]
  16. Seberry, J.; Finlayson, K.; Adams, S.S.; Wysocki, T.A.; Xia, T.; Wysocki, B.J. The theory of quaternion orthogonal designs. IEEE Trans. Signal Process. 2007, 56, 256–265. [Google Scholar] [CrossRef]
  17. Cariow, A.; Cariowa, G. Fast Algorithms for Quaternion-Valued Convolutional Neural Networks. IEEE Trans. Neural Netw. Learn. Syst. 2021, 32, 457–462. [Google Scholar] [CrossRef]
  18. Saoud, L.S.; Ghorbani, R.; Rahmoune, F. Cognitive quaternion valued neural network and some applications. Neurocomputing 2017, 221, 85–93. [Google Scholar] [CrossRef]
  19. Popa, C.A. Global exponential stability of octonion-valued neural networks with leakage delay and mixed delays. Neural Netw. 2018, 105, 277–293. [Google Scholar] [CrossRef]
  20. Wu, J.; Xu, L.; Wu, F.; Kong, Y.; Senhadji, L.; Shu, H. Deep octonion networks. Neurocomputing 2020, 397, 179–191. [Google Scholar] [CrossRef]
  21. Chen, J.; Li, K.; Bilal, K.; Li, K.; Philip, S.Y.; Zhou, X. A bi-layered parallel training architecture for large-scale convolutional neural networks. IEEE Trans. Parallel Distrib. Syst. 2018, 30, 965–976. [Google Scholar] [CrossRef] [Green Version]
  22. Chen, C.; Li, K.; Ouyang, A.; Tang, Z.; Li, K. Gpu-accelerated parallel hierarchical extreme learning machine on flink for big data. IEEE Trans. Syst. Man, Cybern. Syst. 2017, 47, 2740–2753. [Google Scholar] [CrossRef]
  23. Duan, M.; Li, K.; Liao, X.; Li, K. A parallel multiclassification algorithm for big data using an extreme learning machine. IEEE Trans. Neural Netw. Learn. Syst. 2017, 29, 2337–2351. [Google Scholar] [CrossRef]
  24. Jamel, A.A.; Akay, B. A Survey and systematic categorization of parallel K-means and Fuzzy-c-Means algorithms. Comput. Syst. Sci. Eng. 2019, 34, 259–281. [Google Scholar] [CrossRef]
  25. Wang, J.; Yang, Y.; Wang, T.; Sherratt, R.S.; Zhang, J. Big data service architecture: A survey. J. Internet Technol. 2020, 21, 393–405. [Google Scholar]
  26. Zhang, J.; Zhong, S.; Wang, T.; Chao, H.C.; Wang, J. Blockchain-based systems and applications: A survey. J. Internet Technol. 2020, 21, 1–14. [Google Scholar]
  27. Deepa, N.; Pham, Q.V.; Nguyen, D.C.; Bhattacharya, S.; Prabadevi, B.; Gadekallu, T.R.; Maddikunta, P.K.R.; Fang, F.; Pathirana, P.N. A survey on blockchain for big data: Approaches, opportunities, and future directions. arXiv 2020, arXiv:2009.00858. [Google Scholar]
  28. Rani, R.; Pushpalatha, M. Generation of Frequent sensor epochs using efficient Parallel Distributed mining algorithm in large IOT. Comput. Commun. 2019, 148, 107–114. [Google Scholar] [CrossRef]
  29. Cariow, A.; Cariowa, G. Algorithm for multiplying two octonions. Radioelectron. Commun. Syst. 2012, 55, 464–473. [Google Scholar] [CrossRef]
  30. Tariov, A.; Tariova, G. Algorithmic aspects of the processor unit organization for Cayley numbers multiplication (In Polish): Aspekty algorytmiczne organizacji jednostki procesorowej do mnożenia liczb Cayleya. Elektron. Konstr. Technol. Zastos. 2010, 51, 104–108. [Google Scholar]
  31. Cariow, A.; Cariowa, G. An algorithm for dividing quaternions. arXiv 2020, arXiv:2009.00425. [Google Scholar]
  32. Klipkov, S. Some features of the matrix representations of the octonions. Èlektronic Model. 2019, 41, 19–34. [Google Scholar] [CrossRef]
  33. Karataş, A.; Halici, S. Vector matrix representation of octonions and their geometry. Commun. Fac. Sci. Univ. Ank. Ser. A1 Math. Stat. 2018, 67, 161–167. [Google Scholar]
  34. Tian, Y. Matrix representations of octonions and their applications. arXiv 2000, arXiv:math/0003166. [Google Scholar] [CrossRef] [Green Version]
  35. Cariow, A. Strategies for the Synthesis of Fast Algorithms for the Computation of the Matrix-vector Products. J. Signal Process. Theory Appl. 2014, 3, 1–19. [Google Scholar] [CrossRef]
  36. Granata, J.; Conner, M.; Tolimieri, R. The tensor product: A mathematical programming language for FFTs and other fast DSP operations. IEEE Signal Process. Mag. 1992, 9, 40–48. [Google Scholar] [CrossRef]
  37. Regalia, P.A.; Sanjit, M.K. Kronecker products, unitary matrices and signal processing applications. SIAM Rev. 1989, 31, 586–613. [Google Scholar] [CrossRef]
Figure 1. The signal flow graph of the proposed algorithm.
Figure 1. The signal flow graph of the proposed algorithm.
Algorithms 14 00309 g001
Table 1. Rules for multiplying the octonion imaginary units.
Table 1. Rules for multiplying the octonion imaginary units.
×1 e 1 e 2 e 3 e 4 e 5 e 6 e 7
11 e 1 e 2 e 3 e 4 e 5 e 6 e 7
e 1 e 1 1 e 3 e 2 e 5 e 4 e 7 e 6
e 2 e 2 e 3 1 e 1 e 6 e 7 e 4 e 5
e 3 e 3 e 2 e 1 1 e 7 e 6 e 5 e 4
e 4 e 4 e 5 e 6 e 7 1 e 1 e 2 e 3
e 5 e 5 e 4 e 7 e 6 e 1 1 e 3 e 2
e 6 e 6 e 7 e 4 e 5 e 2 e 3 1 e 1
e 7 e 7 e 6 e 5 e 4 e 3 e 2 e 1 1
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Cariow, A.; Paplinski, J.P. A Parallel Algorithm for Dividing Octonions. Algorithms 2021, 14, 309. https://0-doi-org.brum.beds.ac.uk/10.3390/a14110309

AMA Style

Cariow A, Paplinski JP. A Parallel Algorithm for Dividing Octonions. Algorithms. 2021; 14(11):309. https://0-doi-org.brum.beds.ac.uk/10.3390/a14110309

Chicago/Turabian Style

Cariow, Aleksandr, and Janusz P. Paplinski. 2021. "A Parallel Algorithm for Dividing Octonions" Algorithms 14, no. 11: 309. https://0-doi-org.brum.beds.ac.uk/10.3390/a14110309

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop