一般的材料谈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,就可以空间中任意矢量的旋转表示出来。
就这么多,大家再议议。