LGSL is a collection of numerical algorithms and functions for Lua, based on the GNU Scientific Library (GSL). It allows matrix and vector manipulation, linear algebra operations, special functions, and much more. LGSL is based on the numerical modules of GSL Shell, and requires LuaJIT.
LGSL offers an intuitive interface to the GNU Scientific Library (GSL) functions, giving you easy access to a well-tested scientific toolbox from your favourite Lua application. The bindings use the LuaJIT FFI, which makes the installation of LGSL a breeze. No compilation is required: all you need is LuaJIT and the GSL shared library.
LGSL is based on the numerical modules of GSL Shell. While GSL Shell is recommended as an all-in-one interactive scientific shell which includes plotting capabilities and general data tables, LGSL aims to be an easy-to-include Lua module with a more limited focus. It includes the numerical algorithms, special functions, and other goodies from GSL, as well as linear algebra operations which harness the power of BLAS. A selection of functions were reimplemented in Lua, to get the most out of LuaJIT.
In this talk, I will demonstrate the features of LGSL and discuss how it was tuned to be blazingly fast thanks to LuaJIT.