Describe the feature
Right now the Bloch-expansion algorithms copy everything out to the entire matrices, however,
they could be copied around at the end instead of at every bloch-call which isn't really necessary.
This would greatly increase the performance, and should be implemented using the BTD matrices.
The BTD matrices should them be generalized to have their own dimensions. So there are indices for each dimension.
I.e. a 3D matrix has x, y, z dimensions of the block-indices.