Geometric Algebra Library for the Lua Programming Language

What is GALua?

GALua is a Lua module written in C++ adding support for GA (geometric algebra). The goal of the GALua module is to endow the Lua programming language with support for GA data-types (i.e. multivectors.)

How do I get GALua?

The current, official distribution of GALua is It is compatible with Lua 5.2. As of this writing, there is not yet a zipped archive for Linux or other platforms, but Linux is on the list of things to do.

Alternatively, you can grab the entire project tree and build GALua yourself. To do that, simply clone the GALua repository by issuing the following command.

 $ git clone

You'll need to know that GALua depends upon a statically linked library known as CalcLib which provides the GA calculation engine. It is kept in a seperate repository, because other projects, (such as GAVisTool), depend upon it too.

You'll then need JamPlus installed to build the project using its existing Jamfiles. Once installed, issue the following command in the GALua project root directory.

 $ jam -sCONFIG=release -sPLATFORM=win32 GALuaDLL

Of course, replace the platform argument with the appropriate option for your platform. Once it's built, you can run the env.bat batch file to setup some environment variables making the newly built Lua interpreter visible to the shell, and making the newly built GALua shared library visible to the Lua interpreter. To verify that things are working correctly, you might try changing to the test-scripts directory and running a few of the tests.

How do I learn GALua?

Documentation on the module is provided here. In fact, the rest of this site is dedicated to documenting GALua.

At the time of this writing, I support GALua as if it had a user-base; although, admittedly, I am the only user. For any serious applications requiring GA support, GALua may not be well-enough along, or fast enough, but for basic matters, I believe that it could very well be useful to someone. In any case, and if nothing else, GALua has served and continues to serve as an excellent exercise for me in learning how to write Lua modules.

You can reach me at "spencerparkin" at "outlook" dot "com". Feedback on and/or questions about GALua are welcome.

Copyright (C) 2013, by Spencer T. Parkin