The k.p Luttinger Hamiltonian H for bulk semiconductors considering 8 bands (cb, hh, lh, so, each twice spin degenerate) can be found in many publications and text books, all using some different definitions of the wave function at the Gamma-point, but otherwise equivalent. Let us consider the explicit bulk Hamiltonian from this page (http://www.optronicsdesign.com/en/theory/hamiltonian.php), especially the general form Eq. (5).
Next, I like to compute the band structure of quantum wells, using the "ultimate concept" (see http://journals.aps.org/prb/abstract/10.1103/PhysRevB.48.8918). I would like to know how I construct the Hamiltonian for a quantum well from the bulk Hamiltonian. Here is how I understand the approach:
(1) All k.p parameters P get z-dependent P->P(z), for example the Luttinger parameters, the bulk band edges etc.
(2) I have to replace k_z P(z) and k_z^2 P(z) by 1/2[k_z + k_z'] P(k_z-k_z') and k_z k_z' P (k_z-k_z') according to Table I. P(k_z) is the Fourier transform of P(z). The resulting Hamiltonian now depends on k_z-k_z': H=H(k_z-k_z').
(3) I now have to solve the integral equation \int_{-\infty}^\infty dk_z' H(k_z-k_z') \Phi(k_z') = E \Phi(k_z) where \Phi is a spinor containing the different bulk band components of the lattice periodic part of the wave function.
(4) Numerically, I would have to write the integral as a sum, \sum_j dk_z^(j) H(k_z^(i)-k_z^(j)) \Phi(k_z^(j)) = E \Phi(k_z^(i)) and then formulate this as a matrix times a vector, see attached figure (note that a dk should be included in the matrix). In that, a double underline means that it is the bulk 8x8 matrix from step 2, and the single underlined \Phi is a 1x8 vector containing the 8 bulk components of the lattice periodic part of the wave function. So this is a (8*num_k_z)x(8*num_k_z) matrix, when num_k_z the number of k_z points in my numerical grid is.
(5) Solve the eigenvalue problem defined by step 4 for each k_\parallel I like and I should end up with the band structure of the system.
Is this in principle correct or did I miss something?