If I have two numpy array of shape (N, 3) like
array1 = np.array([[x1, y1, 1],
........
[xn, yn, 1]])
array2 = np.array([[u1, v1, 1],
........
[un, vn, 1]])
I want
A = np.array([[x1 * u1, x1 * v1, x1, y1 * u1, y1 * v1, y1, u1, v1, 1],
.........
[xn * un, xn * vn, xn, yn * un, yn * vn, yn, un, vn, 1]]
How should I do it without using for loops to iterate through?