Root systems and Dynkin diagrams(mathematica)

수학노트
http://bomber0.myid.net/ (토론)님의 2010년 3월 14일 (일) 13:00 판
둘러보기로 가기 검색하러 가기

 

 

A_n root systems

(* A_n type Cartan matrix *)
r := 2
rt[i_] := UnitVector[r + 1, i] - UnitVector[r + 1, i + 1]
a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]
A := Table[a[i, j], {i, 1, r}, {j, 1, r}]
A // MatrixForm

 

 

B_n root systems

Clear[rt]
(*B_r type Cartan matrix*)
r := 4
rt[i_] :=
 If[i < r, UnitVector[r, i] - UnitVector[r, 1 + i], UnitVector[r, r]]
a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]
A := Table[a[i, j], {i, 1, r}, {j, 1, r}]
Print["root vectors"]
Table[rt[i], {i, 1, r}] // TableForm
Print["Cartan matrix"]
A // MatrixForm

 

 

C_n root systems

Clear[rt]
(*C_r type Cartan matrix*)
r := 4
rt[i_] :=
 If[i < r, UnitVector[r, i] - UnitVector[r, 1 + i], 2*UnitVector[r, r]]
a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]
A := Table[a[i, j], {i, 1, r}, {j, 1, r}]
Print["root vectors"]
Table[rt[i], {i, 1, r}] // TableForm
Print["Cartan matrix"]
A // MatrixForm

 

 

D_n root systems

Clear[rt]
(*D_r type Cartan matrix*)
r := 6
rt[i_] :=
 If[i < r, UnitVector[r, i] - UnitVector[r, 1 + i],
  UnitVector[r, r - 1] + UnitVector[r, r]]
a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]
A := Table[a[i, j], {i, 1, r}, {j, 1, r}]
Print["root vectors"]
Table[rt[i], {i, 1, r}] // TableForm
Print["Cartan matrix"]
A // MatrixForm

 

 

E_7 root system

Clear[rt]
(*E_ 7 type Cartan matrix*)
r := 7
alp := Sum[UnitVector[r + 1, i]/2, {i, 1, 4}] -
  Sum[UnitVector[r + 1, i]/2, {i, 5, 8}]
rt[i_] :=
 Piecewise[{{UnitVector[r + 1, i + 2] - UnitVector[r + 1, 1 + i],
    i < 7}, {alp, i == 7}}, {i, 1, r}]
a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]
A := Table[a[i, j], {i, 1, r}, {j, 1, r}]
Print["root vectors"]
Table[rt[i], {i, 1, r}] // TableForm
Print["Cartan matrix"]
A // MatrixForm

 

 

 

E_8 root system

Clear[rt]
(*E_ 8 type Cartan matrix*)
alp := -Sum[UnitVector[r, i]/2, {i, 1, r}]
r := 8
rt[i_] :=
 Piecewise[{{UnitVector[r, i] - UnitVector[r, 1 + i],
    i < 7}, {UnitVector[r, i] + UnitVector[r, i - 1], i == 7}, {alp,
    i == 8}}, {i, Range[r]}]
a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]
A := Table[a[i, j], {i, 1, r}, {j, 1, r}]
Print["root vectors"]
Table[rt[i], {i, 1, r}] // TableForm
Print["Cartan matrix"]
A // MatrixForm

 

 

related items