- · 《电力系统自动化》栏目[05/29]
- · 《电力系统自动化》数据[05/29]
- · 《电力系统自动化》收稿[05/29]
- · 《电力系统自动化》投稿[05/29]
- · 《电力系统自动化》征稿[05/29]
- · 《电力系统自动化》刊物[05/29]
快速因子表法的求解及其应用(2)
作者:网站采编关键词:
摘要:“按行消元,逐行规格化”方式的计算特点:对第i行元素消元计算,要分别调用第1~i-1行的对角元素及以右元素。如对A阵第4行的三个元素分别进行消元
“按行消元,逐行规格化”方式的计算特点:对第i行元素消元计算,要分别调用第1~i-1行的对角元素及以右元素。如对A阵第4行的三个元素分别进行消元要分别调用第1~3行对角元素及以右元素;如对a41消元要调用第1行对角元素及以右相应元素;对消元要调用第2行对角元素及以右相应元素;对消元要调用第3行对角元素及以右相应元素。由于元素调用方式行列循环交错,极不便于编写程序。
“逐行规格化,按列消元”方式的计算特点:对第i列元素消元计算,只要调用第i行对角元素及以右元素。如对整个第1列元素消元,只要调用第1行对角元素及以右相应元素;对整个第2列元素消元,只要调用第2行对角元素及以右相应元素即可。此时元素调用方式只有单纯的行或列循环,特别便于编写程序,因此计算效率更高。如果在对称方程组的因子表的形成过程再考虑对称稀疏矩阵技术的应用,则其计算效率将更远远高于前者(由于篇幅所限,另文讨论)。
2.2按列消元方式中根据对称性形成因子表
对称矩阵在消元计算过程中有的一个很特别、但一直被忽视的特点:即规格化之前,第i行对角元以右元素与第i列对角元以下元素数值相等、位置对称;规格化之后,第i行对角元以右元素与第i列对角元以下元素只相差一个对角元的比例系数,位置仍然对称。因此在因子表的形成过程中,可仅计算对角元素和上三角元素,而下三角元素可按列通过规格化前的上三角元素赋值得到,从而省去大量下三角元素的计算及相应的除法计算,大大加快因子表的形成速度。
“按行消元,逐行规格化”的计算过程决定了其不适合应用对角元以右元素与对角元以下元素的对称性进行计算,因为在这种计算方式下,对第i行元素进行消元,要通过赋值分别或者一次性地得到其对角元以左的第1~i-1个元素就显得极为不便。因此这种计算方式对A阵元素的前代过程有大量的多余计算,从而导致计算效率不高。如果仅计算包括对角元素的上三角元素或包括对角元素的下三角元素,而通过对称性来获得另一半元素,则由于上下三角元素的不等,在对A阵或F阵元素的前代过程中会出现大量乘或除对角元素的重复计算,同样影响计算效率。
“逐行规格化,按列消元”方式可方便地利用这种对称性进行计算。下面用图3上图的5阶对称矩阵进行含规格化高斯消元的计算过程来说明不应用或应用元素对称性形成因子表计算元素的不同。
(1)不用元素的对称性
不用元素的对称性,对图3上图的A5阵进行含规格化的高斯消元后可得图3下图的阵。其中,对第1行的4个元素规格化,再第1列元素消元,需计算4*4=16个元素;对第2行的3个元素规格化,再对第2列元素消元,需计算3*3=9个元素;对第3行的2个元素规格化,再对第3列元素消元,需计算2*2=4个元素;对第4行的1个元素规格化,再对第4列元素消元,需计算1个元素。因此,不用元素的对称性所得到图3下图的阵,需规格化10个元素,计算30个元素。
(2)用元素的对称性
1)对第1行的4个元素规格化;再对第1列元素消元,仅需计算各行对角元及其以右的元素,即虚线框中的10个元素,见图4上图。
图4对矩阵A5第1列、第2列元素消元
(2)将第2行对角元以右的3个元素赋值给对角元以下的3个元素;再对第2行的3个元素规格化;继而对第2列元素消元,仅计算虚线框中的6个元素,见图4下图。
(3)将第3行对角元以右的2个元素赋值给对角元以下的2个元素;再对第3行的2个元素规格化;继而对第3列元素消元,仅计算虚线框中的3个元素,见图5上图。
图5对矩阵A5第3列、第4列元素消元
(4)将第4行对角元以右的1个元素赋值给对角元以下的1个元素;再对第4行的1个元素规格化;继而对第4列元素消元,仅计算虚线框中的1个元素,见图5下图。
图5下图的计算结果与图3的计算结果完全相同。但图4、图5表明利用对称性得到阵,仍需规格化10个元素,仅需计算20个元素,与不利用对称性的方法相比少计算10个元素,但多6个赋值元素。根据式(2)可看出,计算每个元素需要3个相应的元素,而赋值仅需1个元素。因此利用对称性可大大减少元素的计算量,提高计算速度。
此外,传统方法中一般是将对A阵完成消元计算后的A(n-1)′阵中的对角元素取倒数后的系数矩阵A(n-1)″作为因子表,以减少后续对F阵前代计算中的除法,从而提高计算速度。而规格化计算更是大量用对角元素去除对角元素左侧的各个元素。因此,如果在规格化每行元素之前就将对角元素取倒数,然后用对角元素的倒数值去乘对角元素左侧的各个元素来完成规格化计算,则可减少更多的除法计算,进一步提高计算速度。此时对A阵完成消元计算后所得到的是A(n-1)″阵而不是A(n-1)′阵,可直接作为因子表。
文章来源:《电力系统自动化》 网址: http://www.dlxtzdhzz.cn/qikandaodu/2021/0419/886.html