Главная диагональ --- это набор элементов с координатами (индексами) $(i, i)$, где $i \in [1,\ ...,\ N]$. $N$ -- размерность матрицы,
А вот как быть с транспонированием, например, трёхмерной матрицы? Какой смысл оно имеет в этом случае?
Как составить условие обмена элементов?
Примечание: вообще задача состоит в том, чтобы сделать матрицу самосопряжённой, переписать такой вот код для случая произвольной конечной размерности: