在 a 中找到一组线性独立的列米× ñm×n矩阵

计算科学 本征系统 矩阵
2021-12-07 01:38:02

我的问题是在数学、物理和信息学之间。假设我有一个可以对角化的哈密顿量(厄米特矩阵)。允许这种转换的矩阵是用我的哈密顿量的特征向量构建的酉矩阵。

现在假设我只选择n长度的第一个特征向量m. 矩阵A可以用这些特征向量构建,它的大小是m×nm>n. 特征向量是A矩阵。n特征向量当然是线性无关的。

然后,我选择n我的行A矩阵和构建B,一个新的n×n矩阵。这是逻辑B可以是这样的det(B)=0.

这是我的问题:有没有办法(如果可能,使用 Lapack)随机选择行以确保det(B)0?

2个回答

是的。只需运行n矩阵伴随的以列为中心的 QR 的步骤。您可能想查看zgeqp3

如果你表达旋转的结果QR分解为:

AHΩ=QR,
你的B矩阵将是最左边的伴随矩阵nAHΩ, 作为Ω是一个置换矩阵。

我想如果我正确理解了您的(长)问题,那么这里是它的摘要:您有一个矩阵ARn×m,n>m具有完整的列排名。我能找到一个子集吗I[1,n],|I|=m的行A是线性独立的?

如果是这样,那么这里有一个算法:从I={}并重复:

  • 如果它与前一行线性无关,则添加一个新行;
  • 如果|I|=m那么你就完成了
  • 否则,如果找不到与先前向量线性无关的新向量,则删除最后添加到索引集中的元素并添加不同的向量

这本质上是对一棵树的深度优先搜索,其终端节点代表所有m- 行的元组并尝试找到第一个包含m线性独立树,修剪那些小于m向量已经线性相关。

这可能不是一个有效的算法,但它应该适用于小型m.