added is_hermitian() function