0

Python で定義されたマトリックスがあります: (ドキュメントの名前 matrix.py)

N = 4
l = N
k = N


D = np.zeros((l,k))


for i in range(0,l):   
    for j in range(0,k):
        if (i==j):
            D[i,j] = 2
        else:
            D[i,j] = 0
D[0,0] = (2*N**2+1)/6   

D[-1,-1] = -(2*N**2+1)/6  


print(D)

私はPyomoでそれを使いたいと思っていました.

import matrix 

. . .

m.f_x1 = Var(m.N)
def f_x1_definition(model,i):
    for j in m.N:
        return m.f_x1[j] ==sum(D[i,j]*m.x1[j] for j in range(value(m.n)))

m.f_x1_const = Constraint(m.N, rule = f_x1_definition)

しかし、次のエラーが発生します。 NameError: global name 'D' is not defined

どうすればいいですか?

4

1 に答える 1