Ganja.js is a Geometric Algebra code generator for javascript. It generates Clifford algebras and sub-algebras of any signature and implements operator overloading and algebraic constants. Mathematically, an algebra generated by ganja.js is a graded exterior (Grassmann) algebra (or one of its subalgebras) with a non-metric outer product, extended (Clifford) with geometric and contraction inner products, a Poincare duality operator and the main involutions and morphisms. Technically, ganja.js is a code generator producing classes that reificate algebraic literals and expressions by using reflection, a built-in tokenizer and a simple AST translator to rewrite functions containing algebraic constructs to their procedural counterparts. ganja.js now has a nodejs based templated source generator that allows the creation of arbitrary algebras for C++, C#, python and rust. The generated code provides in a flat multivector format and operator overloading.

Features

  • Ganja.js enables real math syntax inside javascript, with element, vector and matrix operations
  • Complex numbers, dual numbers, hyperbolic numbers, vectors, spacetime events
  • Quaternions, dual quaternions, biquaternions or any other Clifford Algebra
  • ganja.js now has a nodejs based templated source generator that allows the creation of arbitrary algebras for C++
  • The generated code provides in a flat multivector format and operator overloading
  • Several algebras are available in pregenerated versions

Project Samples

Project Activity

See All Activity >

Categories

Mathematics

License

MIT License

Follow Ganja.js

Ganja.js Web Site

Other Useful Business Software
$300 in Free Credit Towards Top Cloud Services Icon
$300 in Free Credit Towards Top Cloud Services

Build VMs, containers, AI, databases, storage—all in one place.

Start your project in minutes. After credits run out, 20+ products include free monthly usage. Only pay when you're ready to scale.
Get Started
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Ganja.js!

Additional Project Details

Programming Language

C#, JavaScript

Related Categories

C# Mathematics Software, JavaScript Mathematics Software

Registered

2022-06-09