Hi, I’ve found a bug in add_site_family(), the input for other_vectors should
be a list, but I used a tulpe, the error message I got is not correct.
You say that you use a tuple as the parameter `other_vectors` for the `add_site_family` function. When I look at your code I see the following:
sym_lead.add_site_family(a, other_vectors=(1, -2))
While this certainly produces an error, it is not because you have used a tuple; the following also produces the same error: sym_lead.add_site_family(a, other_vectors=[1, -2]) (I use a list instead of a tuple for `other_vectors`). The reason this produces an error is because you have passed a sequence of *integers*, whereas the documentation states: other_vectors : list of lists of integers http://kwant-project.org/doc/1.0/reference/generated/kwant.lattice.Translati... i.e. you need to pass a **sequence of sequences of integers**. For your case where you only wish to add a single vector (because 2D) you should do the following: sym_lead.add_site_family(a, other_vectors=[ [1, -2] ]) Note I have passed a list containing a single element, where that single element is itself a list of integers. You are not limited to using lists, you could equivalently use tuples: sym_lead.add_site_family(a, other_vectors=( (1, -2), )) (note the comma which denotes a tuple with a single element), or you could use a mix of the two. It is true that the documentation should specify a **sequence of sequences of integers** rather than a **list of lists of integers**, as the former is more general, however I think in the context it is clear. Hope this clarifies a bit, Joe