GL(m)
李
群
与
李
代
数
的
关
系
G
L
(
m
)
(
矩
阵
d
e
t
非
零
)
↦
g
l
(
m
)
(
也
为
矩
阵
,
任
意
m
方
阵
)
李群与李代数的关系\\ GL(m)(矩阵det非零)\mapsto gl(m)(也为矩阵,任意m方阵)
李群与李代数的关系GL(m)(矩阵det非零)↦gl(m)(也为矩阵,任意m方阵)
SO(3)
S
O
(
3
)
的
流
型
是
半
径
为
π
的
"
实
心
球
体
"
,
球
体
每
一
点
就
是
S
O
(
3
)
的
一
个
群
元
,
其
与
远
点
的
向
量
即
为
旋
转
轴
,
距
离
即
为
角
度
SO(3)的流型是半径为\pi 的"实心球体",\\ 球体每一点就是SO(3)的一个群元,其与远点的向量即为旋转轴,距离即为角度
SO(3)的流型是半径为π的"实心球体",球体每一点就是SO(3)的一个群元,其与远点的向量即为旋转轴,距离即为角度
"
实
心
球
体
"
是
一
种
粗
略
的
说
法
,
需
要
将
Z
与
Z
’
认
同
为
(
粘
起
来
,
商
拓
扑
)
同
一
个
点
,
叫
做
对
径
认
同
"实心球体"是一种粗略的说法,需要将Z与Z’认同为(粘起来,商拓扑)同一个点,叫做对径认同
"实心球体"是一种粗略的说法,需要将Z与Z’认同为(粘起来,商拓扑)同一个点,叫做对径认同
O
(
m
)
↦
o
(
m
)
S
O
(
m
)
↦
s
o
(
m
)
o
(
m
)
=
s
o
(
m
)
=
{
m
实
方
阵
A
∣
A
T
=
−
A
}
O(m) \mapsto o(m) \\ SO(m) \mapsto so(m) \\ o(m) =so(m) =\{ m实方阵A| A^T=-A \} \\
O(m)↦o(m)SO(m)↦so(m)o(m)=so(m)={m实方阵A∣AT=−A}
泡利矩阵
泡
利
矩
阵
τ
i
是
厄
米
的
,
不
是
反
厄
的
,
连
基
底
都
不
是
,
需
要
略
加
改
造
。
泡利矩阵\tau_i是厄米的,不是反厄的,连基底都不是,需要略加改造。
泡利矩阵τi是厄米的,不是反厄的,连基底都不是,需要略加改造。
任
何
厄
米
矩
阵
乘
虚
单
位
i
都
是
反
厄
的
任何厄米矩阵乘虚单位i都是反厄的
任何厄米矩阵乘虚单位i都是反厄的
乘
−
i
2
,
基
矢
E
i
=
−
i
2
τ
i
乘-\frac{i}{2},基矢E_i=-\frac{i}{2}\tau_i
乘−2i,基矢Ei=−2iτi
这
样
结
构
张
量
就
简
单
了
[
E
1
,
E
2
]
=
E
1
E
2
−
E
2
E
1
=
E
3
[
E
2
,
E
3
]
=
E
2
E
3
−
E
3
E
2
=
E
1
[
E
3
,
E
1
]
=
E
3
E
1
−
E
1
E
3
=
E
2
与
s
o
(
3
)
的
一
样
,
所
以
∃
代
数
同
构
ψ
s
u
(
2
)
→
s
o
(
3
)
,
ψ
(
E
i
)
=
A
i
但
是
S
U
(
2
)
≠
S
O
(
3
)
这样结构张量就简单了\\ [E_1,E_2]=E_1E_2 -E_2E_1=E_3\\ [E_2,E_3]=E_2E_3 -E_3E_2=E_1\\ [E_3,E_1]=E_3E_1 -E_1E_3=E_2\\ 与so(3)的一样,所以\exists 代数同构 \psi \ su(2)\rightarrow so(3), \psi(E_i)=A_i \\ 但是 SU(2)\neq SO(3)
这样结构张量就简单了[E1,E2]=E1E2−E2E1=E3[E2,E3]=E2E3−E3E2=E1[E3,E1]=E3E1−E1E3=E2与so(3)的一样,所以∃代数同构ψ su(2)→so(3),ψ(Ei)=Ai但是SU(2)=SO(3)
π : S U ( 2 ) 2 t o 1 → S O ( 3 ) \pi :SU(2)\overrightarrow{\ \ \ 2to1 \ \ \ } SO(3) π:SU(2) 2to1 SO(3)
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from scipy.linalg import expm,logm
from numpy import pi,sin,cos,tan,arccos,matmul
from numpy.linalg import norm
# import matplotlib as plt
import matplotlib.pyplot as plt
# from robotools import Euler_Rodrigues,SE3tose3
np.set_printoptions(precision=3,suppress=True)
deg = pi/180
def vec2sM(vec):# https://blog.csdn.net/ResumeProject/article/details/118913851
return np.array([
[0,-vec[2],vec[1]],
[vec[2],0,-vec[0]],
[-vec[1],vec[0],0]
])
def sM2vec(sM):
return np.array([sM[2][1],sM[0][2],sM[1][0]])
x = np.array([1,0,0])
y = np.array([0,1,0])
z = np.array([0,0,1])
dotnum = 20
s = np.array([1,1,1])
X = np.empty([dotnum,3])
Y = np.empty([dotnum,3])
Z = np.empty([dotnum,3])
w=np.linspace(0,1,dotnum)
for i in range (dotnum):
li=w[i]*s
M = vec2sM(li)
A = expm(M)
X[i] = np.dot(A, x)
Y[i] = np.dot(A, y)
Z[i] = np.dot(A, z)
#figure:新的画布
fig=plt.figure()
#axes:坐标轴
ax1=plt.axes(projection='3d')
ax1.scatter3D(0,0,0,cmap='Blues')#绘制散点图
ax1.scatter3D(X[:,0],X[:,1],X[:,2],cmap='Blues')#绘制散点图
ax1.scatter3D(Y[:,0],Y[:,1],Y[:,2],cmap='Blues')#绘制散点图
ax1.scatter3D(Z[:,0],Z[:,1],Z[:,2],cmap='Blues')#绘制散点图
plt.plot([0,0,0], s, label='x')