Обратите внимание, что эта задача не требует обработки или понимания комплексных чисел.
Учитывая непустую квадратную матрицу, где каждый элемент является двухэлементным (Re, Im) целочисленным списком, определите (давая любые значения истинности / ложности или любые два непротиворечивых значения), представляет ли это эрмитову матрицу.
Обратите внимание, что входные данные являются трехмерным массивом целых чисел; не двумерный массив комплексных чисел. Если ваш язык не может взять трехмерный массив напрямую, вы можете взять плоский список (и форму n × n или n × n × 2, если это поможет).
Матрица является эрмитовой, если она равна собственной сопряженной транспонировании . Другими словами, если вы перевернете его по диагонали от верхнего левого до нижнего правого и отрицаете второй элемент всех двухэлементных листовых списков, он будет идентичен входной матрице. Обратите внимание, что порядок переворота и отрицания не имеет значения, поэтому вы можете сначала отрицать, а потом перевернуть.
Пройти хотя бы пример
Этот пример использует JSON с лишним пробелом для облегчения чтения:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Транспонировать (перевернуть NW — SE диагональ):
[[ [2, 0] , [2,-1] , [4, 0] ],
[ [2, 1] , [3, 0] , [0,-1] ],
[ [4, 0] , [0, 1] , [1, 0] ]]
Отрисуем вторые элементы лист-списков:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Поскольку это идентично вводу, матрица является эрмитовой.
Контрольные примеры
эрмитова
[[[2,0],[2,1],[4,0]],[[2,-1],[3,0],[0,1]],[[4,0],[0,-1],[1,0]]]
[[[1,0],[2,0]],[[2,0],[1,0]]]
[[[1,0],[2,-3]],[[2,3],[1,0]]]
[[[42,0]]]
Неэрмитовых
[[[2,0],[2,1],[4,0]],[[2,-1],[3,0],[0,1]],[[4,0],[0,-1],[1,-1]]]
[[[0,1],[0,2]],[[0,2],[0,1]]]
[[[1,0],[2,3]],[[2,3],[1,0]]]
[[[3,2]]]