  We develop all of the components needed to construct an adaptive finite
element code that can be used to approximate fractional partial differential
equations, on non-trivial domains in $d\geq 1$ dimensions. Our main approach
consists of taking tools that have been shown to be effective for adaptive
boundary element methods and, where necessary, modifying them so that they can
be applied to the fractional PDE case. Improved a priori error estimates are
derived for the case of quasi-uniform meshes which are seen to deliver
sub-optimal rates of convergence owing to the presence of singularities.
Attention is then turned to the development of an a posteriori error estimate
and error indicators which are suitable for driving an adaptive refinement
procedure. We assume that the resulting refined meshes are locally
quasi-uniform and develop efficient methods for the assembly of the resulting
linear algebraic systems and their solution using iterative methods, including
the multigrid method. The storage of the dense matrices along with efficient
techniques for computing the dense matrix vector products needed for the
iterative solution is also considered. The performance and efficiency of the
resulting algorithm is illustrated for a variety of examples.
