我们先写一个自界说函数,用来按照给定的格基绘制响应的格。
f[w_, J_, color_, opacity_]
此中,w代表格子的某个极点,J是由格基构成的矩阵,color代表格子的颜色,opacity代表透明度。
好比,Z^2的一个以原点为极点的格子可以画为:
Show[f[{0, 0}, {{1, 0}, {0, 1}}, Green, 1], Axes -> True]
我们固然可以把必然规模内所有的格子全数画出来:
A = Tuples[Range[-12, 11], 2];
Show[f[#, {{1, 0}, {0, 1}}, Green, 0.5] & /@ A,Axes -> True]
用矩阵a左乘,会把格子酿成另外外形:
a = {{3, 1}, {-1, 2}};
Show[
f[#, {{1, 0}, {0, 1}}, Green, 0.5] & /@ A,
f[{0, 0}, a, Blue, 1], Axes -> True]
a把一个绿色的小正方形酿成了一个蓝色的平行四边形。
注重,这里直接把a当当作了格子的基,由于a乘以2*2的单元矩阵,仍等于a。
我们也可以把相近所有的蓝色格子全数画出来:
Show[
f[#, {{1, 0}, {0, 1}}, Green, 0.5] & /@ A,
f[#, a, Blue, 1] & /@ (A.a\[Transpose]),
Axes -> True]
参考《【抽象代数】Z矩阵的对角化》内里的要领,可以把矩阵a简化为:
b={{1,0},{0,-7}};
那么我们可以画出b对应的格子:
Show[
f[#, {{1, 0}, {0, 1}}, Green, 0.5] & /@ A,
f[{0, 0}, b, Red, 1]]
这是一个长条形的格子,刚好是由7个1*1的格子构成。
0【抽象代数】Z矩阵的对角化
END0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!