【发布时间】:2013-05-24 18:05:05
【问题描述】:
求解此类方程组的算法是什么?
aX1 + bY1 + cZ1 = 0
aX2 + bY2 + cZ2 = 0
aX3 + bY3 + cZ3 = 0
在这种情况下,我希望求解 a、b 和 c。
【问题讨论】:
-
在 Google 的搜索栏中输入您的问题标题 逐字 会导致 Wikipedia 文章成为最佳结果。那里给出了几种算法。
求解此类方程组的算法是什么?
aX1 + bY1 + cZ1 = 0
aX2 + bY2 + cZ2 = 0
aX3 + bY3 + cZ3 = 0
在这种情况下,我希望求解 a、b 和 c。
【问题讨论】:
有多种方法,但最广为人知的两种方法是Gaussian Elimination 和Cramer's Rule。就算法而言,您可以查看 Anany Levitin 的 Introduction to the Design and Analysis of Algorithms,我知道他有一个很好的算法可以通过三次 (n^3) 运行时的高斯消除来解决,但是我不记得了。
【讨论】:
要求解线性方程组,可以使用许多不同的技术。
高斯消元法(也是高斯消元法的一种变体,称为高斯乔丹消元法法)、克莱默法则等是不同的例子用于求解线性方程组的技术。
这两种技术都利用了由方程组成的矩阵的特性。
高斯消元的时间复杂度为 O(n3),其中克莱默规则要求找到由系统中线性方程的系数形成的矩阵的逆矩阵。
链接到关于高斯消除的维基百科文章,
http://en.wikipedia.org/wiki/Gaussian_elimination
链接到关于克莱默规则的维基百科文章。
【讨论】: