  This work presents a new algorithm to compute the matrix exponential within a
given tolerance. Combined with the scaling and squaring procedure, the
algorithm incorporates Taylor, partitioned and classical Pad\'e methods shown
to be superior in performance to the approximants used in state-of-the-art
software. The algorithm computes matrix--matrix products and also matrix
inverses, but it can be implemented to avoid the computation of inverses,
making it convenient for some problems. If the matrix A belongs to a Lie
algebra, then exp(A) belongs to its associated Lie group, being a property
which is preserved by diagonal Pad\'e approximants, and the algorithm has
another option to use only these. Numerical experiments show the superior
performance with respect to state-of-the-art implementations.
