You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We should provide users with a simple interface for transformation eigenmodes.
Sometimes an analysis requires us rotate or mirror an eigenmode (eg studying symmetry eigenvalues) or to shift it by a reciprocal lattice vector in k-space (we already do this when calculating 'open' Wilson loops that begin and end at same k-point, but in different Brillouin zones).
The user should define the transformation with a k_map(k).
For example, inversion and a shift by a lattice vector would be k_map(k) = -k + b1
transform(mode, k_map) should return a new Mode where
new_mode.basis == old_mode.basis
new_mode.k0 == k_map(old_mode.k0)
new_mode.data[i_] = old_mode.data[i] where the data has been rearranged such that...
We should provide users with a simple interface for transformation eigenmodes.
Sometimes an analysis requires us rotate or mirror an eigenmode (eg studying symmetry eigenvalues) or to shift it by a reciprocal lattice vector in k-space (we already do this when calculating 'open' Wilson loops that begin and end at same k-point, but in different Brillouin zones).
The user should define the transformation with a
k_map(k)
.For example, inversion and a shift by a lattice vector would be
k_map(k) = -k + b1
transform(mode, k_map)
should return a newMode
wherenew_mode.basis == old_mode.basis
new_mode.k0 == k_map(old_mode.k0)
new_mode.data[i_]
=old_mode.data[i]
where the data has been rearranged such that...k_map([basis.kxs[i_], basis.kyx[i_]]) == [basis.kxs[i], basis.kys[i]]
transform(mode, k_map)
can then replace theshift_k0
function used bywilson_loop_matrix
, as well as be used in other applicationsThe text was updated successfully, but these errors were encountered: