From 8df537e975096de38bb24b7ef5aa75b470994a75 Mon Sep 17 00:00:00 2001 From: Philipp Arras Date: Wed, 15 Jul 2020 16:12:19 +0200 Subject: [PATCH] Fix constant support of EnergyAdapter Closes Issue 311 --- src/minimization/energy_adapter.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/minimization/energy_adapter.py b/src/minimization/energy_adapter.py index 284d9fab..20727b53 100644 --- a/src/minimization/energy_adapter.py +++ b/src/minimization/energy_adapter.py @@ -53,9 +53,10 @@ class EnergyAdapter(Energy): super(EnergyAdapter, self).__init__(position) self._op = op if len(constants) > 0: - dom = makeDomain({kk: vv for kk, vv in position.domain.items() - if kk in constants}) - _, self._op = op.simplify_for_constant_input(position.extract(dom)) + cstpos = position.extract_by_keys(constants) + _, self._op = op.simplify_for_constant_input(cstpos) + varkeys = set(op.domain.keys()) - set(constants) + position = position.extract_by_keys(varkeys) self._want_metric = want_metric lin = Linearization.make_var(position, want_metric) tmp = self._op(lin) -- GitLab