从reflection和rotation为例看clifford algebra

STEM版,合并数学,物理,化学,科学,工程,机械。不包括生物、医学相关,和计算机相关内容。

版主: verdeliteTheMatrix

Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#1 从reflection和rotation为例看clifford algebra

帖子 Caravel楼主 »

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

就这么多,大家再议议。
上次由 Caravel 在 2024年 5月 5日 14:55 修改。
FoxMe(令狐)
著名点评
著名点评
帖子互动: 133
帖子: 5224
注册时间: 2022年 7月 26日 16:46

#2 Re: 从计算角度看clifford algebra

帖子 FoxMe(令狐) »

总结的很好。我也有两点体会:

1. 向量空间中,一般向量不能相乘(不包括平凡的点积)。如果实在想要相乘怎么办?最简单的方法是用tensor product,所以n维空间上定义的Clifford algebra的维数是2^n;但是这样乘法太没章法了,就加个条件,这就是geometry product。

2. Clifford algebra用来研究向量空间的正交群,看起来高大上。但是正交群的东西都可以用反射或旋转来实现,而这些操作也可以在向量空间内部实现,那么为啥还要搞Clifford algebra这么复杂的怪物呢?
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#3 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

FoxMe 写了: 2024年 5月 3日 17:59 总结的很好。我也有两点体会:

1. 向量空间中,一般向量不能相乘(不包括平凡的点积)。如果实在想要相乘怎么办?最简单的方法是用tensor product,所以n维空间上定义的Clifford algebra的维数是2^n;但是这样乘法太没章法了,就加个条件,这就是geometry product。

2. Clifford algebra用来研究向量空间的正交群,看起来高大上。但是正交群的东西都可以用反射或旋转来实现,而这些操作也可以在向量空间内部实现,那么为啥还要搞Clifford algebra这么复杂的怪物呢?
tensor product太大,e1e1e1,e1e2e3也是一个基,于是往回收一收,两个相同的ei ei = 1,新空间的基不会太多。wiki上把clifford algebra叫做tensor代数的quotient algebra。
头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 262
帖子: 13200
注册时间: 2022年 7月 26日 00:35

#4 Re: 从计算角度看clifford algebra

帖子 TheMatrix »

Caravel 写了: 2024年 5月 3日 16:40 一般的材料谈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,就可以空间中任意矢量的旋转表示出来。

就这么多,大家再议议。
新的空间({1, e1, e2, e1e2})是四维的啊。

你的reflection的例子好像是二维的。剩下的两维哪去了?
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#5 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

TheMatrix 写了: 2024年 5月 3日 21:26 新的空间({1, e1, e2, e1e2})是四维的啊。

你的reflection的例子好像是二维的。剩下的两维哪去了?
实现的是二维空间的反射,中间过程出去了,但是最后又回来了
头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 262
帖子: 13200
注册时间: 2022年 7月 26日 00:35

#6 Re: 从计算角度看clifford algebra

帖子 TheMatrix »

Caravel 写了: 2024年 5月 3日 21:51 实现的是二维空间的反射,中间过程出去了,但是最后又回来了
嗯。对。看来这是Clifford algebra的物理意义啊。
头像
hci(海螺子)
论坛支柱
论坛支柱
帖子互动: 444
帖子: 9845
注册时间: 2022年 7月 22日 15:29

#7 Re: 从计算角度看clifford algebra

帖子 hci(海螺子) »

是的,用上升到高维来简化在低维的操作。
TheMatrix 写了: 2024年 5月 3日 21:54 嗯。对。看来这是Clifford algebra的物理意义啊。
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#8 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

hci 写了: 2024年 5月 4日 00:22 是的,用上升到高维来简化在低维的操作。
其实这个技巧经常用,比如电流的振幅实数,但是经常表示成复数,运算到最后取实数部分就可以了
头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 262
帖子: 13200
注册时间: 2022年 7月 26日 00:35

#9 Re: 从计算角度看clifford algebra

帖子 TheMatrix »

Caravel 写了: 2024年 5月 3日 16:40 一般的材料谈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,就可以空间中任意矢量的旋转表示出来。

就这么多,大家再议议。
以正交基{e1,e2,...}的方式来看Clifford algebra,看来是正确的打开方式。

正交基的角度也比较接近组合的角度:一个n维欧几里得空间,固定一组正交基,也可以看成是n个symbol {e1,e2,...}。这n个symbol的组合空间
{
{e1,e2},
{e1,e2,e3},
...
}
总共有2n = Cn0+Cn1+Cn2...个元素。

这n个symbol的组合空间可以定义乘法:两个组合相乘,用换序和相消的规则:
(e1e2)(e1e2e3)
=e1e2e1e2e3
=-e1e1e2e2e3
=-e3

换序和相消的规则是从两个symbol之间的规则来的:
ab = a.b + a ^ b
比如e1.e1=1,e1^e1=0,所以e1e1=1
而e1.e2=0,e1^e2=-e2^e1,所以e1e2=-e2e1

然后n个symbol的组合空间,可以再加上系数进行线性组合,和polynomial很像:
5e1e2-3e1e2e3+4e1e3+...

