  The method of differential equations has been proven to be a powerful tool
for the computation of multi-loop Feynman integrals appearing in quantum field
theory. It has been observed that in many instances a canonical basis can be
chosen, which drastically simplifies the solution of the differential equation.
In this paper, an algorithm is presented that computes the transformation to a
canonical basis, starting from some basis that is, for instance, obtained by
the usual integration-by-parts reduction techniques. The algorithm requires the
existence of a rational transformation to a canonical basis, but is otherwise
completely agnostic about the differential equation. In particular, it is
applicable to problems involving multiple scales and allows for a rational
dependence on the dimensional regulator. It is demonstrated that the algorithm
is suitable for current multi-loop calculations by presenting its successful
application to a number of non-trivial examples.
