diff --git a/pygsti/models/cloudnoisemodel.py b/pygsti/models/cloudnoisemodel.py index e6aefe8a7..74ace9bf9 100644 --- a/pygsti/models/cloudnoisemodel.py +++ b/pygsti/models/cloudnoisemodel.py @@ -708,6 +708,7 @@ def _layer_component_cloudnoises(self, model, complbl_list, cache): else: for complbl in complbl_list: + complbl = complbl.strip_args() if complbl.collect_args() else complbl if complbl in cache: ret.append(cache[complbl]) # caches['cloudnoise-layers'] would hold "simplified" instrument members elif complbl in model.operation_blks['cloudnoise']: diff --git a/pygsti/models/modelnoise.py b/pygsti/models/modelnoise.py index 1f5ed5158..f0e58c989 100644 --- a/pygsti/models/modelnoise.py +++ b/pygsti/models/modelnoise.py @@ -537,7 +537,7 @@ def apply_errormap_stencil(self, stencil, evotype, state_space, target_labels=No # `None` in list signals a non-present direction => skip these terms sslbls_list = list(filter(lambda x: x is not None, sslbls_list)) for sslbls in sslbls_list: - op_to_embed = local_errormap if (sslbls is None or state_space.is_entire_space(sslbls)) \ + op_to_embed = local_errormap if (sslbls is None) \ else _op.EmbeddedOp(state_space, sslbls, local_errormap) embedded_errmaps.append(op_to_embed.copy() if copy else op_to_embed) diff --git a/pygsti/objectivefns/objectivefns.py b/pygsti/objectivefns/objectivefns.py index e97c7829d..b125d7727 100644 --- a/pygsti/objectivefns/objectivefns.py +++ b/pygsti/objectivefns/objectivefns.py @@ -4716,6 +4716,7 @@ def _hessian_from_block(self, hprobs, dprobs12, probs, element_slice, counts, to firsts, indicesWithOmitted = zip(*([(iel - element_slice.start, ic) for (iel, ic) in zip(self.firsts, self.indicesOfCircuitsWithOmittedData) if element_slice.start <= iel < element_slice.stop])) + firsts = list(firsts) #Allocate these above? Need to know block sizes of dprobs12 & hprobs... dprobs12_omitted_rowsum = _np.empty((len(firsts),) + dprobs12.shape[1:], 'd')