Abstract
This paper presents a new algorithm for multiplying two Kaluza numbers. Performing this operation directly requires 1024 real multiplications and 992 real additions. We presented in a previous paper an effective algorithm that can compute the same result with only 512 real multiplications and 576 real additions. More effective solutions have not yet been proposed. Nevertheless, it turned out that an even more interesting solution could be found that would further reduce the computational complexity of this operation. In this article, we propose a new algorithm that allows one to calculate the product of two Kaluza numbers using only 192 multiplications and 384 additions of real numbers.
1. Introduction
The permanent development of the theory and practice of data processing, as well as the need to solve increasingly complex problems of computational intelligence, inspire the use of complex and advanced mathematical methods and formalisms to represent and process big multidimensional data arrays. A convenient formalism for representing big data arrays is the high-dimensional number system. For a long time, high-dimensional number systems have been used in physics and mathematics for modeling complex systems and physical phenomena. Today, hypercomplex numbers [1] are also used in various fields of data processing, including digital signal and image processing, machine graphics, telecommunications, and cryptography [2,3,4,5,6,7,8,9,10]. However, their use in brain-inspired computation and neural networks has been largely limited due to the lack of comprehensive and all-inclusive information processing and deep learning techniques. Although there has been a number of research articles addressing the use of quaternions and octonions, higher-dimensional numbers remain a largely open problem [11,12,13,14,15,16,17,18,19,20,21,22]. Recently, new articles appeared in open access that presented a sedenion-based neural network [23,24]. The expediency of using numerical systems of higher dimensions was also noted. Thus, the object of our research was hypercomplex-valued convolutional neural networks using 32-dimensional Kaluza numbers.
In advanced hypercomplex-valued convolutional neural networks, multiplying hypercomplex numbers is the most time-consuming arithmetic operation. The reason for this is that the addition of N-dimensional hypercomplex numbers requires N real additions, while the multiplication of these numbers already requires real additions and real multiplication. It is easy to see that the increasing of dimensions of hypercomplex numbers increases the computational complexity of the multiplication. Therefore, reducing the computational complexity of the multiplication of hypercomplex numbers is an important scientific and engineering problem. The original algorithm for computing the product of Kaluza numbers was described in [25], but we found a more efficient solution. The purpose of this article is to present our new solution.
2. Preliminary Remarks
In all likelihood, the rules for constructing Kaluza numbers were first described in [26]. In article [25], based on these rules, a multiplication table for the imaginary units of the Kaluza number was constructed. A Kaluza number is defined as follows:
where and for are real numbers, and for are the imaginary units.
Imaginary units , , …, are called principal, and the remaining imaginary units are expressed through them using the formula:
where .
All kinds of works of imaginary units are entirely based on established rules:
For Kaluza numbers [26]:
Using the above rules, the results of all possible products of imaginary units of Kaluza numbers can be summarized in the following tables [25]: Table 1, Table 2, Table 3 and Table 4. For conveniens of notation we represents each element in the tables by its subscript i, and we set .
Table 1.
Multiplication rules of Kaluza numbers for , , …, and , , …, (elements denoted by their subscripts, i.e., .
Table 2.
Multiplication rules of Kaluza numbers for , , …, and , , …, (elements denoted by their subscripts, i.e., .
Table 3.
Multiplication rules of Kaluza numbers for , , …, and , , …, (elements denoted by their subscripts, i.e., .
Table 4.
Multiplication rules of Kaluza numbers for , , …, and , , …, (elements denoted by their subscripts, i.e., .
Suppose we want to compute the product of two Kaluza numbers:
where
The operation of the multiplication of Kaluza numbers can be represented more compactly in the form of a matrix-vector product:
where , ,
The direct multiplication of the matrix-vector product in Equation (1) requires 1024 real multiplications and 992 additions. We shall present an algorithm that reduces computation complexity to 192 multiplications and 384 additions of real numbers.
3. Synthesis of a Rationalized Algorithm for Computing Kaluza Numbers Product
We first rearrange the rows and columns of the matrix respectively using the permutations: = (11, 17, 2, 6, 13, 19, 3, 7, 0, 1, 4, 8, 10, 16, 22, 26, 30, 31, 23, 27, 15, 21, 5, 9, 14, 20, 25, 29, 12, 18, 24, 28) and = (10, 16, 3, 7, 0, 1, 2, 6, 13, 19, 22, 26, 11, 17, 4, 8, 12, 18, 5, 9, 14, 20, 23, 27, 15, 21, 24, 28, 30, 31, 25, 29). Next, we change the sign of the selected rows and columns by multiplying them by −1. We can easily see that this transformation leads in the future to minimizing the computational complexity of the final algorithm. Then we can write:
where the monomial matrices , are products of an appriopriate alternating sign changing matrices , and a permutation matrix , :
where:
The matrix is calculated from:
If we interpret the matrix as a block matrix, it is easy to see that it has a bisymmetric structure:
where
There is an effective method of factorization of this type matrices, which during the calculation of the matrix-vector products allows to reduce the number of multiplications from to at the expense of increasing additions from to [27]. The matrix used in the procedure of multiplication (2) can be described as:
where is an identity matrix and is a null matrix. Thus, we can write a new procedure for calculating the product of Kaluza numbers in the following form:
where
where the symbol “⊗” denotes the tensor product of two matrices and means a block-diagonal matrix.
The matrices , and have similar structures. If we now change the signs of all of the elements of the sixth and seventh rows, as well as all of the elements of the second, third, sixth and seventh columns, to the opposite, then the matrices , and will have structures of type , which leads to reducing the number of real multiplications during matrix-vector product calculation. We can write the sign transformation matrices for rows and columns as:
Then, we obtain new standardized matrices:
where:
There is a possiblity to use a method of factorization for the standardized matrices (6)–(8). This allows us to reduce the number of multiplications to using additions for each of above matrices. Therefore, similar to the previous we can write [27,28]:
where , are some matrices. Therefore, we can rewrite (6)–(8) as:
where:
Combining partial decompositions in a single procedure we can rewrite procedure, (3) as following:
where
is the order 2 Hadamard matrix, i.e.:
In order to simplify, we introduce the following notation for the elements of matrix (14):
we obtain:
All of the above matrices have the same internal structure. We can permute rows and columns using the = (5 1 2 7 4 0 3 6) and = (5 1 2 6 4 0 3 7) permutation rules, respectively. We obtain the following form:
where , are the corresponding items in the sets:
and
The matrices (16) are calculated via the following equation:
and have a standardized form (9) that reduces the number of multiplications. Thus, we can write:
where:
Combining the calculations for of the all above matrices in a single procedure we finally obtain:
where:
Figure 1 shows a data flow diagram describing the new algorithm for the computation of the product of Kaluza numbers (17). In this paper, the data flow diagram is oriented from left to right. Straight lines in the figure denote the operations of data transfer. Points, where lines converge, denote summation. The dotted lines indicate the subtraction operation. We use the regular lines without arrows on purpose, so as not to clutter the picture. The rectangles indicate the matrix-vector multiplications with matrices inscribed inside a rectangle.
Figure 1.
A data flow diagram for the proposed algorithm.
4. Evaluation of Computational Complexity
We will now calculate how many multiplications and additions of real numbers are required for the implementation of the new algorithm and will compare this with the number of operations required both for direct computation of matrix-vector products in Equation (1) and for implementing our previous algorithm [25]. The number of real multiplications required using the new algorithm is 192. Thus, using the proposed algorithm, the number of real multiplications needed to calculate the Kaluza number product is significantly reduced. The number of real additions required using our algorithm is 384. We observe that the direct computation of the Kaluza number product requires 608 additions more than the proposed algorithm. Thus, our proposed algorithm saves 832 multiplications and 960 additions of real numbers compared with the direct method. Thus, the total number of arithmetic operations for the proposed algorithm is approximately 71.4% less than that of the direct computation. The previously proposed algorithm [25] calculates the same result using 512 multiplications and 576 additions of real numbers. Thus, our proposed algorithm saves 62.5% of multiplications and 33.3% of additions of real numbers compared with our previous algorithm. Hence, the total number of arithmetic operations for the new proposed algorithm is approximately 47% less than that of our previous algorithm.
5. Conclusions
We presented a new effective algorithm for calculating the product of two Kaluza numbers. The use of this algorithm reduces the computational complexity of multiplications of Kaluza numbers, thus reducing implementation complexity and leading to a high-speed resource-effective architecture suitable for parallel implementation on VLSI platforms. Additionally, we note that the total number of arithmetic operations in the new algorithm is less than the total number of operations in the compared algorithms. Therefore, the proposed algorithm is better than the compared algorithms, even in terms of its software implementation on a general-purpose computer.
The proposed algorithm can be used in metacognitive neural networks using Kaluza numbers for data representation and processing. The effect in this case is achieved by using non-commutative finite groups based on the properties of the hypercomplex algebra [24]. When using the Kaluza number, in this case, the rule for generating the elements of the group will be set, as well as the rule for performing the group operation of multiplication. Such a system can contain two components: a neural network based on Kaluza numbers, which represents a cognitive component, and a metacognitive component, which serves to self-regulate the learning algorithm. At each stage, the metacognitive component will decide how and when the learning takes place. The algorithm removes unnecessary samples and keeps only those that are used. This decision will be determined by the magnitude and 31 phases of the Kaluza number. However, these matters are beyond the scope of this article and require more detailed research.
Author Contributions
Conceptualization, A.C.; methodology, A.C., G.C. and J.P.P.; validation, J.P.P.; formal analysis, A.C. and J.P.P.; writing—original draft preparation, A.C. and J.P.P.; writing—review and editing, A.C. and J.P.P.; visualization, A.C. and J.P.P.; supervision, A.C., G.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.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Kantor, I.L.; Solodovnikov, A.S. Hypercomplex Numbers: An Elementary Introduction to Algebras; Springer: Berlin/Heidelberg, Germany, 1989. [Google Scholar]
- Alfsmann, D. On families of 2N-dimensional hypercomplex algebras suitable for digital signal processing. In Proceedings of the 2006 14th European Signal Processing Conference, Florence, Italy, 4–8 September 2006; pp. 1–4. [Google Scholar]
- 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]
- Bayro-Corrochano, E. Multi-resolution image analysis using the quaternion wavelet transform. Numer. Algorithms 2005, 39, 35–55. [Google Scholar] [CrossRef]
- Belfiore, J.C.; Rekaya, G. Quaternionic lattices for space-time coding. In Proceedings of the 2003 IEEE Information Theory Workshop (Cat. No. 03EX674), Paris, France, 31 March–4 April 2003; pp. 267–270. [Google Scholar]
- 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]
- Calderbank, R.; Das, S.; Al-Dhahir, N.; Diggavi, S. Construction and analysis of a new quaternionic space-time code for 4 transmit antennas. Commun. Inf. Syst. 2005, 5, 97–122. [Google Scholar]
- Ertuğ, Ö. Communication over Hypercomplex Kähler Manifolds: Capacity of Multidimensional-MIMO Channels. Wirel. Person. Commun. 2007, 41, 155–168. [Google Scholar] [CrossRef]
- Le Bihan, N.; Sangwine, S. Hypercomplex analytic signals: Extension of the analytic signal concept to complex signals. In Proceedings of the 15th European Signal Processing Conference (EUSIPCO-2007), Poznan, Poland, 3–7 September 2007; p. A5P–H. [Google Scholar]
- Moxey, E.C.; Sangwine, S.J.; Ell, T.A. Hypercomplex correlation techniques for vector images. IEEE Trans. Signal Process. 2003, 51, 1941–1953. [Google Scholar] [CrossRef]
- Comminiello, D.; Lella, M.; Scardapane, S.; Uncini, A. Quaternion convolutional neural networks for detection and localization of 3d sound events. In Proceedings of the ICASSP 2019–2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), Brighton, UK, 12–17 May 2019; pp. 8533–8537. [Google Scholar]
- de Castro, F.Z.; Valle, M.E. A broad class of discrete-time hypercomplex-valued Hopfield neural networks. Neural Netw. 2020, 122, 54–67. [Google Scholar] [CrossRef] [Green Version]
- Gaudet, C.J.; Maida, A.S. Deep quaternion networks. In Proceedings of the 2018 International Joint Conference on Neural Networks (IJCNN), Rio de Janeiro, Brazil, 8–13 July 2018; pp. 1–8. [Google Scholar]
- Isokawa, T.; Kusakabe, T.; Matsui, N.; Peper, F. Quaternion neural network and its application. In Proceedings of the International Conference on Knowledge-Based and Intelligent Information and Engineering Systems, Oxford, UK, 3–5 September 2003; Springer: Berlin/Heidelberg, Germany, 2003; pp. 318–324. [Google Scholar]
- Liu, Y.; Zheng, Y.; Lu, J.; Cao, J.; Rutkowski, L. Constrained quaternion-variable convex optimization: A quaternion-valued recurrent neural network approach. IEEE Trans. Neural Netw. Learn. Syst. 2019, 31, 1022–1035. [Google Scholar] [CrossRef]
- Parcollet, T.; Morchid, M.; Linarès, G. A survey of quaternion neural networks. Artif. Intell. Rev. 2020, 53, 2957–2982. [Google Scholar] [CrossRef]
- Saoud, L.S.; Ghorbani, R.; Rahmoune, F. Cognitive quaternion valued neural network and some applications. Neurocomputing 2017, 221, 85–93. [Google Scholar] [CrossRef]
- Saoud, L.S.; Ghorbani, R. Metacognitive octonion-valued neural networks as they relate to time series analysis. IEEE Trans. Neural Netw. Learn. Syst. 2019, 31, 539–548. [Google Scholar] [CrossRef] [PubMed]
- Vecchi, R.; Scardapane, S.; Comminiello, D.; Uncini, A. Compressing deep-quaternion neural networks with targeted regularisation. CAAI Trans. Intell. Technol. 2020, 5, 172–176. [Google Scholar] [CrossRef]
- Vieira, G.; Valle, M.E. A General Framework for Hypercomplex-valued Extreme Learning Machines. arXiv 2021, arXiv:2101.06166. [Google Scholar]
- Wu, J.; Xu, L.; Wu, F.; Kong, Y.; Senhadji, L.; Shu, H. Deep octonion networks. Neurocomputing 2020, 397, 179–191. [Google Scholar] [CrossRef]
- Zhu, X.; Xu, Y.; Xu, H.; Chen, C. Quaternion convolutional neural networks. In Proceedings of the European Conference on Computer Vision (ECCV), Munich, Germany, 8–14 September 2018; pp. 631–647. [Google Scholar]
- Bojesomo, A.; Liatsis, P.; Marzouqi, H.A. Traffic flow prediction using Deep Sedenion Networks. arXiv 2020, arXiv:2012.03874. [Google Scholar]
- Saoud, L.S.; Al-Marzouqi, H. Metacognitive sedenion-valued neural network and its learning algorithm. IEEE Access 2020, 8, 144823–144838. [Google Scholar] [CrossRef]
- Cariow, A.; Cariowa, G.; Łentek, R. An algorithm for multipication of Kaluza numbers. arXiv 2015, arXiv:1505.06425. [Google Scholar]
- Silvestrov, V.V. Number Systems. Soros Educ. J. 1998, 8, 121–127. [Google Scholar]
- Ţariov, A. Algorithmic Aspects of Computing Rationalization in Digital Signal Processing. (Algorytmiczne Aspekty Racjonalizacji Obliczeń w Cyfrowym Przetwarzaniu Sygnałów); West Pomeranian University Press: Szczecin, Poland, 2012. (In Polish) [Google Scholar]
- Ţariov, 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]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).