gpt4 book ai didi

c - ANSI C + 数值线性代数 - 使用线性求解器找到给定特征值的特征向量(问题)

转载 作者:太空宇宙 更新时间:2023-11-04 01:13:00 25 4
gpt4 key购买 nike

我在 ANSI C 中使用 Householder 反射/变换编写了一个线性求解器,它在给定 A 和 b 的情况下求解 Ax=b。我想用它来查找与特征值关联的特征向量,如下所示:

(A-lambda*I)x = 0

问题是 0 vector 始终是我得到的解决方案(在有人说之前,是的,我有 100% 确定性的正确特征值)。

这是一个非常准确地说明问题的示例:

给定 A-lambda*I(示例恰好是 Hermitian):

1 2 0 | 0
2 1 4 | 0
0 4 1 | 0

Householder 的反射(reflection)/转变会产生这样的结果

# # # | 0
0 # # | 0
0 0 # | 0

反向替换会发现解决方案显然是 {0,0,0}

最佳答案

自从我写了一个特征求解器已经有一段时间了,但我似乎记得诀窍是将它从 (A - lambda*I) * x = 0 重构为 A*x = lambda*x。那么您的 Householder 或 Givens 步骤会给您类似的信息:

# # # | #
0 # # | #
0 0 1 | 1

...您可以从中进行反向替换而不会到达退化的 0 vector 。通常您还希望以规范化形式提供 x。

我的内存在这里很生锈,所以我建议检查 Golub & Van Loan为确定的答案。要让它稳健地工作,需要很多技巧,特别是对于非对称情况。

关于c - ANSI C + 数值线性代数 - 使用线性求解器找到给定特征值的特征向量(问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com