Yes they are. The second averages src.data[1, 0] and src.data[2, 0]. The third averages src.data[0, 1], src.data[0, 2] and src.data[0, 3] and the last averages src.data[1, 1], src.data[1, 2]src.data[1, 3], src.data[2, 1], src.data[2, 2], src.data[2, 3]. If there is a neater way of writing this please tell me.