Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a bad bug in
unitcell
. Thish = LatticePresets.honeycomb() |> hamiltonian(hopping(1, range = 1/√3)) |> unitcell((1,-1), region = r -> abs(r[2])<10)
failed to produce a graphene nanoribbon, as it included only one vertical row of sites in a unitcell, not an armchair chain. The reason was an ugly bug in theunitcell
core functionpinvmultiple
that computes an integer matrix that is an integer multiple of the supercell pseudoinverse. That multiple was computed as the determinant of the R factor in the QR decomposition of the supercell matrixs
, but that is only actually valid if the latter is square and invertible. The (or at least one) correct multiple isdet(s's)
.Hat tip to @baggepinnen in discourse