Метод решения систем линейных алгебраических уравнений для задач схемотехнического проектирования электронных устройств

УДК 510:517.9:519.2

А.Б. ШЕИН

МЕТОД РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ ДЛЯ ЗАДАЧ СХЕМОТЕХНИЧЕСКОГО ПРОЕКТИРОВАНИЯ ЭЛЕКТРОННЫХ

УСТРОЙСТВ

Ключевые слова: метод, проектирование, электронное устройство, система линейных алгебраических уравнений, точное решение.

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

A.B. SHEYIN

THE METHOD OF THE DECISION OF THE LINEAR ALGEBRAIC EQUATIONS SYSTEMS FOR PROBLEMS SCHEMATIC DESIGNING OF ELECTRONIC DEVICES

Key words: method, designing, the electronic device, system of the linear algebraic equations, exact decision.

The exact method of the decision of the linear algebraic equations systems, allowing to find all possible decisions of systems is offered.

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

Уменьшение вычислительных затрат возможно путем разработки специальных методов решения системы уравнений схемы, учитывающих ее структуру, или за счет использования упрощенных моделей компонентов и устройств схемы для понижения порядка системы уравнений при допустимых потерях точности [1].

И первый и второй подходы для вышеперечисленных задач АСхП требуют решения СЛАУ вида:

a11x1 + (N x (N О4 + a13 x3 +.. .+ a1nxn - b;

+ (N * (N (N + a23 x3 +.. . + S x S 2 2 II

*x СО а + (N * (N СО + 3 x 3 3 a +.. . + s x s 3 = b3

: ¡x и а + an 2 x2 + 3 x 3 S a +. .. + annxn - = bn

где aik - коэффициенты; Ь - свободные члены системы; xi - неизвестные, подлежащие определению. Решение этой линейной системы является одной из основных задач линейной алгебры.

Известно, что методы решения СЛАУ делятся на две группы: точные (без учета ошибок округления) или прямые, когда решение получается за ко-

нечное, известное заранее число операций, и итерационные, когда решение получается как предел последовательных приближений [3-6].

Алгоритмически более надежными являются методы первой группы. В них не возникает проблемы сходимости, но область применения некоторых из них ограничена. Например, решение СЛАУ по правилу Крамера проходит по классу точных методов, но удобно, когда система содержит два или три уравнения. Если уравнений больше, тогда решение системы по правилу Крамера требует слишком большого количества умножений и становится неэффективным [5, 6]. В этом случае гораздо выгоднее пользоваться методом Гаусса, методом Жордана-Гаусса, методом оптимального исключения и другими точными методами.

Из точных методов решения СЛАУ наиболее распространен метод Гаусса, заключающийся в последовательном исключении неизвестных и приведении исходной системы уравнений к системе уравнений с верхней треугольной матрицей [3-6]. Метод получил название схемы единственного деления.

Большинство других точных методов является модификацией схемы единственного деления Гаусса, отличаясь либо порядком исключения неизвестных, либо способом получения коэффициентов треугольной матрицы. Например, метод оптимального исключения можно рассматривать как видоизменение метода Гаусса, который требует при осуществлении меньше элементов памяти ЭВМ, так как на каждом шаге преобразуется не вся система, как в методе Гаусса, а только часть ее уравнений. Если использовать только оперативную память ЭВМ, то методом оптимального исключения можно решать системы с числом неизвестных приблизительно в два раза большим, чем по методу Гаусса. Кроме того, так как на каждом шаге исключается та неизвестная, коэффициент при которой имеет наибольшее значение, то это повышает точность вычислений, особенно в плохо обусловленных (с большим разбросом собственных значений) системах уравнений. Метод оптимального исключения близок к методу Гаусса и отличается существенно лишь тем, что обратный ход метода Гаусса здесь видоизменен и соединен с прямым ходом [7].

В некоторых программах АСхП используется компактная схема Гаусса называемая также методом ¿^-разложения, или методом треугольных сомножителей [8]. В основе метода лежит представление матрицы системы в виде произведения нижней Ь и верхней и треугольных матриц. Тогда вместо решения СЛАУ методом полной обратной матрицы решение системы можно получить в два этапа. На первом этапе с помощью нижней матрицы Ь, содержащей единичную диагональ, получают систему с верхней треугольной матрицей и, а на втором этапе с помощью матрицы и получают решение системы как при обратном ходе в схеме единственного деления. При этом процесс получения Ь и и матриц эквивалентен прямому ходу в схеме Гаусса и представляет собой последовательность шагов, каждый из которых соответствует исключению очередного неизвестного в схеме Гаусса.

Перечисленные методы имеют достоинства и недостатки, подробно изложенные, например, в работах [1-8]. Но их общий недостаток заключается в том, что, как правило, методы дают единственное решение СЛАУ, так как основаны на схеме единственного деления, в то время как система может иметь множество решений.

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

Поясним смысл метода на примере решения системы четырех уравнений с четырьмя неизвестными:

а11 х1 + а12 х2 + а13 х3 + а14 х4 = Ь1,

а21 Х1 + 022 Х2 + а23 Хз + а24Х4 = Ь2,

а31 х1 + а32 х2 + а33 х3 + а34 х4 = Ь3,

а41 х1 + а42 х2 + а43 х3 + а44 х4 = Ь4 .

Первый проход: умножаем уравнение (а) на коэффициент а21, а уравнение (б) на коэффициент а11 и вычитаем вновь полученное уравнение (б) из вновь полученного уравнения (а) (если изменить порядок следования уравнений и вычитать вновь полученное уравнение (а) из вновь полученного уравнения (б), то результат останется прежним); затем умножаем уравнение (а) на коэффициент а31, а уравнение (в) на коэффициент а11 и вычитаем вновь полученное уравнение (в) из вновь полученного уравнения (а); наконец, умножаем уравнение (а) на коэффициент а41 , а уравнение (г) на коэффициент а11 и вычитаем вновь полученное уравнение (г) из вновь полученного уравнения (а).

В результате приходим к системе уравнений:

а 212)х2 + а 23 х3 + а 24 х 4 = Ь21);

а3'2)х2 + а313) х3 + а3>4) х 4 = Ь3:1);

а 412)х2 + а 44 х3 + а 44 х 4 = Ь^),

где верхние индексы в скобках обозначают номер прохода и одновременно количество преобразований соответствующего коэффициента,

а22^ = а12 а21 — а11а22 ; а23 = а13 а21 — а11а23 ; а24^ = а14а21 — а11а24 ;

а32 — а12 а31 а 11а32 ; а33 — а13 а31 а11а33 ; а3(4) — а14а31 а11 а34;

а42) — а12а41 аца42 ; а43 — а13а41 аца43 ; а44) — а14а41 аца44 ;

Ь21) — а21Ь1 - а11Ь2; ь31) — а31Ь1 - а11Ь3; ь41) — а41Ь1 - а11Ь4.

