> There is only one restriction: size1 * size2 has to fit into the size_t
> type. Thus you need at least a 64-Bit machine to address all matrix
> entries.
>
Does this restriction apply in the case of compressed_matrix?
My guess is: Yes. If you want to address something beyond the 32Bit scale, you need a size_t which is bigger than 32Bit, regardless whether your matrix actually holds more entries than can be addressed via a 32 Bit address. If you want to ask for the element at position 5*10^9, you need a variable that can hold numbers at least up to 5*10^9, which size_t on an 32 Bit hardware can't.
Cheers,
Markus