This page was generated from docs/tutorials/g2-quick-start.ipynb. Interactive online version: .

# Quick Start (G2)¶

This notebook gives a terse introduction to using the clifford module, using a two-dimensional geometric algebra as the context.

## Setup¶

First, import clifford and instantiate a two-dimensional algebra (G2),

[1]:

from numpy import e,pi
import clifford as cf

layout, blades = cf.Cl(2) # creates a 2-dimensional clifford algebra


[2]:

blades

[2]:

{'': 1, 'e1': (1^e1), 'e2': (1^e2), 'e12': (1^e12)}


Assign blades to variables

[3]:

e1 = blades['e1']


## Basics¶

[4]:

e1*e2 # geometric product

[4]:

(1^e12)

[5]:

e1|e2 # inner product

[5]:

0

[6]:

e1^e2 # outer product

[6]:

(1^e12)


## Reflection¶

[7]:

a = e1+e2    # the vector
n = e1       # the reflector
-n*a*n.inv() # reflect a in hyperplane normal to n

[7]:

-(1.0^e1) + (1.0^e2)


## Rotation¶

[8]:

from numpy  import pi

R = e**(pi/4*e12) # enacts rotation by pi/2
R

[8]:

0.70711 + (0.70711^e12)

[9]:

R*e1*~R    # rotate e1 by pi/2 in the e12-plane

[9]:

-(1.0^e2)