Irregular lattice site removing doubt
Posted: 02 Jun 2020, 18:38
In the new released you updated the Irregular lattice site where one can remove some sites. I read the documentation but did not understood how to specify the sites which one wants to remove. I considered Toric code model(L_x=3,L_y=3) and wanted to remove all sites(18,19,20,21,22,23) which are not shown in Image of Dual square lattice. Below I am writing the interaction term which code provides.
Lets say I don't want all the last six interaction term in my model which can be done by removing sites(i>=18).
Below I am attaching the example code, where I do not understand how to provide the 2 D array of lattice sites whch I wants to remove.
Code: Select all
1.00000 * Sigmaz_0 Sigmaz_3 Sigmaz_4 Sigmaz_6 +
1.00000 * Sigmaz_1 Sigmaz_4 Sigmaz_5 Sigmaz_7 +
1.00000 * Sigmaz_2 Sigmaz_3 Sigmaz_5 Sigmaz_8 +
1.00000 * Sigmax_3 Sigmax_6 Sigmax_8 Sigmax_9 +
1.00000 * Sigmax_4 Sigmax_6 Sigmax_7 Sigmax_10 +
1.00000 * Sigmax_5 Sigmax_7 Sigmax_8 Sigmax_11 +
1.00000 * Sigmaz_6 Sigmaz_9 Sigmaz_10 Sigmaz_12 +
1.00000 * Sigmaz_7 Sigmaz_10 Sigmaz_11 Sigmaz_13 +
1.00000 * Sigmaz_8 Sigmaz_9 Sigmaz_11 Sigmaz_14 +
1.00000 * Sigmax_9 Sigmax_12 Sigmax_14 Sigmax_15 +
1.00000 * Sigmax_10 Sigmax_12 Sigmax_13 Sigmax_16 +
1.00000 * Sigmax_11 Sigmax_13 Sigmax_14 Sigmax_17 +
1.00000 * Sigmaz_12 Sigmaz_15 Sigmaz_16 Sigmaz_18 +
1.00000 * Sigmaz_13 Sigmaz_16 Sigmaz_17 Sigmaz_19 +
1.00000 * Sigmaz_14 Sigmaz_15 Sigmaz_17 Sigmaz_20 +
1.00000 * Sigmax_15 Sigmax_18 Sigmax_20 Sigmax_21 +
1.00000 * Sigmax_16 Sigmax_18 Sigmax_19 Sigmax_22 +
1.00000 * Sigmax_17 Sigmax_19 Sigmax_20 Sigmax_23
Lets say I don't want all the last six interaction term in my model which can be done by removing sites(i>=18).
Below I am attaching the example code, where I do not understand how to provide the 2 D array of lattice sites whch I wants to remove.
Code: Select all
def init_lattice(self, model_params):
site = self.init_sites(model_params)
Lx = model_params.get('Lx', 2)
Ly = model_params.get('Ly', 2)
order = model_params.get('order', 'default')
bc_MPS = model_params.get('bc_MPS', 'infinite')
bc_x = 'periodic' if bc_MPS == 'infinite' else 'open'
bc_x = model_params.get('bc_x', bc_x)
bc_y = model_params.get('bc_y', 'periodic')
assert bc_y in ['open', 'periodic']
bc = [bc_x, bc_y]
lat = IrregularLattice(DualSquare(Lx, Ly, site, order=order, bc=bc, bc_MPS=bc_MPS),remove=[......])
return lat