Научная статья на тему 'Ускорение многократного решения СЛАУ с частично изменяющейся матрицей'

Ускорение многократного решения СЛАУ с частично изменяющейся матрицей Текст научной статьи по специальности «Математика»

CC BY
211
41
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ / БЛОЧНОЕ LU-РАЗЛОЖЕНИЕ / ВЫЧИСЛЕНИЕ ЕМКОСТНОЙ МАТРИЦЫ / LINEAR SYSTEM / BLOCK LU-FACTORIZATION / CAPACITIVE MATRIX CALCULATION

Аннотация научной статьи по математике, автор научной работы — Суровцев Роман Сергеевич, Куксенко Сергей Петрович, Газизов Тусур

Рассматривается использование блочного LU-разложения для ускорения многократного решения системы линейных алгебраических уравнений (СЛАУ) с частично изменяющейся матрицей при вычислении емкостной матрицы системы проводников и диэлектриков. Приведены зависимости времени решения СЛАУ от относительного числа подынтервалов проводник-диэлектрик, при разном числе проводников. Выявлены возможности ускорения до 35 раз. Описаны структуры, для которых возможно ускорение.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Суровцев Роман Сергеевич, Куксенко Сергей Петрович, Газизов Тусур

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Acceleration of multiple solutions for linear system with partially-changing matrix

The article considers the use of block LU-factorization for acceleration of multiple solutions for linear system with partially-changing matrix for capacitive matrix calculation for a system of conductors and dielectrics. There are given the dependences of time solution on relative conductor-dielectric subintervals when the number of conductors changes. The acceleration possibilities up to factor 35 are revealed. The structures, for which the acceleration is possible, are described.

Текст научной работы на тему «Ускорение многократного решения СЛАУ с частично изменяющейся матрицей»

УДК 519.852.64 (045)

Р.С. Суровцев, С.П. Куксенко, Т.Р. Газизов

Ускорение многократного решения СЛАУ с частично изменяющейся матрицей

Рассматривается использование блочного ЬИ-разложения для ускорения многократного решения системы линейных алгебраических уравнений (СЛАУ) с частично изменяющейся матрицей при вычислении емкостной матрицы системы проводников и диэлектриков. Приведены зависимости времени решения СЛАУ от относительного числа подынтервалов проводник-диэлектрик, при разном числе проводников. Выявлены возможности ускорения до 35 раз. Описаны структуры, для которых возможно ускорение.

Ключевые слова: система линейных алгебраических уравнений, блочное ЬИ-разложение, вычисление емкостной матрицы.

В большинстве современных систем компьютерного моделирования для решения различного рода задач требуется решение систем линейных алгебраических уравнений (СЛАУ). При моделировании в диапазоне параметров требуется многократное решение СЛАУ, приводящее к длительным вычислениям. Однако есть задачи, приводящие при изменении параметра не к полному изменению матрицы СЛАУ, а лишь к изменениям только определенных её элементов. Одной из них является задача вычисления методом моментов матрицы коэффициентов электростатической индукции произвольной системы проводников и диэлектриков [1]. Границы проводник-диэлектрик делятся на подынтервалы, последовательно нумерующиеся от 1 до Ыс, а диэлектрик-диэлектрик - от #с+1 до N. Из параметров подынтервалов вычисляются элементы матрицы СЛАУ (рис. 1).

При изменении диэлектрической проницаемости диэлектрика(ов) меняется только часть элементов на главной диагонали матрицы, соответствующих подынтервалам диэлектрик-диэлектрик. Этот ресурс можно использовать для уменьшения общего времени многократного решения СЛАУ. Однако при этом необходимо учесть, что на практике, когда число проводников (не считая опорного) ^опа > 1, используют одно ЬИ-разложение [2] исходной матрицы (основные затраты) с получением из него решений СЛАУ для ^опа разных векторов свободных членов (малые затраты на одно решение). ЬИ-разложение - один из способов решения СЛАУ вида Ах = Ь, при котором исходная матрица А разбивается на произведение треугольных матриц Ь и и и методом прямой и обратной подстановки находится вектор неизвестных х.

