void Swap(int i, int j)
 {
     if (i == j)
     {
         return;
     }
     idSwap(rowPtrs[i], rowPtrs[j]);
     m.SwapColumns(i, j);
     b.SwapElements(i, j);
     lo.SwapElements(i, j);
     hi.SwapElements(i, j);
     a.SwapElements(i, j);
     f.SwapElements(i, j);
     if (boxIndex != null)
     {
         idSwap(boxIndex[i], boxIndex[j]);
     }
     idSwap(side[i], side[j]);
     idSwap(permuted[i], permuted[j]);
 }