Plotting

Py4mulas enables two types of plotting.

Plotting band stractures

We start with some model such as defined in Complete Example

To plot the band structure along a path

from py4mulas.plotters import plot_bands
import numpy as np

path = [(0, 0), (np.pi, 0)]
labels = [r'$\Gamma$', r'$X$']
plot_bands(kmodel, path=path, path_labels=labels)

One might want to plot the bands with some operator expectation values. For instance spin density

from py4mulas.operators import SpinDensity
operator = SpinDensity(kmodel, pauli=sigma_z)
plot_bands(kmodel, path=path, path_labels=labels, operator=operator, cmap='siesmic')

It is important to note that when band structures are to be plotted the model should be provided in the cartesian momentum representaton. See py4mulas/examples/kagomeAFM.py

Plotting k-resolved quantities

One can plot the transport response of any Py4mulas formula

from py4mulas.plotters import kplot
quantity = some_formula(mu=0, temperature=0, eta=0, k_resolved=True)
kplot(kmodel, quantity, cmap='siesmic')

Generally operators are matrices, so they cannot be plotted directly. However, one can plot them when band resolved.

quantity = operator.band_resolved(n=0)
kplot(kmodel, quantity, cmap='siesmic')

The band resolved feature is only impemented for spin operators. See. SpinOperator. This should be generalized for all operators.