Another question: I want to apply an arbitrary permutation to the rows of a DistMatrix. It seems this is done with the DistPermutation class, and I must explicitly factorize the permutation into a product of transpositions, then use the DistPermutation.swap function to update the permutation, then use DistPermutation.permuteRows. Is that accurate, or is there a way to avoid manually factorizing the transposition?