Packages for Symbolic Mathematics
There are many Wolfram Language packages that implement symbolic mathematical operations. Here are a few examples drawn from the standard set of packages distributed with the Wolfram System. As discussed in "Wolfram Language Packages", some copies of the Wolfram Language may be set up so that the functions described here are automatically loaded into the Wolfram Language if they are ever needed.
load the variational methods package
find the variational derivative of f
load the quaternions package
the quaternion a+bi+cj+dk