Dear all, as is explained in https://kwant-project.org/doc/dev/tutorial/superconductors the conservation law argument in Builder (e.g. a lead) is conservation_law=-tau_z with eigenvalues -1 and 1 yields scattering states of electron and hole type, respectively. This leads to a block form of the scattering matrix. One can also get the electron and hole projectors as (projector_e, projector_h) = lead.discrete_symmetry().projectors In presence of spin (described by sigma matrices) and a magnetic field (giving rise to a Zeeman term) we could have a conservation law of the following form conservation_law=np.kron(-tau_z,-sigma_z) where the Hamiltonian is written in the Nambu basis (e up, e down, h up, -h down). Eigenvalues of this conservation law are now 1,-1,1,-1, which are degenerate. Question 1: How can one resolve the four-by-four block structure of the scattering matrix in the electron-hole ⊗ spin up-down space? Question 2: How can one get the four projectors? I am looking for something like: (projector_e_up, projector_e_down, projector_h_up, projector_h_down) = lead.discrete_symmetry().projectors