随笔 - 68  文章 - 57  trackbacks - 0
<2010年4月>
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

常用链接

留言簿(8)

随笔分类(74)

随笔档案(68)

搜索

  •  

最新评论

阅读排行榜

评论排行榜

  高斯消元法用于求解线性方程组,采用选主元的方法,算法复杂度O(N ^ 3)。相应的题型一种是在实数域进行求解,一种是在整数域求解,一般涉及到取模。实数域的求解比较简单,整数域需要注意几个问题。模p一定是素数,因为不是素数的话求解的时候可能会出现多个解,处理起来比较麻烦。一个特殊的情况是模2域下的求解,可以采用位运算优化。还有一点要注意的是在最开始构造系数矩阵和增广矩阵的时候,一定要先模p,否则选主元的时候一些模p为0的系数会被误选。
  高斯消元法另一个需要讨论的地方就是解的情况。分为无解、唯一解和无穷解。这三种情况根据线性代数的知识很容易判断,主要就是看系数阵的秩和增广阵的秩。如果某一次选主元发现当前列的系数都为0,那么对应的变量是一个自由变元,解不确定。这个时候要跳过这一列,保持行不变,继续进行消元。在消元之后查看增广阵的秩确定是否无解,若有解再根据自由变元是否存在来判断是否是唯一解。
  如果解是无穷多个的时候,需要枚举变元的取值。一般用于处理解空间很小的情况,比如在模2域上的求解。枚举变元后无需重新列方程,只需进行一次回带找解即可。
posted on 2009-05-26 17:13 sdfond 阅读(470) 评论(0)  编辑 收藏 引用 所属分类: Algorithm - Ad Hoc

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理