forked from enkimute/ganja.js
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.md
26 lines (19 loc) · 1.51 KB
/
index.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<meta content="ganja.js Geometric Algebra for Javascript" property="og:title">
<meta content="website" property="og:type">
<meta content="https://enkimute.github.io/ganja.js/images/ganja_thumb.jpg" property="og:image">
<meta content="https://enkimute.github.io/ganja.js" property="og:url">
<meta content="Geometric algebra for javascript with operator overloading and algebraic literals." property="og:description">
**G**eometric **A**lgebra - **N**ot **J**ust **A**lgebra

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 automorphisms.)
(**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.)
(**Seriously**, look at the [examples](https://enkimute.github.io/ganja.js/examples/coffeeshop.html)
or play [the wedge game](https://enkimute.github.io/ganja.js/examples/example_game_wedge.html) first.)
[Read more on github .. ](https://github.com/enkimute/ganja.js)