Второй проход: поступаем с уравнениями (д), (е) и (ж) точно так же, как и с уравнениями (а), (б), (в) и (г).

В результате второго прохода имеем систему уравнений:

а33 )х3 + а34) х4 — Ь332);

а 43)х3 + а 44) х4 — Ь42),

а

33 23 32 22 33 34 24 32 22 34 43 23 42 22 43

а

44 24 42 22 44 3 32 2 22 3 4 42 2 22 4

Третий проход: преобразуем уравнения (з) и (и) так же, как и уравнения (д), (е) и (ж).

где

В результате третьего прохода получаем уравнение:

а 44)х4 = Ь43),

где

а

44 44 34 43 33 44 ’ 4 43 3 33 4

Делим уравнение (к) на коэффициент а44) • В результате находим:

ь43)

х 4 = л

44

Подставляя значение х4 в уравнения (з) и (и), находим все (2 -1 = 2) значения х3 :

Х3

а33

Х3

а43

Подстановка значений х4 и х3((), определенных равенствами (л) и (м), а затем х4 и х3(2), определенных равенствами (л) и (н), в уравнения (д), (е) и

(ж), дает все (3 - 2 = 6) значения х2:

)• х ()= —(ь(1)_а(1)х ()_а(1)х )•

\)? 2(2)— (^ V 3 и33Л'3(1) <-,34л'4/>

а32

)• х ( ) = —(ь(1) _а(1)х ( ) _а(1)х )•

/, л2(4)— (^ V 2 23 3(2) и24Л4

а22

)• х

