I'm solving by 4x4 Rubik's cube (aka Rubik's revenge) by reducing it to a 3x3. However, I keep finding that once I've got all the edge pieces paired together I've accidentally moved the centre pieces around, so that they're in places that don't correspond to their positions on a 3x3 cube.
To solve this, I need algorithms to do the following two things:
swap two opposite centres
swap two adjacent centres
The first is fairly easy to find online but the second is what I really need. (I'm asking for both so that future visitors will have both in one place.)
I don't need the algorithm to leave the edge or corner pieces invariant, as long as it doesn't split up the edge pieces that I've already paired.