numPy Самосопряжённая (эрмитова) матрица, получение из обычной -- пример кода

Предположим, что вы получили двумерную комплексную матрицу, давайте теперь сделаем её самосопряжённой (эрмитовой), для этого достаточно написать:

for (i,j), matrixElement in np.ndenumerate(self.mtx):  # сразу по строкам и столбцам
	if j > i: # если это половина над главной диагональю (делаем отражение относитлеьно главной диагонали)
		self.mtx[j, i] = matrixElement.real +  matrixElement.imag * self.randSign() * 1j
	elif j == i:  # если это главная диагональ
		 self.mtx[i, i] = matrixElement.real # оставялем только вещественную часть