let mut columns: Vec<IndexedSet<L::Value>> = (0..num_positions).map(|_| IndexedSet::new()).collect();
let initial_state = manager.with_manager_shared(|m| LDDFunction::singleton(m, &initial_vector))?;
let mut read_indices: Vec<Value> = summand.read_positions().iter().map(|&p| p as Value).collect();
let mut write_indices: Vec<Value> = summand.write_positions().iter().map(|&p| p as Value).collect();
let mut columns: Vec<IndexedSet<L::Value>> = (0..initial_values.len()).map(|_| IndexedSet::new()).collect();