这些元素在n个symbol的组合空间的乘法基础上可以相加和相乘,也和polynomial的相加相乘很像。这就构成了代数。这就是Clifford algebra。
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#10 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

TheMatrix 写了: 2024年 5月 4日 13:06 以正交基{e1,e2,...}的方式来看Clifford algebra,看来是正确的打开方式。

正交基的角度也比较接近组合的角度:一个n维欧几里得空间,固定一组正交基,也可以看成是n个symbol {e1,e2,...}。这n个symbol的组合空间
{
{e1,e2},
{e1,e2,e3},
...
}
总共有2n = Cn0+Cn1+Cn2...个元素。

这n个symbol的组合空间可以定义乘法:两个组合相乘,用换序和相消的规则:
(e1e2)(e1e2e3)
=e1e2e1e2e3
=-e1e1e2e2e3
=-e3

换序和相消的规则是从两个symbol之间的规则来的:
ab = a.b + a ^ b
比如e1.e1=1,e1^e1=0,所以e1e1=1
而e1.e2=0,e1^e2=-e2^e1,所以e1e2=-e2e1

然后n个symbol的组合空间,可以再加上系数进行线性组合,和polynomial很像:
5e1e2-3e1e2e3+4e1e3...

这些元素在n个symbol的组合空间的乘法基础上可以相加和相乘,也和polynomial的相加相乘很像。这就构成了代数。这就是Clifford algebra。
这个规则很简单,可以推广到任意维度,用python实现估计200行就行了。Hamilton,Grassman这些人当初就是用简单的方式打开,后来才搞得越来越抽象。

里面的e1^e2^e2称为一个n-blade,最一般的形式是所有n-blade加起来,称之为multivector。一般的multivector不能写成n-blade的形式,这个和量子纠缠态的精神一样。
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#11 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

TheMatrix 写了: 2024年 5月 4日 13:06 以正交基{e1,e2,...}的方式来看Clifford algebra,看来是正确的打开方式。

正交基的角度也比较接近组合的角度:一个n维欧几里得空间,固定一组正交基,也可以看成是n个symbol {e1,e2,...}。这n个symbol的组合空间
{
{e1,e2},
{e1,e2,e3},
...
}
总共有2n = Cn0+Cn1+Cn2...个元素。

这n个symbol的组合空间可以定义乘法:两个组合相乘,用换序和相消的规则:
(e1e2)(e1e2e3)
=e1e2e1e2e3
=-e1e1e2e2e3
=-e3

换序和相消的规则是从两个symbol之间的规则来的:
ab = a.b + a ^ b
比如e1.e1=1,e1^e1=0,所以e1e1=1
而e1.e2=0,e1^e2=-e2^e1,所以e1e2=-e2e1

然后n个symbol的组合空间,可以再加上系数进行线性组合,和polynomial很像:
5e1e2-3e1e2e3+4e1e3+...

这些元素在n个symbol的组合空间的乘法基础上可以相加和相乘,也和polynomial的相加相乘很像。这就构成了代数。这就是Clifford algebra。
除了空间的维度,inner product也很重要,决定了是欧几里得空间,还是闵可夫司机时空。
头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 262
帖子: 13200
注册时间: 2022年 7月 26日 00:35

#12 Re: 从计算角度看clifford algebra

帖子 TheMatrix »

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

x -> nxn

这里面所有的product都是geometry product。
嗯。x和n都必须是最开始的vector space V中的向量。也就是Clifford algebra中的一阶元素,也就是不能包含形如e1e2这样的分量。在这种条件下,nxn仍然回到V中,也就是nxn在Clifford algebra中仍然是一阶元素。
FoxMe(令狐)
著名点评
著名点评
帖子互动: 133
帖子: 5224
注册时间: 2022年 7月 26日 16:46

#13 Re: 从计算角度看clifford algebra

帖子 FoxMe(令狐) »

量子和Clifford有联系,感觉Clifford代数(2^n维)的操作可以用量子计算机实现(n个量子比特)。
Caravel 写了: 2024年 5月 4日 13:14 这个规则很简单,可以推广到任意维度,用python实现估计200行就行了。Hamilton,Grassman这些人当初就是用简单的方式打开,后来才搞得越来越抽象。

里面的e1^e2^e2称为一个n-blade,最一般的形式是所有n-blade加起来,称之为multivector。一般的multivector不能写成n-blade的形式,这个和量子纠缠态的精神一样。
弃婴千枝
论坛支柱
论坛支柱
帖子互动: 1019
帖子: 11413
注册时间: 2022年 7月 27日 10:51

#14 Re: 从计算角度看clifford algebra

帖子 弃婴千枝 »

FoxMe(令狐)
著名点评
著名点评
帖子互动: 133
帖子: 5224
注册时间: 2022年 7月 26日 16:46

#15 Re: 从计算角度看clifford algebra

帖子 FoxMe(令狐) »

n不一定在向量空间内,也可以在Clifford内。这样的n有一个专有名词: even Clifford algebra, 即它的偶部分(修改:只在quaternion的情况成立,一般情况只是偶部分的子集):