Л2(6)_ (О V 4 43 3(2) 4^ 4 / •

х 2(1) = а(1)( 22 № і 2( 3х _ а (1)х и24 4

х 2(3) = а(1)( 42 ь4° _ а(1)х ( ) 43 3(1) * а _

х2(5) = а(1)( Ь3(1) 1 3( 3х _ а (1 )х 44 34 4

Так как неизвестные х4, х3 и х2 определены, то подстановка их в уравнения (а), (б), (в) и (г) позволяет найти все (4 • 2 • 6 = 48) значения х1:

Х1(1) = (1 — °12 Х 2(1) — а13 Х3(1) — а14 Х 4 ) ;

а

11

х1(2) = (Ь2 а22х2(1) а23х3(1) а24х4 ).

а 21

х1(3) = (Ь3 _ а32 х2(1) _ а33 х3(1) _ а34х4 ) .

а31

х1(4) = (Ь4 _ а42х2(1) _ а43х3(1) _ а44х4 )’

а 41

х1(48 ) = (Ь4 _ а42 х2(б) _ а 43 х3(2) _ а44 х4 )’

а 41

Используем изложенный метод для решения системы четырех уравнений, полагая:

«11 = 1; «12 = 2; «13 = з; «14 = 4; Ь =10;

«21 = 2 ; «22 = 6 ; «23 = 5 ; «24 = 3 ; Ь2 = 15 ;

«31 = 3 ; «32 = 3 ; «33 = 7 ; «34 = 5 ; b3 = 20;

«41 = 4 ; «42 = 9 ; «43 = 8 ; «44 = 7 ; b4 = 25 .

Последовательно находим:

= 1« 2« «11 «22 : = 2 • 2 -1 • 6- =4- 6 = -2 ;

21 « 3 «1 = СО —'(N « - «11« 23 = 3 •2 -1 •5 = 6 - 5 = 1;

21 « 14 «1 = —'(N « 4 2 «1 «1 - = 4 •2 -1 •3 = 8 - 3 = 5;

3 « 2 «1 = CT'iN '—( СО « 2 3 «1 «1 - = 2 •3 -1 •3 = 6 - 3 = 3;

3« = 1« 3« 3 3 «1 «1 - = 3 • 3 -1 • 7 = 9 - 7 = 2;

«34 = «14 «31 4 3 «1 «1 - = 4 •3 -1 •5 = 12 - 5 = 7;

41 « 2 «1 = )12 « 2 4 «1 «1 - = 2 •4 -1 •9 = 8 - -9 = -1;

41 « 3 «1 = )13 « «11« 43 = 3 •4 -1 • 8 = 12 - 8 = 4;

«4/ = «14«41 4 4 «1 «1 1 = 4 •4 -1 •7 = 16 -7=9;

b2 ) = «21b1 - -«11b2 = 2 • 10 - 1 • 15 = 20 -15 = 5

*31) = «3А -«„b3 = 3 • 10 -1 • 20 = 30 - 20 = 10; ¿41) = «41b1 - «„b4 = 4 • 10 -1 • 25 = 40 - 25 = 15;

2) «33) = «213)«32) -«2243 = 1 • 3 + 2• 2 = 3 + 4 = 7;

3)

«(2 )= «(0« (1)- «(0« (1) = .

34 24 32 22 34

«(2 )= «(1)« (1)- «(1)« (1) = 43 23 42 22 43

«(2 )= «(1)« (1)- «(1)« (1) = 44 24 42 22 44

= 1 •(-1)+ 2 • 4 = -1 + 8 = 7;

= 5 •(-1)+ 2 • 9 = -5 +18 = 13;

b32) = «312)b21) - «22)b3(1) = 3 • 5 - 2 • 10 = 15 + 20 = 35; b42) = «412)b21) - «212)b41) = (-1) • 5 + 2 • 15 = -5 + 30 = 25 ;

«44) =«34)«433) - «33)« 44) = 29 • 7 - 7 • 13 = 203 - 91 = 112; b43) = «42Л3 2) -«3 3)b42) = 7 • 35 - 7 • 25 = 245 -175 = 70;

b(3) 70

4) х4 ^-4-у =-------------= 0,625:

4 «43) 112 ’ -

44

5) Х3(1) = —(b32)-«322)х4) = 7(35 - 29 • 0,625) = 2,4107142 ;

Х3(2) = —1) (b42) - «І4Ч ) = )25 -13 • 0,625) = 2,4107142 ;

«43 7

х3 = х3(1) = х3(2) = 2,4107142 ;

б) X2(1) = -—y(b2—)-a213)x3(1)-a214)x4) = -0,5(5 - 2,4107142 -5 • 0,625) =

a22

= 0,267S57i;

x2(2) = -}u(b3l) - a3'3)x3(1) - a314)x4 ) = -3( - 2 • 2,4107142 - 7 • 0,625) =

a312 3

= 3(10 - 4,S2142S4 -4,375) = 0,267S57i ;

X2(3) = -[^(b!1 ) - a413)X3(i) - a4—X ) = -(l5 - 4 • 2,4107142 - 9 • 0,625) =

a42

= -(15 - 9,642S56S - 5,675) = 0,267S56S ;

X2(4) = —(Ty(b2l) - a(13)x3(2) - a214)x4 ) = -0,5(5 - 2,4107142 - 5 • 0,625) =

= 0,267S57i;

a22

x2

a32

= 0,267S57i;

= -ЫМ1 ) - a413)X3

X2(6 ) = _(1) \b4 - Г43 X3(2 ) - Г44 X4 I = -15 -

