  We calculate the electronic wave-function for a phosphorus donor in silicon
by numerical diagonalisation of the donor Hamiltonian in the basis of the pure
crystal Bloch functions. The Hamiltonian is calculated at discrete points
localised around the conduction band minima in the reciprocal lattice space.
Such a technique goes beyond the approximations inherent in the effective-mass
theory, and can be modified to include the effects of altered donor impurity
potentials, externally applied electro-static potentials, as well as the
effects of lattice strain. Modification of the donor impurity potential allows
the experimentally known low-lying energy spectrum to be reproduced with good
agreement, as well as the calculation of the donor wavefunction, which can then
be used to calculate parameters important to quantum computing applications.
