【问题标题】:Solving Ax=b where A is a large, banded, sparse matrix in MATLAB求解 Ax=b,其中 A 是 MATLAB 中的大型带状稀疏矩阵
【发布时间】:2014-08-06 14:00:09
【问题描述】:

我需要求解方程Ax = b,其中A 是一个大维矩阵但稀疏。 A 可能高达 70000 x 70000 甚至 30000,我担心!

现在A 也是一个带状矩阵,如下图所示。它由一个三对角矩阵加上上下非对角线中的元素组成。

例如:

x x 0 0 x 0 0 

x x x 0 0 x 0

0 x x x 0 0 x

0 0 x x x 0 0

x 0 0 x x x 0

0 x 0 0 x x x

0 0 x 0 0 x x

很遗憾,A 的元素没有任何模式,因为这是有限差分方案的结果。

关于如何在 MATLAB 中有效地解决这个问题有什么建议吗?

谢谢!

【问题讨论】:

标签: matlab matrix linear-algebra sparse-matrix pde


【解决方案1】:

试试pcg(),它是 MATLAB 的标准配置。

【讨论】:

  • 共轭梯度只能应用于某些类别的矩阵。具体来说:对称和正定矩阵。我们不能假设 OP 正在创建的矩阵属于此类。
  • @rayryeng:如果矩阵不是正定矩阵,那么您可以解决问题 A'Ax = A'b。
猜你喜欢
  • 1970-01-01
  • 2015-10-05
  • 2012-10-01
  • 2015-03-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 2012-12-15
  • 2016-04-19
相关资源
最近更新 更多