In [1]:
%matplotlib inline

In [2]:
import numpy as np

import matplotlib.pyplot as plt
import pandas as pd
from pandas import Series, DataFrame

import bga_4_0 as bga
import triangle_geometry as ti
import polyhedra as poly
bga = reload(bga)

In [3]:
#poly_name = "tetrahedron"
#poly_name = "cube"########################
poly_name = "octahedron"
#poly_name = "dodecahedron"###########
#poly_name = "icosahedron"

verts, face_inds, cents = getattr(poly, poly_name)()
V, E, F, S, species, f_types, adj_list, dual = bga.get_poly(poly_name)
ints, ids, paths, shell_int, shell_paths, edges, shell_edge = bga.get_bg_ss(poly_name)

Rs = bga.generate_rotations(adj_list)
rs = bga.get_rs(ints, adj_list, Rs)
Ss, Ts = bga.get_degeneracies(ints, edges, adj_list, Rs=Rs)

In [4]:
# Create DataFrame
edge_stats = DataFrame(edges, columns=['j','k'])
edge_stats['r_j'] = [rs[e[0]] for e in edges]
edge_stats['r_k'] = [rs[e[1]] for e in edges]
edge_stats['S_jk'] = Ss
edge_stats['S_kj'] = Ts

In [5]:
edge_stats['r_jS_kj'] = edge_stats['r_j']*edge_stats['S_kj']
edge_stats['r_kS_jk'] = edge_stats['r_k']*edge_stats['S_jk']

In [6]:
(edge_stats['r_jS_kj'] == edge_stats['r_kS_jk']).all()


Out[6]:
True

In [7]:
edge_stats


Out[7]:
j k r_j r_k S_jk S_kj r_jS_kj r_kS_jk
0 0 1 24 3 8 1 24 24
1 1 2 3 2 3 2 6 6
2 2 3 2 1 4 2 4 4
3 3 4 1 3 1 3 3 3
4 3 5 1 2 1 2 2 2
5 3 6 1 4 1 4 4 4
6 3 7 1 2 1 2 2 2
7 4 8 3 1 3 1 3 3
8 5 8 2 1 2 1 2 2
9 5 9 2 1 2 1 2 2
10 6 8 4 1 4 1 4 4
11 7 8 2 1 2 1 2 2
12 7 9 2 1 2 1 2 2
13 8 10 1 2 2 4 4 4
14 8 11 1 2 1 2 2 2
15 9 10 1 2 1 2 2 2
16 9 11 1 2 1 2 2 2
17 9 12 1 6 1 6 6 6
18 10 13 2 3 2 3 6 6
19 11 13 2 3 2 3 6 6
20 12 13 6 3 2 1 6 6
21 13 14 3 24 1 8 24 24

22 rows × 8 columns