Skip to content

Commit 56be860

Browse files
Harmonize assign followup (#457)
* update release notes * fix: apply assign multiindex safe to multiplication in expression
1 parent 3870e50 commit 56be860

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

doc/release_notes.rst

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
Release Notes
22
=============
33

4-
Upcoming Version
5-
----------------
4+
.. Upcoming Version
5+
.. ----------------
6+
7+
Version 0.5.4
8+
--------------
9+
610

711
**Bug Fixes**
812

linopy/base.py

Whitespace-only changes.

linopy/expressions.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -564,12 +564,8 @@ def _multiply_by_linear_expression(
564564
# multiplication: (v1 + c1) * (v2 + c2) = v1 * v2 + c1 * v2 + c2 * v1 + c1 * c2
565565
# with v being the variables and c the constants
566566
# merge on factor dimension only returns v1 * v2 + c1 * c2
567-
ds = (
568-
other.data[["coeffs", "vars"]]
569-
.sel(_term=0)
570-
.broadcast_like(self.data)
571-
.assign(const=other.const)
572-
)
567+
ds = other.data[["coeffs", "vars"]].sel(_term=0).broadcast_like(self.data)
568+
ds = assign_multiindex_safe(ds, const=other.const)
573569
res = merge([self, ds], dim=FACTOR_DIM, cls=QuadraticExpression)
574570
# deal with cross terms c1 * v2 + c2 * v1
575571
if self.has_constant:
@@ -1115,7 +1111,7 @@ def to_quadexpr(self) -> QuadraticExpression:
11151111
vars = self.data.vars.expand_dims(FACTOR_DIM)
11161112
fill_value = self._fill_value["vars"]
11171113
vars = xr.concat([vars, xr.full_like(vars, fill_value)], dim=FACTOR_DIM)
1118-
data = self.data.assign(vars=vars)
1114+
data = assign_multiindex_safe(self.data, vars=vars)
11191115
return QuadraticExpression(data, self.model)
11201116

11211117
def to_constraint(

0 commit comments

Comments
 (0)