The momentum matrix elements is available as a low level entity in QuantumATK and can be accesses in the following way:
"
p_matrix = calculateMomentumMatrixElements(
configuration,
kpoint=None,
number_of_states=None):
"
The function calculates the momentum matrix elements for a bulk configuration at a specified k-point (fractional).
The x-component of the momentum matrix elements is defined as
p_nm(k) = <mk | -i * hbar * d/dx | nk>,
where |nk> is a Bloch state in band 'n' at the k-point 'k', and likewise for the y- and z-components.
For Unpolarized, Noncolliner and Spin-orbit calculations, each matrix has a shape (3, *N*, *N*), where *N* is the number of bands included.
For Polarized calculations, the shape is (2, 3, *N*, *N*) with the first index corresponding to Spin.Up and Spin.Down.