def test_regular_cyclic(self):
     g = CyclicGroup(15)
     rr = g.regular_representation
     N = 4
     size = rr.size * N
     
     p = np.eye(size, size)
     p = p[:, np.random.permutation(size)]
     repr = directsum([rr]*N, change_of_basis=p)
     self.check_disentangle(repr)
    def test_mix_cyclic(self):
        g = CyclicGroup(15)
        rr = directsum(list(g.representations.values()))
        
        N = 3
        size = rr.size * N

        bcob = ortho_group.rvs(dim=size//5)
        bsize = bcob.shape[0]
        p = np.eye(size, size)

        for i in range(size//bsize):
            p[i*bsize:(i+1)*bsize, i*bsize:(i+1)*bsize] = bcob
        p = p[:, np.random.permutation(size)]
        repr = directsum([rr]*N, change_of_basis=p)
        self.check_disentangle(repr)
 def test_restrict_irreps_cyclic_even_cyclic_odd(self):
     dg = CyclicGroup(10)
     sg_id = 5
     for name, irrep in dg.irreps.items():
         self.check_restriction(dg, sg_id, irrep)
 def test_restrict_rr_cyclic_odd_cyclic_odd(self):
     dg = CyclicGroup(15)
     repr = dg.regular_representation
     sg_id = 5
     self.check_restriction(dg, sg_id, repr)
 def test_restrict_rr_cyclic_even_cyclic_even(self):
     dg = CyclicGroup(16)
     repr = dg.regular_representation
     sg_id = 8
     self.check_restriction(dg, sg_id, repr)
 def test_restrict_rr_cyclic_even_cyclic_odd(self):
     dg = CyclicGroup(14)
     repr = dg.regular_representation
     sg_id = 7
     self.check_disentangle(dg.restrict_representation(sg_id, repr))
예제 #7
0
 def test_cyclic_even(self):
     g = CyclicGroup(16)
     self.check_group(g)
 def test_restrict_irreps_cyclic_even_cyclic_odd(self):
     dg = CyclicGroup(10)
     sg_id = 5
     for name, irrep in dg.irreps.items():
         self.check_disentangle(dg.restrict_representation(sg_id, irrep))
예제 #9
0
 def test_cyclic_odd(self):
     g = CyclicGroup(15)
     self.check_group(g)
예제 #10
0
 def test_mix_cyclic(self):
     g = CyclicGroup(15)
     rr = directsum(list(g.representations.values()))
     
     self.check_representation(rr)
     self.check_character(rr)
예제 #11
0
 def test_regular_cyclic(self):
     g = CyclicGroup(15)
     rr = g.regular_representation
     self.check_representation(rr)
     self.check_character(rr)
예제 #12
0
 def test_cyclic_rr_small(self):
     cg = CyclicGroup(2)
     self.cyclic_rr_eval(cg, cg.representations['regular'])
예제 #13
0
 def test_cyclic_rr_odd(self):
     cg = CyclicGroup(11)
     self.cyclic_rr_eval(cg, cg.representations['regular'])