{n : n x n^{-1} \in V, for all x \in V}. (如果n的norm为1,那么n=n^{-1}, 也可以写成nxn)

比如上面的quaternion就是偶部分,可以用来做三维空间的旋转。在计算机图形学中,比用三维矩阵来做旋转要快。

感觉Clifford algebra的好处就这么一点点?用2^n维的工具来操作n维向量,杀鸡用牛刀?因为你能做的旋转/反射,我也能在向量空间内做,不需要Clifford algebra完全也能做到。感觉Clifford algebra的好处会随着n 增大而消失,因为2^n维实在太大了,除非你用量子计算机。
TheMatrix 写了: 2024年 5月 4日 16:10 嗯。x和n都必须是最开始的vector space V中的向量。也就是Clifford algebra中的一阶元素,也就是不能包含形如e1e2这样的分量。在这种条件下,nxn仍然回到V中,也就是nxn在Clifford algebra中仍然是一阶元素。
上次由 FoxMe 在 2024年 5月 5日 09:44 修改。
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#16 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

这个材料不错,这个人似乎学Clifford也学了很多年,跟我们类似
头像
TheMatrix
论坛支柱
论坛支柱
2024年度优秀版主
TheMatrix 的博客
帖子互动: 262
帖子: 13200
注册时间: 2022年 7月 26日 00:35

#17 Re: 从计算角度看clifford algebra

帖子 TheMatrix »

FoxMe 写了: 2024年 5月 4日 17:13 n不一定在向量空间内,也可以在Clifford内。这样的n有一个专有名词: even Clifford algebra, 即它的偶部分:

even Clifford algebra = {n : n x n^{-1} \in V, for all x \in V}. (如果n的norm为1,那么n=n^{-1}, 也可以写成nxn)

比如上面的quaternion就是偶部分,可以用来做三维空间的旋转/反射。在计算机图形学中,比用三维矩阵来做旋转要快。

感觉Clifford algebra的好处就这么一点点?用2^n维的工具来操作n维向量,杀鸡用牛刀?因为你能做的旋转/反射,我也能在向量空间内做,不需要Clifford algebra完全也能做到。感觉Clifford algebra的好处会随着n 增大而消失,因为2^n维实在太大了,除非你用量子计算机。
Clifford algebra 的偶部分怎么定义的?是Clifford algebra的偶subalgebra,还是某一个偶subspace?

even Clifford algebra = {n : n x n^{-1} \in V, for all x \in V}. 这个是定义还是定理?
FoxMe(令狐)
著名点评
著名点评
帖子互动: 133
帖子: 5224
注册时间: 2022年 7月 26日 16:46

#18 Re: 从计算角度看clifford algebra

帖子 FoxMe(令狐) »

就是偶subalgebra。

>even Clifford algebra = {n : n x n^{-1} \in V, for all x \in V}.

这里记错了,只对quaternion成立。{n : n x n^{-1} \in V, for all x \in V}是一个子集,但好像没有专门取名字,已修正。

这里又牵扯出两个名词:

spin group = {以上的n, 并且n 的norm=1};所以我说的那个集合基本上是spin group: 这也好理解,这个群就是用来做旋转的。

还有spinor norm = n的norm,基本上。

大致上spin group + spinor norm完整地刻画了上面那个子集。
TheMatrix 写了: 2024年 5月 4日 17:27 Clifford algebra 的偶部分怎么定义的?是Clifford algebra的偶subalgebra,还是某一个偶subspace?

even Clifford algebra = {n : n x n^{-1} \in V, for all x \in V}. 这个是定义还是定理?
上次由 FoxMe 在 2024年 5月 5日 09:44 修改。
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#19 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

弃婴,翻了一下,你这个资料像数学手册一样,不如这篇文章有意思
http://geometry.mrao.cam.ac.uk/wp-conte ... Millen.pdf
Caravel楼主
论坛元老
论坛元老
Caravel 的博客
帖子互动: 535
帖子: 24119
注册时间: 2022年 7月 24日 17:21

#20 Re: 从计算角度看clifford algebra

帖子 Caravel楼主 »

FoxMe 写了: 2024年 5月 4日 17:13 n不一定在向量空间内,也可以在Clifford内。这样的n有一个专有名词: even Clifford algebra, 即它的偶部分(修改:只在quaternion的情况成立,一般情况只是偶部分的子集):

{n : n x n^{-1} \in V, for all x \in V}. (如果n的norm为1,那么n=n^{-1}, 也可以写成nxn)

比如上面的quaternion就是偶部分,可以用来做三维空间的旋转/反射。在计算机图形学中,比用三维矩阵来做旋转要快。

感觉Clifford algebra的好处就这么一点点?用2^n维的工具来操作n维向量,杀鸡用牛刀?因为你能做的旋转/反射,我也能在向量空间内做,不需要Clifford algebra完全也能做到。感觉Clifford algebra的好处会随着n 增大而消失,因为2^n维实在太大了,除非你用量子计算机。
旋转的处理是clifford的精髓,用两个反射代替旋转的技巧是Hamilton想出来的。
回复

回到 “STEM”