Skip to main content

2013 | Buch

Foundations of Geometric Algebra Computing

verfasst von: Dr. Dietmar Hildenbrand

Verlag: Springer Berlin Heidelberg

Buchreihe : Geometry and Computing

insite
SUCHEN

Über dieses Buch

The author defines “Geometric Algebra Computing” as the geometrically intuitive development of algorithms using geometric algebra with a focus on their efficient implementation, and the goal of this book is to lay the foundations for the widespread use of geometric algebra as a powerful, intuitive mathematical language for engineering applications in academia and industry. The related technology is driven by the invention of conformal geometric algebra as a 5D extension of the 4D projective geometric algebra and by the recent progress in parallel processing, and with the specific conformal geometric algebra there is a growing community in recent years applying geometric algebra to applications in computer vision, computer graphics, and robotics.

This book is organized into three parts: in Part I the author focuses on the mathematical foundations; in Part II he explains the interactive handling of geometric algebra; and in Part III he deals with computing technology for high-performance implementations based on geometric algebra as a domain-specific language in standard programming languages such as C++ and OpenCL. The book is written in a tutorial style and readers should gain experience with the associated freely available software packages and applications.

The book is suitable for students, engineers, and researchers in computer science, computational engineering, and mathematics.

Inhaltsverzeichnis

Frontmatter
Chapter 1. Introduction
Abstract
What mathematicians often call Clifford algebra may also be called Geometric Algebra if the focus is on the geometric meaning of the algebraic expressions and operators. Geometric Algebra is a mathematical framework that makes it easy to describe geometric concepts and operations. It allows us to develop algorithms fast and in an intuitive way.
Dietmar Hildenbrand

Mathematical Foundations

Frontmatter
Chapter 2. Mathematical Introduction
Abstract
Part I of this book provides a theoretical introduction to Geometric Algebra. We focus on 5D Conformal Geometric Algebra because of its intuitive handling of geometric entities, geometric operations, transformations, and motions. We show how a lot of other mathematical systems can be identified within this algebra, and present the fitting of points with the help of spheres and/or planes as an important application.
Dietmar Hildenbrand
Chapter 3. Conformal Geometric Algebra
Abstract
In this book, we focus on 5D Conformal Geometric Algebra (CGA). The “conformal” comes from the fact that it handles conformal transformations easily. These transformations leave angles invariant.
Dietmar Hildenbrand
Chapter 4. Maple and the Identification of Quaternions and Other Algebras
Abstract
The goal of this chapter is to identify some mathematical systems in CGA and to investigate what their geometric meaning is (Fig. 4.1).
Dietmar Hildenbrand
Chapter 5. Fitting of Planes or Spheres to Sets of Points
Abstract
One big advantage of CGA is its easy handling of objects such as spheres and planes. Many problems in computer graphics are related to these kinds of objects.
Dietmar Hildenbrand

Interactive and Visual Geometric Algebra Computing

Frontmatter
Chapter 6. A Tutorial on Geometric Algebra Using CLUCalc
Abstract
Part II of this book is written in a tutorial-like style in order to encourage the reader to gain his/her own experience in developing Geometric Algebra algorithms. The relevant tool, CLUCalc, written by Christian Perwass, the tutorial examples, and the robotics applications in this part can be downloaded free of charge. While the focus of Part I was more on the mathematical foundations, the focus of Part II is more on the interactive handling of Geometric Algebra.
Dietmar Hildenbrand
Chapter 7. Inverse Kinematics of a Simple Robot
Abstract
This chapter presents the inverse kinematics application of a simple robot. All the figures in this chapter are screenshots of a CLUCalc application that can be downloaded from We present the Geometric Algebra algorithm for this application step by step. The geometrically intuitive operations of CGA make it easy to compute the joint angles of this robot that have to be set in order for the robot to reach its new position.
Dietmar Hildenbrand
Chapter 8. Robot Grasping an Object
Abstract
In this chapter, we present a Geometric Algebra algorithm for the grasping process of the robot Geometer (Fig. 8.1) constructed at Cinvestav, Guadalajara [62, 7]. We present both the Geometric Algebra algorithm and the algorithm in standard mathematics in order to highlight the difference in the symbolic descriptions.
Dietmar Hildenbrand

Runtime Performance of Geometric Algebra Computing

Frontmatter
Chapter 9. Efficient Computer Animation Application in CGA
Abstract
>For a long time, Geometric Algebra was known primarily as an elegant mathematical language. It could indeed be used in order to develop new algorithms, but to implement them efficiently, standard linear algebra was required. This was due to the low runtime performance of naively implemented Geometric Algebra algorithms. In 2006 [59], we presented for the first time an implementation of a computer animation algorithm that was faster than the standard implementation. This chapter presents this algorithm and some results of implementation based on Gaigen 2 (see Sect. 9.3.1) and on our Maple-based optimization approach (see Sect. 9.3.2).
Dietmar Hildenbrand
Chapter 10. Using Gaalop for High-Performance Geometric Algebra Computing
Abstract
The Maple-based approach of Chap.​ 9 was the basis for the development of our Gaalop (Geometric algebra algorithms optimizer) compiler, using the CLUCalc language of Part II as the input language (see [61]). In this chapter, we introduce Gaalop based on the horizon example and present our new compilation approaches to going from Geometric Algebra algorithms to optimized code.
Dietmar Hildenbrand
Chapter 11. Collision Detection Using the Gaalop Precompiler
Abstract
In order to simplify the use of the Geometric Algebra Computing technology, we have developed Gaalop GPC [20], a precompiler, which integrates Gaalop into standard programming languages such as C++, OpenCL, and CUDA. Figure 11.1 outlines the concept for the C++ programming language. With Gaalop GPC, we are able to enhance ordinary C++ code with Geometric Algebra code and automatically generate optimized C++ code.
Dietmar Hildenbrand
Chapter 12. The Gaalop Precompiler for GPUs
Abstract
Thanks to powerful GPGPU techniques (see for instance [45]), one can expect impressive results using the powerful language of Geometric Algebra. In this chapter, we present the basics of Gaalop GPC for GPUs, a precompiler for parallel programming of heterogeneous systems using OpenCL and CUDA. While CUDA is vendor-specific, OpenCL is an open industry standard, maintained by the Khronos Group [68].
Dietmar Hildenbrand
Chapter 13. Molecular Dynamics Using Gaalop GPC for OpenCL
Abstract
A molecular dynamics simulation of the kind described here [101] models the point-pair interactions of a system of molecules, each molecule consisting of several atoms, and numerically solves Newton’s and Euler’s equations of motion for each molecule. This can be expressed in the mathematical language of Conformal Geometric Algebra.
Dietmar Hildenbrand
Chapter 14. Geometric Algebra Computers
Abstract
How should a computer for Geometric Algebra be designed? This chapter investigates different computing architectures with the goal of implementing Geometric Algebra algorithms with as high a performance as possible.
Dietmar Hildenbrand
Backmatter
Metadaten
Titel
Foundations of Geometric Algebra Computing
verfasst von
Dr. Dietmar Hildenbrand
Copyright-Jahr
2013
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-31794-1
Print ISBN
978-3-642-31793-4
DOI
https://doi.org/10.1007/978-3-642-31794-1