Для ускорения можно использовать блочное ЬИ-разложение. Цель данной работы - показать возможности такого ускорения. Для её достижения надо исследовать временные затраты:

1) многократного ЬИ-разложения;

2) однократного ЬИ-разложения с получением из него решений СЛАУ для ^опа разных векторов свободных членов;

3) многократного ЬИ-разложения с получением из каждого решений СЛАУ для ^опа разных векторов свободных членов.

Алгоритм и особенности блочного Ьи-разложения. Алгоритм блочного ЬИ-разложения и алгоритм полного решения СЛАУ с уже включенным в него алгоритмом ЬИ-разложения представлены в табл. 1, а наглядная реализация алгоритма блочного ЬИ-разложения - на рис. 2.

Таблица 1

Блочные алгоритмы_________________________________

Алгоритм блочного ЬИ-разложения [3] Алгоритм решения СЛАУ блочным ЬЦ-разложением [4]

1. Обозначить и11 = Ап, и12 = А12; 2. Решить Ь21А11 = А21; 3. Сформировать 8 = А 22 - Ь21и12 1. Решить Ап VI = Ьь; 4. у! = А12х2; 2. v2 = Ь2 - А2^; 5. Решить А1^1 = уь; 3. Решить 8х2 = v2; 6. хь = v1 - z1

матрицы СЛАУ

А =

"А-11 А12 ' 1 0' X '^11 ^12 '

А 21 А 22 _ _ ^21 1 _ 0 £ _

Рис. 2. Блочное ЬИ-разложение

Ау, Ьу, иу- - элементы матриц А, Ь, Ц соответственно;

8 = Ц22 = А22 - Ь21Ц12;

Ьг - элементы вектора свободных членов;

V, у, г - промежуточные вспомогательные векторы;

х - вектор неизвестных.

Алгоритм блочного ЬИ-разложения основан на матричных операциях. Такие операции предпочтительно использовать для получения ускорения, так как они занимают более высокий уровень в математических библиотеках, и поэтому все операции, в которых задействованы только матрицы, совершаются за меньшее время [5]. При многократном ЬИ-разложении, с изменяющейся матрицей (блоком) А22 в алгоритме реализуется только одна операция вычитания, так как произведение Ь21Ц12 уже посчитано и хранится в памяти компьютера.

Алгоритм решения СЛАУ с использованием блочно-сти - общий алгоритм решения СЛАУ, представляющий собой последовательность действий, на основе матрично-векторных операций, которые находятся на более низком уровне, чем матричные операции, а значит, будут реализовываться за большее время. Для уменьшения времени решения СЛАУ целесообразно преобразовать множество векторов свободных членов Ь в некоторую матрицу В. Тогда алгоритм будет работать только с матрицами, что даст минимизацию временных затрат на ЬИ-разложение.

Для исследований используются алгоритм обычного ЬИ-разложения библиотеки Бі§еп (бесплатно распространяемая библиотека линейной алгебры, написанная на языке программирования С++ и реализующая векторные и матричные операции) и блочный алгоритм, который также реализован на отдельных взятых из библиотеки Бі§еп функциях. Блочный алгоритм работает с матрицами, а алгоритм библиотеки Бі§еп работает с отдельными элементами. Отметим также, что обычное и блочное ЬИ-разложения дают совершенно разные матрицы, требующие разных затрат времени на последующее получение из них самого решения СЛАУ. Все вычислительные эксперименты выполнены на матрице N=1000.

Время многократного ЬЦ-разложения. Исследовано время, затрачиваемое на 1000 ЬИ-разложений. Время ЬИ-разложения алгоритмом библиотеки Бі§еп равно 196 с. Затраты времени на ЬИ-разложение блочным алгоритмом в зависимости от Nc/N сведены в табл. 2.

Время многократного ЬЦ-разложения

Таблица 2

Nc/N 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

Т, с 5,72 4,1 3,34 2,5 1,79 1,19 0,71 0,281 0,11

