Perhatikan bahwa tantangan ini tidak memerlukan penanganan atau pemahaman angka kompleks.
Diberikan matriks kuadrat non-kosong di mana setiap elemen adalah daftar bilangan bulat dua elemen (Re, Im), tentukan (memberikan nilai kebenaran / kepalsuan atau dua nilai yang konsisten) apakah ini merupakan matriks Hermitian.
Perhatikan bahwa input adalah array 3D bilangan bulat; bukan array 2D bilangan kompleks. Jika bahasa Anda tidak dapat mengambil larik 3D secara langsung, Anda dapat membuat daftar datar (dan bentuk n × n atau n × n × 2 jika itu membantu).
Matriks adalah Hermitian jika sama dengan transpose konjugatnya sendiri . Dengan kata lain, jika Anda membalikkannya diagonal kiri atas ke kanan bawah dan meniadakan elemen kedua dari semua daftar daun dua elemen, itu identik dengan matriks input. Perhatikan bahwa urutan membalik dan meniadakan tidak relevan, sehingga Anda dapat meniadakan terlebih dahulu, dan membalik sesudahnya.
Contoh walk-though
Contoh ini menggunakan JSON dengan ruang putih berlebihan untuk memudahkan membaca:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Transpos (balik melintasi NW — SE diagonal):
[[ [2, 0] , [2,-1] , [4, 0] ],
[ [2, 1] , [3, 0] , [0,-1] ],
[ [4, 0] , [0, 1] , [1, 0] ]]
Meniadakan elemen kedua daftar daun:
[[ [2, 0] , [2, 1] , [4, 0] ],
[ [2,-1] , [3, 0] , [0, 1] ],
[ [4, 0] , [0,-1] , [1, 0] ]]
Karena ini identik dengan input, matriksnya adalah Hermitian.
Uji kasus
Hermit
[[[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]]]
Non-Hermitian
[[[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]]]