Hi Srilok,
Firstly, kwant.qsymm works on builders, so you shouldn't finalize the
system. Furthermore, you shouldn't apply wraparound to the system
(qsymm requires the original symmetry). After you fix these two
things, qsymm will work on your system.
Best,
Anton
On Tue, Mar 19, 2019 at 12:35 AM Srilok Srinivasan
Dear kwant developers,
I am currently testing the new feature of kwant 1.4 - the interface with qsymm library.
kag_lat = kwant.lattice.kagome() kagome = kwant.Builder(kwant.TranslationalSymmetry(*kag_lat.prim_vecs)) kagome[kag_lat.shape((lambda pos: True), (0, 0))] = 0 kagome[kag_lat.neighbors(1)] = 1 kwant.plot(kagome,site_color=family_color,site_lw=0.01) kagome = wraparound(kagome).finalized() #dispersion_2D(kag_lat,kagome) import kwant.qsymm kwant.qsymm.find_builder_symmetries(kagome)
When I try to find the symmetries of the kagome lattice using the find_builder_symmetries I get the following error. Can you please help me fix this?
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-10-b70a7b7c1860> in <module> 7 #dispersion_2D(kag_lat,kagome) 8 import kwant.qsymm ----> 9 kwant.qsymm.find_builder_symmetries(kagome)
/anaconda3/lib/python3.6/site-packages/kwant/qsymm.py in find_builder_symmetries(builder, momenta, params, spatial_symmetries, prettify, sparse) 449 450 ham = builder_to_model(builder, momenta=momenta, --> 451 real_space=False, params=params) 452 453 # Use dense or sparse computation depending on Hamiltonian size
/anaconda3/lib/python3.6/site-packages/kwant/qsymm.py in builder_to_model(syst, momenta, real_space, params) 153 # translation vectors. 154 if dim == 0: --> 155 proj = np.empty((0, len(list(syst.sites())[0].pos))) 156 elif dim < len(list(syst.sites())[0].pos): 157 proj, r = la.qr(np.array(periods).T, mode='economic')
TypeError: 'tuple' object is not callable
Thanks
Regards,
Srilok Srinivasan