def case_tensor_swap(qobj, pairs, expected_dims, expected_data=None): sqobj = tensor_swap(qobj, *pairs) assert_equal(sqobj.dims, expected_dims) if expected_data is not None: assert_equal(sqobj.data.toarray(), expected_data.data.toarray()) else: warnings.warn("tensor_contract test case without checking returned data.")
def qudit_swap(dim): # We should likely generalize this and include it in qip.gates. W = qeye([dim, dim]) return tensor_swap(W, (0, 1))