Gaalop (Geometic Algebra Algorithms Optimizer) is a software to compile and optimize geometric algebra (GA) expressions into high-level programming language code. Geometric algebra expressions can be developed using the freely available CLUCalc software by Christian Perwass. Gaalop optimizes CLUCalc expressions and produces C++ (AMP), OpenCL, CUDA, CLUCalc or LaTeX output. The optimized code is free of geometric algebra operations and runs very efficiently on various platforms.
This is probably best explained in this article: https://slehar.wordpress.com/2014/03/18/clifford-algebra-a-visual-introduction/ or this book: http://www.amazon.de/Foundations-Geometric-Algebra-Computing-Geometry/dp/3642317936
Note that this repository also contains Gaalop Precompiler (GPC) in the branch gaalop_precompiler. GPC integrates Gaalop directly into CMake-generated C/C++-toolchains. Gaalop Precompiler reuses most of the code of Gaalop which is why merges from Gaalop are required quite often.
The code of both projects is licensed under the LGPL 3.0.
Contributions are welcome. Please fork or ask for direct commit access to the repo.
Source: http://de.wikipedia.org/wiki/Bubblesort#Formaler%20Algorithmus
public static float canonicalReorderingSign(Blade a_p, Blade b, int bitCount) “This method is taken from the dissertation of Daniel Fontijne - Efficient Implementation of Geometric Algebra”
No copyright asserted on the source code of this class. May be used for any purpose, however, refer to the Unisys LZW patent for restrictions on use of the associated LZWEncoder class. Please forward any corrections to [email protected]. @author Kevin Weiner, FM Software @version 1.03 November 2003
IAMath.java -- classes implementing interval arithmetic versions of the arithmetic and elementary functions, as part of the "ia_math library" version 0.1beta1, 10/97
Copyright (C) 2000 Timothy J. Hickey
License: zlib/png
the class IAMath contains methods for performing basic arithmetic operations on intervals. Currently the elementary functions rely on the underlying implementation which uses the netlib fdlibm library. The resulting code is therefore probably unsound for the transcendental functions.
- Antlr [BSD]
- antlr-runtime [BSD]
- args4j [MIT]
- commons-io [Apache]
- commons-beanutils [Apache]
- jdom [Apache-style open source license]
- jna [This library is licensed under the LGPL, version 2.1 or later, and (from version 4.0 onward) the Apache Software License, version 2.0. Commercial license arrangements are negotiable.]
- lwjgl [BSD]
- lwjgl_util [BSD]
- stringtemplate [BSD]
- Maven [Apache]