Sub Ex_Zhbgvd()
Const N = 3, Ka = 1, Kb = 1
Dim AB(Ka, N - 1) As Complex, Bb(Kb, N - 1) As Complex
Dim W(N - 1) As Double, Z(N - 1, N - 1) As Complex, Info As Long
AB(0, 0) = Cmplx(0.2): AB(0, 1) = Cmplx(-0.32): AB(0, 2) = Cmplx(-0.29)
AB(1, 0) = Cmplx(-0.11, -0.93): AB(1, 1) = Cmplx(-0.8, -0.92)
Bb(0, 0) = Cmplx(2.2): Bb(0, 1) = Cmplx(2.32): Bb(0, 2) = Cmplx(2.29)
Bb(1, 0) = Cmplx(-0.11, -0.93): Bb(1, 1) = Cmplx(-0.8, -0.92)
Call Zhbgvd("V", "L", N, Ka, Kb, AB(), Bb(), W(), Z(), Info)
Debug.Print "Eigenvalues =", W(0), W(1), W(2)
Debug.Print "Eigenvectors ="
Debug.Print Creal(Z(0, 0)), Cimag(Z(0, 0)), Creal(Z(0, 1)), Cimag(Z(0, 1))
Debug.Print Creal(Z(1, 0)), Cimag(Z(1, 0)), Creal(Z(1, 1)), Cimag(Z(1, 1))
Debug.Print Creal(Z(2, 0)), Cimag(Z(2, 0)), Creal(Z(2, 1)), Cimag(Z(2, 1))
Debug.Print Creal(Z(0, 2)), Cimag(Z(0, 2))
Debug.Print Creal(Z(1, 2)), Cimag(Z(1, 2))
Debug.Print Creal(Z(2, 2)), Cimag(Z(2, 2))
Debug.Print "Info =", Info
End Sub