Gaigen swMATH ID: 4958 Software Authors: Daniel Fontijne; Leo Dorst; Tim Bouma Description: Gaigen is a program which can generate implementations of geometric algebras. It generates C++ and C source code which implements a geometric algebra requested by the user. The choice to create a program which generates implementations of these algebras was made because we wanted performance similar to optimized hand-written code, while maintaining full generality; for (scientific) research and experimentation, many geometric algebras with different dimensionality, signatures and other properties may be required. Instead of coding each algebra by hand, Gaigen provides the possibility to generate the code for exactly the geometric algebra the user requires. This code may be less efficient than fully optimized hand-written code, but is likely to be much more efficient than one library which tries to support all possible algebras at once. Gaigen supports algebras with a dimension from 0 to 8. The implementation of products used in Gaigen becomes infeasable for dimensions higher than about 7 or 8. For basis vectors, all 3 signatures are supported (-1, 0, +1). It is also possible to create reciprocal pairs of null vectors, which square to 0 with themselves, but to +1 or -1 with the other. 7 basic products are implemented (geometric product, outer product, left and right contraction, scalar product, (modified) Hestenes inner product) plus the outer morphism operator and the delta product. Several useful functions (such as factorization, meet and join) have been implemented. Everything has been designed with memory and time efficiency in mind. It is possible to optimize Gaigen for your platform, application or processor by replacing the lowest computation layer. Gaigen can suggest optimizations for the algebras you generate with it by using the provided profiler function. Benchmarks in a ray tracing application show that Gaigen is 30 to 60 times faster than CLU (C++). In another application, Gaigen was 6000 times faster than Gable (Matlab). Homepage: https://sourceforge.net/projects/g25/ Related Software: Gaalop; CLUCalc; CLIFFORD; GMac; GABLE; GluCat; Gaalet; Versor; Clifford Multivector Toolbox; Cliffosor; CLU; OpenCLLink; OpenGL; GitHub; Mathematica; GAviewer; KamiWaAi; Garamon; GA; CUDA Cited in: 35 Documents all top 5 Cited by 77 Authors 8 Hildenbrand, Dietmar 3 Breuils, Stéphane 3 Franchini, Silvia 3 Fuchs, Laurent 3 Gentile, Antonio 3 Hrdina, Jaroslav 3 Návrat, Aleš 3 Steinmetz, Christian 3 Vašík, Petr 3 Vassallo, Giorgio 3 Vitabile, Salvatore 2 Bayro-Corrochano, Eduardo 2 Benger, Werner 2 Charrier, Patrick 2 Fernandes, Leandro Augusto Frata 2 Hitzer, Eckhard 2 Mann, Stephen 2 Matousek, Radomil 2 Nozick, Vincent 2 Schott, René 2 Sorbello, Filippo 2 Staples, George Stacey 1 Abłamowicz, Rafał 1 Altamirano-Gómez, Gerardo 1 Alves, Rafael 1 Baylis, William E. 1 Branson, Thomas Patrick 1 Dobler, Wolfgang 1 Dorst, Leo 1 Du, Juan 1 Du, Zhenhong 1 Egeland, Olav 1 Eid, Ahmad Hosny 1 Fontijne, Daniel 1 Gebken, Christian 1 Goldman, Ronald N. 1 Heinzl, René 1 Hovland, Geir 1 Jiang, Xiaomin 1 Klimek, Mariusz 1 Koch, Andreas 1 Liu, Renyi 1 López-González, Gehová 1 Lounesto, Pertti 1 Lü, Guonian 1 Luo, Wen 1 Oliveira, Manuel M. 1 Orouji, Niloofar 1 Papaefthymiou, Margarita 1 Papagiannakis, George 1 Perwass, Christian B. U. 1 Pitt, Joachim 1 Pollock, Stuart 1 Porteous, Ian R. 1 Ryan, John 1 Sadr, Ali 1 Sangwine, Stephen J. 1 Selig, J. M. 1 Sobczyk, Garret E. 1 Sommer, Gerald 1 Sousa, Eduardo Vera 1 Tachibana, Kanta 1 Theisel, Holger 1 Théry, Laurent 1 Tingelstad, Lars 1 Tørdal, Sondre Sanden 1 Tschumperlé, David 1 Tyapin, Ilya 1 Uftring, Patrick 1 Wang, Yingzhi 1 Weinkauf, Tino 1 Yi, Lin 1 Yu, Zhaoyuan 1 Yuan, Linwang 1 Zamora, Julio 1 Zhang, Feng 1 Zhang, Xiaoyi Cited in 4 Serials 26 Advances in Applied Clifford Algebras 1 Pattern Recognition 1 Mathematical Problems in Engineering 1 International Journal of Applied Mathematics and Computer Science all top 5 Cited in 21 Fields 23 Linear and multilinear algebra; matrix theory (15-XX) 21 Computer science (68-XX) 6 Numerical analysis (65-XX) 5 Mechanics of particles and systems (70-XX) 4 Number theory (11-XX) 3 Information and communication theory, circuits (94-XX) 2 Combinatorics (05-XX) 2 Probability theory and stochastic processes (60-XX) 2 Quantum theory (81-XX) 2 Biology and other natural sciences (92-XX) 2 Systems theory; control (93-XX) 1 Algebraic geometry (14-XX) 1 Nonassociative rings and algebras (17-XX) 1 Group theory and generalizations (20-XX) 1 Functions of a complex variable (30-XX) 1 Special functions (33-XX) 1 Integral transforms, operational calculus (44-XX) 1 Geometry (51-XX) 1 Fluid mechanics (76-XX) 1 Relativity and gravitational theory (83-XX) 1 Operations research, mathematical programming (90-XX) Citations by Year