Skip to content

Commit 6c75379

Browse files
author
Lachlan Grose
committed
fix: storing constraints as numpy array
1 parent 388e21f commit 6c75379

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

LoopStructural/interpolators/discrete_interpolator.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -278,19 +278,14 @@ def add_equality_constraints(self, node_idx, values, name="undefined"):
278278
idc = gi[node_idx]
279279
outside = ~(idc == -1)
280280
self.equal_constraints[name] = {
281-
"A": np.ones(idc[outside].shape[0]).tolist(),
282-
"B": values[outside].tolist(),
283-
"col": idc[outside].tolist(),
281+
"A": np.ones(idc[outside].shape[0]),
282+
"B": values[outside],
283+
"col": idc[outside],
284284
# "w": w,
285285
"row": np.arange(self.eq_const_c, self.eq_const_c + idc[outside].shape[0]),
286286
}
287287
self.eq_const_c += idc[outside].shape[0]
288-
# ,'C':np.ones(idc[outside].shape[0]).tolist(),}
289-
# self.eq_const_C.extend(np.ones(idc[outside].shape[0]).tolist())
290-
# self.eq_const_col.extend(idc[outside].tolist())
291-
# self.eq_const_row.extend((np.arange(0, idc[outside].shape[0])))
292-
# self.eq_const_d.extend(values[outside].tolist())
293-
# self.eq_const_c_ += idc[outside].shape[0]
288+
294289

295290
def add_non_linear_constraints(self, nonlinear_constraint):
296291
self.non_linear_constraints.append(nonlinear_constraint)
@@ -441,10 +436,9 @@ def build_matrix(self, square=True, damp=0.0, ie=False):
441436
# lagrange multipliers#
442437
nc = 0
443438
for c in self.equal_constraints.values():
444-
aa = (c["A"]).flatten()
445439
b.extend((c["B"]).tolist())
446440
mask = aa == 0
447-
a.extend(aa[~mask].tolist())
441+
a.extend(c["A"]).flatten()[~mask].tolist())
448442
rows.extend(c["row"].flatten()[~mask].tolist())
449443
cols.extend(c["col"].flatten()[~mask].tolist())
450444
C = coo_matrix(

0 commit comments

Comments
 (0)