tiltedhamiltonianX[nwells_ /; EvenQ@nwells, theta_] :=
Module[{size = nwells, centre = nwells/2, bdiag, boffdiag},
boffdiag = Table[-.5, {size - 2}];
bdiag = RandomReal[99, size - 1] (* substitute for v *);
SparseArray[{Band[{1, 1}] -> bdiag, Band[{1, 2}] -> boffdiag,
Band[{2, 1}] -> boffdiag}, {size - 1, size - 1}]]
tiltedhamiltonianMrW[nwells_ /; EvenQ@nwells, theta_] :=
Module[{size = nwells, centre = nwells/2, bdiag, boffdiag},
boffdiag = SparseArray@ConstantArray[-0.5, size - 2];