def bmask(i_out, i_in): cout_idx = np.expand_dims(np.arange(Cout) % 3 == i_out, 1) cin_idx = np.expand_dims(np.arange(Cin) % 3 == i_in, 0) a1, a2 = np.broadcast_arrays(cout_idx, cin_idx) return a1 * a2