我的问题涉及一个大的矩阵,我从中提取和存储几个平方子矩阵。原始矩阵可能非常大,我可能需要存储数千个不同的子矩阵。
我只需要存储两个整数列表,即行和列的索引。例如,它可以是一个矩阵,第 1、10、22、44 行列。如果我存储所有数字,那么如果我存储个矩阵,我需要在内存中保留数字,如果可能的话,我想避免这种情况。
关于如何减少索引列表或两个索引列表的存储需求的任何想法?
非常感谢。
我的问题涉及一个大的矩阵,我从中提取和存储几个平方子矩阵。原始矩阵可能非常大,我可能需要存储数千个不同的子矩阵。
我只需要存储两个整数列表,即行和列的索引。例如,它可以是一个矩阵,第 1、10、22、44 行列。如果我存储所有数字,那么如果我存储个矩阵,我需要在内存中保留数字,如果可能的话,我想避免这种情况。
关于如何减少索引列表或两个索引列表的存储需求的任何想法?
非常感谢。
1)您可以为索引使用较小的数据类型(例如 2 字节整数)
2) 如果您知道您的子矩阵具有相同的相对索引,例如行总是类似于 (i, i+a, i+b, i+c),您只需将索引存储到元素 (1,1 )
3) 同样,如果您的子矩阵的相对索引受到限制,例如,您的行是 (a, b, c, d),其中 da < 256,您可以将索引存储到元素 (1,1),然后使用字节该元素的偏移量