Code Generation for Geometric Algebra
Combining Geometric, Algebraic, and Software Abstractions for Scientific Computations
Geometry is an essential part of almost every solution to problems in computer science and engineering.
The process of manually creating geometry-enabled software for representing and processing geometric data is tedious and error-prone.
The use of automatic code generators for such process is more suitable, especially for low-dimensional geometric problems.
Such problems can be commonly found in computer graphics, computer vision, robotics, and many other fields of application.
A mathematical algebraic system with special characteristics must be used as the base of the code transformations required for final code generation.
Geometric Algebra (GA) is one of the most suitable algebraic systems for such task.
This work describes the design and use of one such GA-based prototype code generation system: GMac.
The main function of GMac is to transform a high-level GA-based description of the geometric algorithm into an efficient low-level software code capable of processing the relevant geometric information.
The illustrated reduction of design and maintenance efforts provided by GMac is one key to reducing costs of software development for geometry-aware software systems.
Ahmad Hosny Eid, a member of the Faculty of Engineering, Port-Said University, Egypt, is a software engineer interested in geometric computing using Geometric Algebra and its applications in engineering and computer science.
Ahmad is the designer of GMac; a sophisticated software system for efficiently implementing GA-based algorithms.