triqs.lattice.utils.k_space_path

triqs.lattice.utils.k_space_path(segments, num=101, bz=None, relative_coordinates=True)[source]

Generate an array of k-vectors along a path defined by a list of pairs of k-vectors.

Parameters:
segmentslist of pairs of three-vectors of floats

List of pairs of k-vectors in reciprocal units to create a path in between.

numint, default 101

Number of k-vectors along each segment of the overall path.

bzBrillouinZone, optional

When a Brillouin Zone is passed, distances are computed in absolute units.

relative_coordinatesbool, default True

Return k-vectors in reciprocal units.

Returns:
kvecsnumpy.ndarray

Two-dimensional array of shape (len(segments) * num, 3) containing the path vectors (in reciprocal units by default) as rows.

distnumpy.ndarray

One-dimensional array of shape (kvecs.shape[0],) containing the distance travelled along the path for each element of kvecs. Useful for plotting. If bz is provided, the distance is in absolute units.

ticksnumpy.ndarray

One-dimensional array of shape (len(segments) + 1,) with tick points (distances at the interfaces between segments, including the initial and final distance).