Sub Ex_Zgbtrf()
Const N = 3, Kl = 1, Ku = 1
Dim Ab(2 * Kl + Ku, N - 1) As Complex, B(N - 1) As Complex, IPiv(N - 1) As Long
Dim ANorm As Double, RCond As Double, Info As Long
Ab(1, 1) = Cmplx(0.2, -0.11): Ab(1, 2) = Cmplx(-0.93, -0.32)
Ab(2, 0) = Cmplx(0.81, 0.37): Ab(2, 1) = Cmplx(-0.8, -0.92): Ab(2, 2) = Cmplx(-0.29, 0.86)
Ab(3, 0) = Cmplx(0.64, 0.51): Ab(3, 1) = Cmplx(0.71, 0.59)
B(0) = Cmplx(-0.0484, 0.2644): B(1) = Cmplx(-0.2644, -1.0228): B(2) = Cmplx(-0.5299, 1.5025)
ANorm = Zlangb("1", N, Kl, Ku, Ab(), , Kl)
Call Zgbtrf(N, N, Kl, Ku, Ab(), IPiv(), Info)
If Info = 0 Then Call Zgbtrs("N", N, Kl, Ku, Ab(), IPiv(), B(), Info)
If Info = 0 Then Call Zgbcon("1", N, Kl, Ku, Ab(), IPiv(), ANorm, RCond, Info)
Debug.Print "X =",
Debug.Print Creal(B(0)), Cimag(B(0)), Creal(B(1)), Cimag(B(1)), Creal(B(2)), Cimag(B(2))
Debug.Print "RCond =", RCond
Debug.Print "Info =", Info
End Sub