Chapter 2 focused principally upon finding analytical solutions for the behaviour of carriers in heterostructures. In some cases, such as the infinite quantum well discussed in Section 2.1, it was possible to find closed-form solutions for the energies and wave functions. In other words, the solutions were expressed in terms of well-understood, simple mathematical functions (sin, cos, etc.), allowing the energies and wave functions to be calculated directly.In general, however, closed-form solutions cannot be found for anything beyond the simplest systems. Indeed, even the single finite well system in Section 2.7 has no closedform solution, and instead the solutions were found iteratively using numerical methods. This chapter begins by describing a few of these root-finding algorithms that allow solutions of a complicated mathematical function to be found.Modern semiconductor devices can contain exceedingly complex heterostructures. One example is the quantum cascade laser [1], which contains hundreds of layers of semiconductor materials with a range of different thicknesses, with the band structure being distorted by large internal and external electric fields. In such cases, it may be impossible to even determine an analytical expression to be solved for the states in the system. Instead, discrete mathematical techniques can be used to create a sampled approximation of the system which can be solved computationally. Although these methods do not provide the same direct insight into the behaviour of systems as the analytical solutions in Chapter 2, they are generally applicable and very flexible, and the same techniques can be used to describe a vast range of structures. This chapter focuses on a range of such methods and their application to more complex heterostructures.