如何在Matlab中计算大型稀疏矩阵的零点?

如何在Matlab中计算大型稀疏矩阵的零点?,matlab,null,sparse-matrix,Matlab,Null,Sparse Matrix,我在Matlab中有一个矩阵问题。 我有一个1百万x 1百万稀疏矩阵,我一直使用null。通常,问题是我的内存不足。我尝试了svd(用于稀疏矩阵的svd),但我的问题是内存也用完了。对于Matlab中的null()函数,是否有可能解决大型稀疏矩阵的问题 通常,矩阵的零空间,或奇异值分解的酉矩阵(U和V),即使输入矩阵是稀疏的,也不是稀疏的。因此,如果您尝试使用1M×1M矩阵,即使它是稀疏的,操作的输出也不是,因此内存不足 你能做什么? 如果您的输入矩阵有某种结构(除了稀疏性),您可能会找到一些代

我在Matlab中有一个矩阵问题。

我有一个1百万x 1百万稀疏矩阵,我一直使用
null
。通常,问题是我的内存不足。我尝试了
svd
(用于稀疏矩阵的
svd
),但我的问题是内存也用完了。对于Matlab中的
null()
函数,是否有可能解决大型稀疏矩阵的问题

通常,矩阵的零空间,或奇异值分解的酉矩阵(
U
V
),即使输入矩阵是稀疏的,也不是稀疏的。因此,如果您尝试使用1M×1M矩阵,即使它是稀疏的,操作的输出也不是,因此内存不足

你能做什么?
如果您的输入矩阵有某种结构(除了稀疏性),您可能会找到一些代数方法来利用这种结构。

你应该考虑的另一条路径是,为什么需要计算矩阵的零空间?在不明确估计零空间的情况下,能否实现相同的目标

通常,矩阵的零空间,或奇异值分解的酉矩阵(
U
V
),即使输入矩阵是稀疏的,也不是稀疏的。因此,如果您尝试使用1M×1M矩阵,即使它是稀疏的,操作的输出也不是,因此内存不足

你能做什么?
如果您的输入矩阵有某种结构(除了稀疏性),您可能会找到一些代数方法来利用这种结构。

你应该考虑的另一条路径是,为什么需要计算矩阵的零空间?在不明确估计零空间的情况下,能否实现相同的目标

添加一个有助于您的结构示例:拥有一个块对角矩阵将允许您将问题拆分为几个较小的问题,从而允许您在那里计算空空格good!稀疏矩阵中每个元素的大小大约是双精度矩阵大小的3倍。我该如何创建块对角呢?添加一个结构示例来帮助您:拥有一个块对角矩阵将允许您将问题拆分为几个较小的问题,从而允许您计算零空格good!稀疏矩阵中每个元素的大小大约是双精度矩阵大小的3倍。我如何创建块对角?一个可能更好的问题是如何在Matlab中处理内存,以便我们可以添加物理RAM或虚拟内存?一个可能更好的问题是如何在Matlab中处理内存,以便我们可以添加物理内存RAM还是虚拟内存?