Sub Ex_Zhbgv()
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 Zhbgv("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