一般的材料谈clifford algebra都是从抽象代数的角度,看了没有什么直观的感受。

这里我们从一个具体的算例来展示一下clifford algebra的用法。

clifford algebra,又称geometry algebra,指的是在一个vector space V,上面定义了一个geometry product,结果会在一个更大的vector space上面闭合。

开始举例,假设初始的vector space是二维的,有一组正交基 {e1, e2}, 则对于空间中的两个向量a, b可以定义geometry product
ab = a.b + a ^ b
根据这个定义,e1e1 = e2e2 = 1, 相同的单位矢量相乘为1
还有anti communitive 关系, e1e2 = -e2e1

新的空间有下面的basis, {1, e1, e2, e1e2}

rule定义完了,开始计算。

这里想计算的是reflection。clifford algebra声称自己可以非常自然的生成发射和旋转操作。假设有单位向量n,则空间中任意的向量x,可以被下面的操作对n做反射。

x -> nxn 

这里面所有的product都是geometry product。

带入数字,假设n是 (1/sqrt(2) , 1/sqrt(2)) , x 是 (1,0),关于45度线反射之后应该是(0,1),看看这个公式行不行。

n = 1/sqrt(2) e1 + 1/sqrt(2) e2 
x = e1

则xn = e1(1/sqrt(2) e1 + 1/sqrt(2) e2 )
        = 1/sqrt(2) e1e1  + 1/sqrt(2) e1 e2 
        = 1/sqrt(2) + 1/sqrt(2) e1 e2 

nxn = (1/sqrt(2) e1 + 1/sqrt(2) e2 ) (1/sqrt(2) + 1/sqrt(2) e1 e2 )
      =  1/2 e1 + 1/2 e2 + 1/2e1 e1 e2 + 1/2  e2 e1 e2
      = 1/2 e1 + 1/2 e2 + 1/2 e2 - 1/2 e1
      = e2

看来是对的。

这个计算看上去并没有什么优势,但是好处是非常容易机械化,可以推广到高维空间的向量反射。旋转也是类似的情形。只要知道了旋转把一个矢量A转动到B,就可以空间中任意矢量的旋转表示出来。

就这么多,大家再议议。