'Swap, in place, columns i and j.
Examples
>>> from sympy.matrices import SparseMatrix
>>> S = SparseMatrix.eye(3); S[2, 1] = 2
>>> S.col_swap(1, 0); S
Matrix([
[0, 1, 0],
[1, 0, 0],
[2, 0, 1]])'

def col_swap(self, i, j):

    if (i > j):
        (i, j) = (j, i)
    rows = self.col_list()
    temp = []
    for (ii, jj, v) in rows:
        if (jj == i):
            self._smat.pop((ii, jj))
            temp.append((ii, v))
        elif (jj == j):
            self._smat.pop((ii, jj))
            self._smat[(ii, i)] = v
        elif (jj > j):
            break
    for (k, v) in temp:
        self._smat[(k, j)] = v
