Tenga en cuenta que este desafío no requiere manejo o comprensión de números complejos.
Dada una matriz cuadrada no vacía donde cada elemento es una lista entera de dos elementos (Re, Im), determine (dando cualquier valor verdadero / falso o cualquiera de los dos valores consistentes) si esto representa una matriz hermitiana.
Tenga en cuenta que la entrada es una matriz 3D de enteros; no una matriz 2D de números complejos. Si su idioma no puede tomar una matriz 3D directamente, puede tomar una lista plana (y la forma n × n o n × n × 2 si eso ayuda).
Una matriz es hermitiana si es igual a su propia transposición conjugada . En otras palabras, si lo voltea sobre su diagonal superior izquierda a inferior derecha y niega el segundo elemento de todas las listas de hojas de dos elementos, es idéntico a la matriz de entrada. Tenga en cuenta que el orden de voltear y negar es irrelevante, por lo que puede negar primero y voltear después.
Ejemplo de recorrido
Este ejemplo usa JSON con espacios en blanco superfluos para facilitar la lectura:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Transposición (voltear a través de NW-SE diagonal):
[[ [2, 0] , [2,-1] , [4, 0] ],
[ [2, 1] , [3, 0] , [0,-1] ],
[ [4, 0] , [0, 1] , [1, 0] ]]
Negar los segundos elementos de las listas de hojas:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Como esto es idéntico a la entrada, la matriz es hermitiana.
Casos de prueba
Ermitaño
[[[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]]]
No ermitaño
[[[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]]]