Using symmetries III

It is more efficient to use two-dimensional array data structures, where the first index refers to the channel number and the second refers to the element within that channel. So to access matrix elements or \( t \) amplitudes, you can loop over the channels first, then the indices within that channel. To get an idea of the savings using this block diagonal structure, let's look at a case with a plane wave basis, with three momentum and one spin quantum numbers, with an interaction that conserves linear momentum in all three dimensions, as well as the total spin projection. Using 502 basis states, the TBME's require about 0.23 Gb of memory in block diagonal form, which is an enormous saving from the 500 Gb mentioned earlier in the na\"ive storage scheme.