def update_sources_opt(m: Matrix, mask: Matrix, res: Matrix): """ res += {(j, j): (i, j) in m and (j, j) not in mask}""" src_vec = m.reduce_vector(desc=TransposeA) for i, _ in src_vec: if (i, i) not in mask: res[i, i] = 1
def update_sources_opt(m: Matrix, mask: Matrix, res: Matrix): """ res += {(j, j): (i, j) in m and (j, j) not in mask}""" src_vec = m.reduce_vector(BOOL.ANY_MONOID, desc=descriptor.T0) for i, _ in src_vec: if (i, i) not in mask: res[i, i] = 1