a42

= 0,267S56S:

X2 = X2(l) = X2(2) = X2(3) = X2(4) = X2(5) = X2(6) = 0,267S5 ;

7) X'(') h-1(b— -a12x2(') -a13x3( -a14x4) =(i0-2• 0,267S571-3^2,4107142-a11

- 4 • 0.625) = (10 - 0,5357142 - 7,2321426 - 2,5) = -0,267S56S ;

X'(2) = —^(b2 - a22x2(') - a23x3(') - a24x4 ) = 0,5(i5 - б • 0,267S57i -

21

a2

- 5 • 2,4107142 - 3 • 0.625) = 0,5(l5 -1,6071426 -12,053571 - i,S75) =

= -0,267S56S ;

С'(з) =-----(Ьз - a32x2(1) - 033X3(i) - 034x4 ) = — (20 - 3 • 0,267S57i -

a31 3

- 7 • 2,4107142 - 5 • 0,625) = 3(20 - 0,S035713 - 16,S74999 - 3,125) =

= -0,267S567 ;

Xl(4 ) =-(b4 - Г42 X 2 (l) - Г 43 X3(l) - Г44 X4 ) = 4 (25 - 9 • 0,267S57i -

Г 41

- S • 2,4107142 - 7 • 0,625) = 4(25 - 2,4107139 - 19,2S5713 - 4,375) =

= -0,267S567 ;

*1(48 ) = — (4 - а42 Х2(6) - a43 Х3(2)- а44Х4 )= J (25 - 9 ' 0,2678571 -а 41 4

- 8 • 2,4107142 - 7 • 0.625) = 4(25 - 2,4107139 -19,28573 - 4,375) =

= -0,2678567 ;

Х1 = Х1(1) = Х1(2) = Х1(3) = X1(4) = ... = X1(48) = - 0,267856 .

Решение системы уравнений по схеме единственного деления Гаусса дает такой же результат.

Невозможно учесть все разнообразие СЛАУ, которые встречаются при решении задач АСхП электронных устройств, но даже из вышеприведенного примера видно, что предлагаемый метод является достаточно универсальным. Во-первых, метод относится к классу точных методов, так как не содержит математических операций, приводящих к накоплению ошибки. Во-вторых, он позволяет решать любую систему линейных уравнений без перестановок последних, так как в отличие от известных точных методов не содержит операции деления на опорный элемент, который может оказаться нулевым, а основан на операции умножения на смежные коэффициенты уравнений систем. В-третьих, метод позволяет находить все множество решений, которая система уравнений может иметь и при этом «показывает», какие именно решения имеют место, а какие - нет. Если система уравнений является правильной, то метод дает единственное решение системы.

В целом метод прост, удобен в реализации и является весьма перспективным для решения самых разнообразных задач АСхП электронных устройств, которые используют решение СЛАУ.

Литература

1. Ильин В.Н. Основы автоматизации схемотехнического проектирования / В.Н. Ильин. М.: Энергия, 1979. 392 с.

2. Ильин В.Н. Автоматизация схемотехнического проектирования / В.Н. Ильин, В.Т. Фролкин, А.И. Бутко, Н.Ю. Камнева, Е.М. Тихомирова. М.: Радио и связь, 1987. 368 с.

3. Фадеев Д.К. Вычислительные методы линейной алгебры / Д.К. Фадеев, В.Н. Фадеева. М.: Физматиз, 1969. 734 с.

4. Демидович Б.П. Основы вычислительной математики / Б.П. Демидович, И.А. Марон. М.: Физматиз, 1963. 660 с.

5. Бронштейн И.Н. Справочник по математике для инженеров и учащихся втузов / И.Н. Бронштейн, К.А. Семендяев. М.: Наука, 1980. 976 с.

6. Корн Г. Справочник по математике для научных работников и инженеров / Г. Корн, Т. Корн. М.: Наука, 1978. 832 с.

7. Крылов В.И. Вычислительные методы / В.И. Крылов, В.В. Бобков, П.И. Монастырный. М.: Наука, 1976. Т. 1. 304 с.

8. Чуа Л.О. Машинный анализ электронных схем: Алгоритмы и вычислительные методы / Л.О. Чуа, Пен-Мин Лин. М.: Энергия, 1980. 640 с.

ШЕИН АЛЕКСАНДР БОРИСОВИЧ - кандидат технических наук, доцент кафедры промышленной электроники, Чувашский государственный университет, Россия, Чебоксары (oper@chuvsu.ru).

SHEYIN ALEKSANDR BORISOVICH - candidate of tehnical sciences, assistant professor of Industrial Electronics Department, Chuvash State University, Russia, Cheboksary.