"Root systems and Dynkin diagrams(mathematica)"의 두 판 사이의 차이
25번째 줄: | 25번째 줄: | ||
<h5>C_n root systems</h5> | <h5>C_n root systems</h5> | ||
− | + | Clear[rt]<br> (*C_r type Cartan matrix*)<br> r := 4<br> rt[i_] :=<br> If[i < r, UnitVector[r, i] - UnitVector[r, 1 + i], 2*UnitVector[r, r]]<br> a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]<br> A := Table[a[i, j], {i, 1, r}, {j, 1, r}]<br> Print["root vectors"]<br> Table[rt[i], {i, 1, r}] // TableForm<br> Print["Cartan matrix"]<br> A // MatrixForm | |
33번째 줄: | 33번째 줄: | ||
<h5>D_n root systems</h5> | <h5>D_n root systems</h5> | ||
− | (* | + | Clear[rt]<br> (*D_r type Cartan matrix*)<br> r := 6<br> rt[i_] :=<br> If[i < r, UnitVector[r, i] - UnitVector[r, 1 + i],<br> UnitVector[r, r - 1] + UnitVector[r, r]]<br> a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]<br> A := Table[a[i, j], {i, 1, r}, {j, 1, r}]<br> Print["root vectors"]<br> Table[rt[i], {i, 1, r}] // TableForm<br> Print["Cartan matrix"]<br> A // MatrixForm |
+ | |||
+ | |||
+ | |||
+ | <h5>E_8 root systems</h5> | ||
+ | |||
+ | Clear[rt]<br> (*E_ 8 type Cartan matrix*)<br> alp := -Sum[UnitVector[r, i]/2, {i, 1, r}]<br> r := 8<br> rt[i_] :=<br> Piecewise[{{UnitVector[r, i] - UnitVector[r, 1 + i],<br> i < 7}, {UnitVector[r, i] + UnitVector[r, i - 1], i == 7}, {alp,<br> i == 8}}, {i, Range[r]}]<br> a[i_, j_] := (2 Dot[rt[i], rt[j]])/Dot[rt[j], rt[j]]<br> A := Table[a[i, j], {i, 1, r}, {j, 1, r}]<br> Print["root vectors"]<br> Table[rt[i], {i, 1, r}] // TableForm<br> Print["Cartan matrix"]<br> A // MatrixForm | ||
2010년 3월 14일 (일) 11:53 판
- Root Systems and Dynkin diagrams
- http://en.wikipedia.org/wiki/root_systems
- [1][2][3][4]http://en.wikipedia.org/wiki/Dynkin_diagram
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_8 root systems
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