  If g and h are functions over some field, we can consider their composition f
= g(h). The inverse problem is decomposition: given f, determine the ex-
istence of such functions g and h. In this thesis we consider functional decom-
positions of univariate and multivariate polynomials, and rational functions
over a field F of characteristic p. In the polynomial case, "wild" behaviour
occurs in both the mathematical and computational theory of the problem if p
divides the degree of g. We consider the wild case in some depth, and deal with
those polynomials whose decompositions are in some sense the "wildest": the
additive polynomials. We determine the maximum number of decompositions and
show some polynomial time algorithms for certain classes of polynomials with
wild decompositions. For the rational function case we present a definition of
the problem, a normalised version of the problem to which the general problem
reduces, and an exponential time solution to the normal problem.
