def test_mix_so2(self):
        g = SO2(6)
        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)
Ejemplo n.º 2
0
 def test_restrict_so2_cyclic_odd(self):
     dg = SO2(10)
     repr = directsum(list(dg.irreps.values()))
     sg_id = 7
     self.check_restriction(dg, sg_id, repr)
Ejemplo n.º 3
0
 def test_restrict_irreps_so2_cyclic_even(self):
     dg = SO2(10)
     sg_id = 4
     for name, irrep in dg.irreps.items():
         self.check_restriction(dg, sg_id, irrep)
 def test_restrict_so2_cyclic_odd(self):
     dg = SO2(10)
     repr = directsum(list(dg.irreps.values()))
     sg_id = 7
     self.check_disentangle(dg.restrict_representation(sg_id, repr))
 def test_restrict_irreps_so2_cyclic_even(self):
     dg = SO2(10)
     sg_id = 4
     for name, irrep in dg.irreps.items():
         self.check_disentangle(dg.restrict_representation(sg_id, irrep))
Ejemplo n.º 6
0
 def test_so2(self):
     g = SO2(4)
     self.check_group(g)
Ejemplo n.º 7
0
 def test_mix_so2(self):
     g = SO2(6)
     rr = directsum(list(g.representations.values()))
 
     self.check_representation(rr)
     self.check_character(rr)