Видно, что затраты времени на ЬИ-разложение библиотечным алгоритмом многократно превышают затраты блочного алгоритма. Отношение времен составляет от 30 до 1800 раз. Это обусловлено спецификой блочного алгоритма: один раз выполняется полный расчет элементов матриц ЬИ-разложения, а далее многократно пересчитывается только матрица и22. Причем с ростом Ыс/Ы ускорение значительно увеличивается, поскольку при этом размер блока, диагональные элементы которого изменяются, уменьшается, и все операции с ним занимают всё меньшее время. Кроме того, матричные операции блочного алгоритма реализуются быстрее, чем нематричные операции алгоритма библиотеки Б1§еп.

Время однократного Ьи-разложения с получением из него решений СЛАУ для Лсопа разных векторов свободных членов. Оценено время однократного ЬИ-разложения с получением из него решений СЛАУ для 5, 10, 15 свободных членов в диапазоне изменения #с/Ж Полученные зависимости приведены на рис. 3.

Как видно из рис. 3, минимальное время решения СЛАУ с применением блочного алгоритма в 2 раза больше времени решения библиотечным алгоритмом, а в максимумах отношение времен достигает значения 4. (Минимум в точке Ыс/Ы = 0,5 связан с делением исходной матрицы на одинаковые по размеру блоки.) Таким образом, для однократного ЬИ-разложения с получением из него решений СЛАУ для #сопа разных векторов свободных членов блочный алгоритм использовать неэффективно.

Рис. 3. Время однократного ЬИ-разложения с получением из него решений СЛАУ для 5 (а), 10 (б),

15 (в) векторов свободных членов в зависимости от Nc/N (горизонтальными линиями показано время реализации библиотечным алгоритмом)

0,4 -

-I T, c — - — - Eigen, solve 5

■v Eigen, solve 15 — - — - Block 5 / //

Block 15 Jf

1— 1 I 1 ■ 1 N JN ■ i

0,1

0,3

0,5

0,7

0,9

Время многократного ЬЦ-разложения с получением из каждого решений СЛАУ для Лсопа разных векторов свободных членов. Из табл. 2 видно, что использовать блочный алгоритм для ЬИ-разложения гораздо выгоднее, чем Бі§еп. Но использование однократного ЬИ-разложения с получением из него решений СЛАУ для ^опа разных векторов свободных членов блочным алгоритмом более затратно (рис. 3), несмотря на то, что отношение времен не превышает значения 4. Таким образом, естественно выполнить оценку времени многократного ЬИ-разложения с получением из каждого решений СЛАУ для ^опа разных векторов свободных членов. Количество повторений ЬИ-разложения взято равным 2 , где к = 8 (а), 9 (б), 10 (в). Результаты приведены на рис. 4.

0

250 200 150 -100 -50 0

Block(5)

- Block(10)

- Block(15) Eigen(5)

- Eigen(l0)

- Eigen(l5)

і—і—і—і—і—і—і—і—і

0,1 0,3 0,5 0,7 0,9 а

500 A Block(5)

500 ^ ---------Block(10)

---------Block(15)

v -------------Eigen(5)

400 \ \------------Eigen(10)

---------Eigen(l5)

300 -I 200 100 -0

1000 -900 -800 -700 -600 -500 400 300 200 100 0

' ---------Block(5)

--------Block(10)

--------Block(15)

---------Eigen(5)

--------Eigen(l0)

---------Eigen(15)

Nc /N

1 I I I I I “

0,1 0,3 0,5 0,7 0,9

0,1 0,3 0,5 0,7 0,9

б в Рис. 4. Время многократного ЬИ-разложения с получением из него решений СЛАУ для 5 (а), 10 (б), 15 (в) векторов свободных членов в зависимости от Ыс/Ы (горизонтальными линиями показано время реализации библиотечным алгоритмом)

По графикам видно, что время на решение СЛАУ блочным алгоритмом при малых #с/# превышает время на решение алгоритмом библиотеки Б1§еп в несколько раз. В зависимости от количе -ства векторов свободных членов и к кривые ведут себя по-разному. Однако со значения Ыс/Ы ~ 0,5 блочный алгоритм начинает выигрывать во времени у алгоритма библиотеки Б1§еп. Среднее ускорение блочного алгоритма по сравнению с алгоритмом Б1§еп приведено в табл. 3.

