There are **17** 2D space groups.

Currently, Only following 2D space groups are supported::

:param ITA_number: a sequential number as given in the International Tables for Crystallography, Vol. A, allowed range `[1,17]`

:type ITA_number: integer

+ sI = Symmetry(2,b,h,I,t0)

+ # q = 1/4, r = 3/4, s= 1/2, o = 1/8

+ R200 = np.array([[-1., 0.],

+ R20y = np.array([[-1.,0.],

+ R300 = np.array([[0.,-1.],

+ Rmxx = np.array([[ 0.,-1.],

+ Rmx0 = np.array([[1., 0.],

- sI = Symmetry(2,b,h,I,t0)

- R300 = np.array([[0.0,-1.0],[1.0,-1.0]])

- R200 = np.array([[-1.0,0.0],[0.0,-1.0]])

- Rmxx = np.array([[0.0,-1.0],[-1.0,0.0]])

+ t0s = np.array([.0,.5])

+ ts0 = np.array([.5,.0])

+ tss = np.array([.5,.5])

+ Symmetry(2,b,h,R200,t0)

+ Symmetry(2,b,h,R20y,t0)

+ Symmetry(2,b,h,R20y,t0s)

+ Symmetry(2,b,h,R20y,t0),

+ Symmetry(2,b,h,R20y,t0),

+ Symmetry(2,b,h,R200,t0)

def symmetry_generator3(ITA_number,b,h):

''' Output 3D space point group symmetry generators.

- There are **230** 3D space groups.

+ There are **230** 3D space groups. The symmetry generators can

+ be found at http://cryst.ehu.es/cryst/get_gen.html.

Currently, the supported 3D space groups are::

:param ITA_number: a sequential number as given in the International Tables for Crystallography, Vol. A, allowed range `[1,17]`

:type ITA_number: integer

sI = Symmetry(3,b,h,I,t0)

# q = 1/4, r = 3/4, s= 1/2, o = 1/8

- R300z = np.array([[0.0,-1.0,0.0],[1.0,-1.0,0.0],[0.0,0.0,1.0]])

- R200z = np.array([[-1.0,0.0,0.0],[0.0,-1.0,0.0],[0.0,0.0,1.0]])

- R20y0 = np.array([[-1.0,0.0,0.0],[0.0,1.0,0.0],[0.0,0.0,-1.0]])

- Rmxxz = np.array([[0.0,-1.0,0.0],[-1.0,0.0,0.0],[0.0,0.0,1.0]])

- R2q0z = np.array([[-1.0,0.0,0.0],[0.0,-1.0,0.0],[0.0,0.0,1.0]])

- R20yq = np.array([[-1.0,0.0,0.0],[0.0,1.0,0.0],[0.0,0.0,-1.0]])

- R3xxx = np.array([[0.0,0.0,1.0],[1.0,0.0,0.0],[0.0,1.0,0.0]])

- R2xxo = np.array([[0.0,1.0,0.0],[1.0,0.0,0.0],[0.0,0.0,-1.0]])

- R2xx0 = np.array([[0.0,1.0,0.0],[1.0,0.0,0.0],[0.0,0.0,-1.0]])

- R1000 = np.array([[-1.0,0.0,0.0],[0.0,-1.0,0.0],[0.0,0.0,-1.0]])

+ R300z = np.array([[0.,-1.,0.],

+ R200z = np.array([[-1., 0.,0.],

+ R20y0 = np.array([[-1.,0., 0.],

+ Rmxxz = np.array([[ 0.,-1.,0.],

+ R2q0z = np.array([[-1., 0.,0.],

+ R20yq = np.array([[-1.,0., 0.],

+ R3xxx = np.array([[0.,0.,1.],

+ R2xxo = np.array([[0.,1., 0.],

+ R2xx0 = np.array([[0.,1., 0.],

+ R1000 = np.array([[-1., 0., 0.],

- Ts0s = np.array([0.5,0.0,0.5])

- T0ss = np.array([0.0,0.5,0.5])

- Trqq = np.array([0.75,0.25,0.25])

- Tsss = np.array([0.5,0.5,0.5])

+ Ts0s = np.array([.5,.0,.5])

+ T0ss = np.array([.0,.5,.5])

+ Trqq = np.array([.75,.25,.25])

+ Tsss = np.array([.5,.5,.5])

Symmetry(3,b,h,R300z,t0),

Symmetry(3,b,h,R200z,t0),

Symmetry(3,b,h,R200z,t0),

Symmetry(3,b,h,R20y0,t0),

Symmetry(3,b,h,R3xxx,t0),

Symmetry(3,b,h,R2q0z,Ts0s),

Symmetry(3,b,h,R20yq,T0ss),