- · 《电力系统自动化》栏目[05/29]
- · 《电力系统自动化》数据[05/29]
- · 《电力系统自动化》收稿[05/29]
- · 《电力系统自动化》投稿[05/29]
- · 《电力系统自动化》征稿[05/29]
- · 《电力系统自动化》刊物[05/29]
快速因子表法的求解及其应用(3)
作者:网站采编关键词:
摘要:2.3按列消元方式中四角规则的应用 在形成因子表的过程中,如何快速简单地理解式(2)并进行编程是应用因子表法的关键。为使式(2)的计算过程形象化及简
2.3按列消元方式中四角规则的应用
在形成因子表的过程中,如何快速简单地理解式(2)并进行编程是应用因子表法的关键。为使式(2)的计算过程形象化及简单化,可在按列消元的过程中引入并应用四角规则[15-16]。根据式(2),对第k列元素进行消元前,参加消元计算中各元素在简化矩阵中的位置如图6所示。各元素定义如下。
对角元素A(终值——已完成计算的元素,参考元素);
交叉元素B(终值),位于对角元素同行以右;
消元元素C(终值),位于对角元素同列以下,由规格化前的交叉元素赋值而得;
计算元素的新值D新和原值D原(未完成计算的元素),位于消元元素所在行与交叉元素所在列的交互点上。
在计算相应的计算元素时,将对角元素A作为参考元素,则可确定相应的交叉元素B和消元元素C,并根据其所在行与在列的交互点确定相应的计算元素D。如果将这4个元素简单地用A、B、C、D表示,则任一计算元素的计算式均为:D新=D原-B*C。因此在消元计算过程中,只要构想这4个元素的位置,就可直接写出其计算元素的计算式。这样就将式(2)的消元计算完全转化成简单直观地、对元素几何位置的处理,根本无需考虑式(2)的构成以及相关变量的上下标等,计算过程极为简单。由于A、B、C、D4个元素正好在矩形的4个角上,因此称为四角规则。
对按列消元时,用四角规则只要计算第i行对角元以右元素所在列与第i列对角元以下元素所在行的交互点上的元素即可。而对按行消元方式,由于需根据多行和多列元素的交互点进行计算,四角规则的应用则更为复杂以致应用极为不便。
2.4以按列消元方式对F阵进行前代
许多文献形成因子表后对F阵元素均采用按行前代的计算顺序[1-7],即按行一步步地计算一个元素,一个元素计算完成后才开始计算下一个元素。如要计算需按序计算计算完成后才开始计算并依次循环,其计算顺序如图2左侧无阴影的数字所示。但因子表不但要用于对不同的F阵反复进行前代,也要对不同的X阵反复进行回代。因此在因子表法中,经常会保存因子表中上三角非零元素的列标以便对不同的X阵反复利用其稀疏性进行回代,以加快计算速度。但对F阵采用按行前代,则很难利用因子表中所保存的上三角非零元素的列标,从而使得对F阵元素的前代计算无法利用稀疏矩阵技术而影响计算速度的进一步提高。
由于在对称矩阵中,其因子表是以对角元为中心,第i列下三角非零元素的列标与第i行上三角非零元素的列标完全对称。因此,如果对F阵的前代计算采用按列方式,同时分步计算所有的F阵元素即计算再计算并依次循环,则可利用因子表中所保存的上三角非零元素的列标,从而使得对F阵元素的前代计算利用稀疏矩阵技术而进一步提高计算速度。
如假设上三角元素的第一行中仅d11、u12、u13三个元素不为0,根据对称性可知l21、l31二个元素也不为0,因此在计算第一列的元素时,可仅计算三个元素,而元素根本无需计算,其计算顺序如图2右侧有阴影的数字所示。因此对F阵的前代计算若采用按列方式,其下三角的l元素可利用所记录的上三角非零u元素的列标来大大提高对F阵的前代计算速度。
3计算举例及分析
例:不考虑矩阵元素稀疏性时,分别用LDU三角分解法、因子表法和本方法按“前代”和“前代+回代”过程,对IEEE-30、-57、-118节点系统的复数导纳矩阵Y求取其复数Z阵。其中,LDU三角分解法、因子表法求取Z阵时均按传统方式[1,4],即不考虑单位矩阵E元素结构的特点;而本方法求取Z阵时,则考虑E阵元素结构的特点[17]。由于不考虑元素的稀疏性,因此也未应用本方法提出的、以按列方式对F阵进行前代的算法。计算程序采用C++编程语言,开发环境为Visual C++,计算时间比较如表1所示。
根据表1可以看出:无论在前代过程还是在前代+回代过程,本方法均比LDU三角分解法和因子表法要快。在形成因子表的前代过程中,由于本方法利用了Y阵元素的对称性省去大量非对角元素的计算,因此比LDU三角分解法快约55%~70%,比因子表法要快约45%。在前代+回代过程,由于本方法利用E阵元素结构的特点省去大量零元素的无效计算,因此比LDU三角分解法要快约65%~75%,比因子表法要快约60%。
4结论
本文对因子表法的计算原理进行分析,针对其存在的问题,提出快速因子表法。快速因子表法中主要包括以下几点,根据对称矩阵的特点,采用“逐行规格化,按列消元”方式快速形成因子表;将因子表元素的计算过程简化成四角规则的应用,大大方便编程;在对各行元素规格化之前将对角元取倒数,进一步减少除法计算;根据因子表存贮上三角非零元素的特点,以按列方式对常数项列矩阵进行前代计算,以便根据对称性获得下三角非零元素的列标,从而在该计算过程应用稀疏矩阵技术。计算结果表明:无论在前代过程中,还是在“前代+回代”过程中,与LDU三角分解法和因子表法相比,本方法的计算速度均大大提高。如果对整个计算过程应用稀疏矩阵技术,则本方法的优势将更加明显。本方法可用于电力系统及其各个工程领域常系数对称线性方程组的快速求解。
文章来源:《电力系统自动化》 网址: http://www.dlxtzdhzz.cn/qikandaodu/2021/0419/886.html