Sub EX_Dggglm()
Const M = 3, N = 4, P = 4
Dim A(N - 1, M - 1) As Double, B(N - 1, P - 1) As Double
Dim C(M - 1) As Double, D(P - 1) As Double
Dim X(M - 1) As Double, Y(P - 1) As Double
Dim S As Double, Info As Long
A(0, 0) = -1.06: A(0, 1) = 0.48: A(0, 2) = -0.04
A(1, 0) = -1.19: A(1, 1) = 0.73: A(1, 2) = -0.24
A(2, 0) = 1.97: A(2, 1) = -0.89: A(2, 2) = 0.56
A(3, 0) = 0.68: A(3, 1) = -0.53: A(3, 2) = 0.08
B(0, 0) = 1: B(0, 1) = 0: B(0, 2) = 0: B(0, 3) = 0
B(1, 0) = 0: B(1, 1) = 1: B(1, 2) = 0: B(1, 3) = 0
B(2, 0) = 0: B(2, 1) = 0: B(2, 2) = 1: B(2, 3) = 0
B(3, 0) = 0: B(3, 1) = 0: B(3, 2) = 0: B(3, 3) = 1
D(0) = 0.3884: D(1) = 0.112: D(2) = -0.3644: D(3) = -0.0002
Call Dggglm(N, M, P, A(), B(), D(), X(), Y(), Info)
S = Dnrm2(P, Y(0))
Debug.Print "X =", X(0), X(1), X(2)
Debug.Print "SumSq =", S, "Info =", Info
End Sub