shortening and finding hoppings
shortening function should take discretized output from one summand (unique family of hoppings and onsites coming from terms like in example kx A(x) kx or kx ky A(x,y))
So input to the function should be sympy expression Output should contain shortened hopping. Output form is up to decide: not more sophisticated than tuple, list, dict or sympy expressions though
md contains examples of input for this function
Note: please check when I add (1/a)**n
in discretization process and change it to add (1/a)**nx * (1/a)**ny * (1/a)**nz
where nx, ny and nz are powers of kx, ky, kz in current operator that performs derivation.