I have 3 numpy arrays A, B and C. For simplicity, let's assume that they are all of shape [n, n]. I want to arrange them as a block matrix
A B
B^t C
where B^t shall denote the transpose of B. Of course, I could do this via a series of concatenations
top_row = np.concatenate([A, B], axis=1)
bottom_row = np.concatenate([B.transpose(), C], axis=1)
result = np.concatenate([top_row, bottom_row], axis=0)
Is there a simpler, more readable way?