From 3a0f6dc04f5b98d6cc87b4bd0c20d7b388ce7b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Arnstr=C3=B6m?= Date: Sat, 28 Mar 2026 23:17:55 +0100 Subject: [PATCH] Handle scalar weights in set_objective --- src/lmpc/lmpc.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lmpc/lmpc.py b/src/lmpc/lmpc.py index d672cef..af04a35 100644 --- a/src/lmpc/lmpc.py +++ b/src/lmpc/lmpc.py @@ -59,9 +59,9 @@ def set_output_bounds(self, ymin=np.zeros(0), ymax=np.zeros(0), ks =None, soft = ks=ks, soft=soft, binary=binary, prio=prio) def set_objective(self, uids=None, Q=None, R=None ,Rr=None, S=None, Qf=None, Qfx=None): - Q = np.zeros((0,0)) if Q is None else np.array(Q) - R = np.zeros((0,0)) if R is None else np.array(R) - Rr = np.zeros((0,0)) if Rr is None else np.array(Rr) + Q = np.zeros((0,0)) if Q is None else Q if np.isscalar(Q) else np.array(Q) + R = np.zeros((0,0)) if R is None else R if np.isscalar(R) else np.array(R) + Rr = np.zeros((0,0)) if Rr is None else Rr if np.isscalar(Rr) else np.array(Rr) S = np.zeros((0,0)) if S is None else np.array(S) Qf = np.zeros((0,0)) if Qf is None else np.array(Qf) Qfx = np.zeros((0,0)) if Qfx is None else np.array(Qfx)