What is the most efficient way to construct large block matrices in Mathematica?
Inspired by Mike Bantegui's question on constructing a matrix defined as a recurrence relation, I wonder if there is any general guidance that could be given on setting up large block matrices in the least computation time. In my experience, constructing the blocks and then putting them together can be quite inefficient (thus my answer was actually slower than Mike's original code). Join and possibly ArrayFlatten are possibly less efficient than they could be. Obviously if the matrix is sparse, one can use SparseMatrix constructs, but there will be times when the block matrix you are