Manual inbedding

2931 days ago by Thomas.DePraetere

x1=matrix([[0,0,1],[0,1,0],[-1,0,0]])^2; x2=matrix([[0,0,1],[1,0,0],[0,1,0]]); x1 
       
[ 0  0 -1]
[ 0  1  0]
[ 1  0  0]
[ 0  0 -1]
[ 0  1  0]
[ 1  0  0]
x1*x1 
       
[-1  0  0]
[ 0  1  0]
[ 0  0 -1]
[-1  0  0]
[ 0  1  0]
[ 0  0 -1]
v1 = matrix([[1,0,0],[0,1,0],[0,0,1]]) v2 = x2 v3 = x2^-1 v4 = x1^-1 v5 = x2^-1*x1^-1 v6 = x2*x1^-1 v7 = x1*x2 v8 = x1^-1*x2^-1*x1^-1 v9 = x2*x1^-1*x2^-1*x1^-1 v10= x1^-1*x2^-1 v11= x2^-1*x1^-1*x2^-1 v12= x2*x1^-1*x2^-1 
       
v1 
       
[1 0 0]
[0 1 0]
[0 0 1]
[1 0 0]
[0 1 0]
[0 0 1]
v2 
       
[0 0 1]
[1 0 0]
[0 1 0]
[0 0 1]
[1 0 0]
[0 1 0]
v3 
       
[0 1 0]
[0 0 1]
[1 0 0]
[0 1 0]
[0 0 1]
[1 0 0]
v4 
       
[-1  0  0]
[ 0  1  0]
[ 0  0 -1]
[-1  0  0]
[ 0  1  0]
[ 0  0 -1]
v5 
       
[ 0  1  0]
[ 0  0 -1]
[-1  0  0]
[ 0  1  0]
[ 0  0 -1]
[-1  0  0]
v6 
       
[ 0  0 -1]
[-1  0  0]
[ 0  1  0]
[ 0  0 -1]
[-1  0  0]
[ 0  1  0]
v7 
       
[ 0  0 -1]
[ 1  0  0]
[ 0 -1  0]
[ 0  0 -1]
[ 1  0  0]
[ 0 -1  0]
v8 
       
[ 0 -1  0]
[ 0  0 -1]
[ 1  0  0]
[ 0 -1  0]
[ 0  0 -1]
[ 1  0  0]
v9 
       
[ 1  0  0]
[ 0 -1  0]
[ 0  0 -1]
[ 1  0  0]
[ 0 -1  0]
[ 0  0 -1]
v10 
       
[ 0 -1  0]
[ 0  0  1]
[-1  0  0]
[ 0 -1  0]
[ 0  0  1]
[-1  0  0]
v11 
       
[ 0  0  1]
[-1  0  0]
[ 0 -1  0]
[ 0  0  1]
[-1  0  0]
[ 0 -1  0]
v12 
       
[-1  0  0]
[ 0 -1  0]
[ 0  0  1]
[-1  0  0]
[ 0 -1  0]
[ 0  0  1]
v3.eigenvalues(); 
       
[1, -0.50000000000000000? - 0.866025403784439?*I, -0.50000000000000000?
+ 0.866025403784439?*I]
[1, -0.50000000000000000? - 0.866025403784439?*I, -0.50000000000000000? + 0.866025403784439?*I]
eig = v3.eigenvectors_right()[0][1][0]; 
       

n_eig is de positie van de top 1

n_eig = eig n_eig 
       
(1, 1, 1)
(1, 1, 1)

Hoort n_eig te zijn

v2*n_eig 
       
(1, 1, 1)
(1, 1, 1)

Probleem, er zijn 3 elementen die top 1 op top 2 sturen: (1,2)(3,4), (1,2,3), (1,2,4). Zij geven echter 3 verschillende coördinaten, wat logisch is, het ene is een spiegeling van top 1, de volgende is een rotatie rond de as door top 4 en de andere rond de as door top 3.

v4*n_eig 
       
(-1, 1, -1)
(-1, 1, -1)
v5*n_eig 
       
(1, -1, -1)
(1, -1, -1)
v6*n_eig 
       
(-1, -1, 1)
(-1, -1, 1)

Toevoegingsklasse is v2,v6,v7,v11 Dus er kunnen 3 andere toppen een positie krijgen. gelukkig zijn er maar 3 andere toppen.

v6*n_eig 
       
(-1, -1, 1)
(-1, -1, 1)
v7*n_eig 
       
(-1, 1, -1)
(-1, 1, -1)
v11*n_eig 
       
(1, -1, -1)
(1, -1, -1)

Proberen nu hetzelfde met top 2.

 

v8 (1,3,4) is de eerste permutatie die 2 stabiliseert.

v8.eigenvalues(); 
       
[1, -0.50000000000000000? - 0.866025403784439?*I, -0.50000000000000000?
+ 0.866025403784439?*I]
[1, -0.50000000000000000? - 0.866025403784439?*I, -0.50000000000000000? + 0.866025403784439?*I]
eig = v8.eigenvectors_right()[0][1][0]; eig 
       
(1, -1, 1)
(1, -1, 1)
v8*eig 
       
(1, -1, 1)
(1, -1, 1)

De elementen van de toevoegingsklasse van (1,3,4)  zijn (2,4,3), (1,2,3), (1,3,4) en (1,4,2), die komen na toepassing op 2 overeen met het coordinaat van top 4, 3, 2 en 1 en komen overeen met matrix v3, v5, v8, v10.

top 4 (2,4,3) v3

v3*eig 
       
(-1, 1, 1)
(-1, 1, 1)

top 3 (1,2,3) v5

v5*eig 
       
(-1, -1, -1)
(-1, -1, -1)

top 2 (1,3,4) v8

v8*eig 
       
(1, -1, 1)
(1, -1, 1)

top 1 (1,4,2) v10

v10*eig 
       
(1, 1, -1)
(1, 1, -1)

Laatste test gaat over het gebruik van de spiegeling. Het wordt verwacht dat de matrices geassocieerd aan spiegelingen een twee-dimensionale ruimte vasthouden, er moeten dus 2 vectoren gekozen worden. Dit zou een andere kijk geven op het inbedden, in plaats van een top te nemen en te kijken welk element die top vasthoud, zou men ook kunnen kijken naar een element, kijken welke ruimte die vasthoudt en dan proberen uitmaken welke toppen welke positie moeten krijgen.

v4.eigenvectors_right(); 
       
[(1, [
  (0, 1, 0)
  ], 1), (-1, [
  (1, 0, 0),
  (0, 0, 1)
  ], 2)]
[(1, [
  (0, 1, 0)
  ], 1), (-1, [
  (1, 0, 0),
  (0, 0, 1)
  ], 2)]
 
       
det(v2) 
       
1
1
v2.eigenvalues() 
       
[1, -0.50000000000000000? - 0.866025403784439?*I, -0.50000000000000000?
+ 0.866025403784439?*I]
[1, -0.50000000000000000? - 0.866025403784439?*I, -0.50000000000000000? + 0.866025403784439?*I]
eig = v8.eigenvectors_right()[0][1][0] eig 
       
(1, -1, 1)
(1, -1, 1)