OpenFermion icon indicating copy to clipboard operation
OpenFermion copied to clipboard

Likely error in loop construct in _multisensor.py

Open mhucka opened this issue 11 months ago • 0 comments

In the file src/openfermion/contrib/representability/_multitensor.py, lines 105-122, the index variable index is first used in a for loop, then used again in subsequent lines outside of the for loop.

for index, dual_element in enumerate(self.dual_basis):
    dcol, dval = self.synthesize_element(dual_element)
    dual_row_indices.extend([index] * len(dcol))
    dual_col_indices.extend(dcol)
    dual_data_values.extend(dval)
    inner_prod_data_values.append(float(dual_element.dual_scalar))
    bias_data_values.append(dual_element.constant_bias)
sparse_dual_operator = csr_matrix(
    (dual_data_values, (dual_row_indices, dual_col_indices)), [index + 1, self.vec_dim]
)

sparse_bias_vector = csr_matrix(
    (bias_data_values, (range(index + 1), [0] * (index + 1))), [index + 1, 1]
)

sparse_innerp_vector = csr_matrix(
    (inner_prod_data_values, (range(index + 1), [0] * (index + 1))), [index + 1, 1]
)

mhucka avatar Feb 03 '25 18:02 mhucka