Из табл. 3 видно, что ус-

корение решения СЛАУ блочным методом возрастает, с ростом NN до 0,9 возрастает до 20 раз, а с ростом числа повторных решений СЛАУ -до 35 раз.

Т аблица 3

Ускорение блочного алгоритма

Nc/N 0,5 0,6 0,7 0,8 0,9

Tblock/Tei2en, k 8 1,3 2,4 5,5 9,2 20

Tblock/Teiaen, k 9 1,4 2,4 5 16 30

Tblock/Teiaen, k 1° 1,4 2,4 6,25 17,3 35

Заключение. Исследована возможность использования блочного LU-разложения для ускорения многократного решения СЛАУ с частично меняющейся матрицей. Показано, что до значения Nc/N^0,5 (что соответствует близким количествам подынтервалов проводник-диэлектрик и диэлектрик-диэлектрик) оно практически отсутствует, но с ростом Nc/N значительно возрастает до 35 раз.

Очевидно, что существуют практические структуры, для которых будет ускорение в десятки раз. Примером являются структуры с большим числом проводников и малым числом диэлектриков и их границ, которые можно реже сегментировать. Кроме того, даже при большом числе диэлектриков, если меняется диэлектрическая проницаемость одного, то его границы можно нумеровать последними: это легко осуществимо и может дать значительное ускорение.

Работа выполнена в порядке реализации Постановления № 218 Правительства РФ от 09.04.2010 г. «О мерах государственной поддержки развития кооперации российских высших учебных заведений и организаций, реализующих комплексные проекты по созданию высокотехнологичного производства», и договора № 13.G25.31.0017 от 07.09.2010 между ОАО «ИСС» им. акад. М. Ф. Решетнева» и Минобрнауки РФ.

Литература

1. Газизов Т.Р. Уменьшение искажений электрических сигналов в межсоединениях / под ред. Н.Д. Малютина. - Томск: Изд-во НТЛ, 2003. - 212 с.

2. Куксенко С.П. Итерационные методы решения систем линейных алгебраических уравнений с плотной матрицей / С.П. Куксенко, Т.Р. Газизов. - Томск: Томский государственный университет, 2007. - 208 с.

3. Nicolas J. Highman. Accuracy and Stability of Numerical Algorithms. - Philadelphia: SIAM, 1961. -680 p.

4. Axelsson O. Iterative solution methods. - Cambridge: University press, 1996. - 654 p.

5. Голуб Дж. Матричные вычисления / Дж. Голуб, Ч. Ван Лоун. - М.: Мир, 1999. - 549 c.

Суровцев Роман Сергеевич

Студент, каф. телевидения и управления ТУСУРа

Тел.: 8 (382-2) 42-57-67

Эл. почта: [email protected]

Куксенко Сергей Петрович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Канд. техн. наук, ст. науч. сотрудник каф. телевидения и управления ТУСУРа

Тел.: 8 (382-2) 41-34-39

Эл. почта: [email protected]

Газизов Тальгат Рашитович

Д-р. техн. наук, ст. науч. сотрудник, доцент каф. телевидения и управления ТУСУРа Тел.: 8 (382-2) 41-34-39 Эл. почта: [email protected]

Surovtsev R.S., Kuksenko S.P., Gazizov T.R.

Acceleration of multiple solutions for linear system with partially-changing matrix

The article considers the use of block LU-factorization for acceleration of multiple solutions for linear system with partially-changing matrix for capacitive matrix calculation for a system of conductors and dielectrics. There are given the dependences of time solution on relative conductor-dielectric subintervals when the number of conductors changes. The acceleration possibilities up to factor 35 are revealed. The structures, for which the acceleration is possible, are described.

Keywords: linear system, block LU-factorization, capacitive matrix calculation.

i Надоели баннеры? Вы всегда можете отключить рекламу.