Научная статья на тему 'Ефективна реалізація алгоритму розкриття визначника, заснованого на построчном обчисленні визначальних мікорсв'

Ефективна реалізація алгоритму розкриття визначника, заснованого на построчном обчисленні визначальних мікорсв Текст научной статьи по специальности «Математика»

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

Аннотация научной статьи по математике, автор научной работы — Н. И. Ястребов

Запропоновано ефективні способи реалізації логічних спераіій декомпозіціонного алгоритму розкриття визначника, що дозволяють виключить ^ багаторазове повторення операцій порівняння.

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

Текст научной работы на тему «Ефективна реалізація алгоритму розкриття визначника, заснованого на построчном обчисленні визначальних мікорсв»

Исходя из этих значений аппроксимируем К (к)

/С (Л) = 1/21п(1+ А71 — к')+ я/2, (1)

•где т — функция от /г. Исследование показало, что достаточно точной является функция г = Аеак + Ве''к, где А, В, а и Ь определяются по критерию минимальных квадратов. Для 0 ^/г ^ 1 были получены такие значения этих коэффициентов: Л = 4,Ы0-3, В= 2,3, а= 5,9, 6 = 5,9-10—1. При этом обеспечивается достаточная для многих приложений точность вычисленных значений. В пределах а< 10° погрешность вычислений Д К/К ^ 0,04 %, а для значений 10° а < 90° ДК/К ^ 0,27 %, где Д/С — разность вычисленных значений по соотношению (1) и табличным данным II]. Погрешность аппроксимации может быть уменьшена, если ограничить интервал изменения К (к) и определить соответствующие ему оптимальные значения коэффициентов А, В, а и Ь. Полученное соотношение (1) позволяет в'широких пределах изменения модуля к вычислять полные эллиптические интегралы первого рода на ЭВМ и микрокалькуляторах •со стандартной программой вычисления натуральных логарифмов и показательной функции.

1. Бронштейн И. #., Семендяев К. А. Справочник по математике. М.: Наука, 1981 718 с. 2. Градштейн И. С., Рыжик И. М. Таблицы интегралов, сумм, рядов и произведений. М.: ГИФМЛ, 1963. 1100 с. 3. Роудз Дж. Д. Теория электрических фильтров. М.:Сов. радио, 1980. 239 с.

Пос1упила в редколлегию 11.09.84

•УДК 621.372.061

Н. И. ЯСТРЕБОВ, ст. науч. сотр.

ЭФФЕКТИВНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМА РАСКРЫТИЯ ОПРЕДЕЛИТЕЛЯ, ОСНОВАННОГО НА ПОСТРОЧНОМ ВЫЧИСЛЕНИИ ОПРЕДЕЛЯЮЩИХ МИНОРОВ

При символьном анализе линейных электронных схем на ЭВМ широко применяются декомпозиционные алгоритмы раскрытия определителя, позволяющие исследовать схемы, содержащие десятки узлов и сотни компонентов. Одним из эффективных является алгоритм основанный на построчном вычислении определяющих миноров разреженной полиномиальной матрицы эквивалентных параметров электронной схемы [1, 2]. Характерная особенность его заключается в том, что матрица эквивалентных параметров разбивается на элементарные подматрицы, направляющие строки исходной матрицы. Это обеспечивает исключение многократного повторения одних и тех же логических и арифметических операций, что свойственно алгоритмам, основанным на прямом переборе всевозможных комбинаций элементов матрицы, взятых из ее разных строк и столбцов. Данный алгоритм наиболее целесообразно использовать для формирования обобщенного числа [3] с вынесенными подобными членами, которое формируется один раз, а затем многократно используется для анализа схемы при любом числе ее варьируемых параметров [4].

Для приведенного алгоритма на каждом к-м шаге необходимо производить перемножение миноров — 1)-го порядка пройденных первых к — 1 строк матрицы с определенными ненулевыми элементами ее /г-й строки. Каждое такое произведение в общем случае представляет полином комплексной переменной р, которому ставится в соответствие код, состоящий из номеров столбцов матрицы, относящихся к перемножаемому минору и ненулевому элементу /г-й строки. Полиномы с одинаковыми кодами складываются с учетом знака, определяемого по числу инверсий в коде, и образуют миноры /г-го порядка первых /г строк матрицы. При этом основными логическими операциями являются: проверка принадлежности номера столбца, в котором расположен выбираемый ненулевой элемент /г-й строки матрицы к коду одного из выбранных миноров £ — I строк; проверка принадлежности номеров столбцов, в которых после /г-й строки ненулевые элементы больше не встречаются, к коду каждого получаемого нового минора; определение знака произведения; определение одинаковых кодов полиномов.

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

Коды миноров представим строками битов. Если /-й столбец матрицы относится к ¿-му минору, то в /-м бите 1-й строки битов будет записана единица, в противном случае — нуль. Таким образом, проверка принадлежности номеров столбцов, в которых расположены выбираемые ненулевые элементы /г-й строки матрицы, к коду одного из миноров £ — 1 строк сводится к проверке содержимого соответствующего бита в коде минора.

Определение равенства очередного получаемого 1-го кода произведения с одним из ранее сформированных кодов реализуется без многократных операций сравнения следующим образом. Каждому коду по определенному правилу однозначно ставится в соответствие целое десятичное число Т, записанное в двоичной системе счисления. Это число определяет адрес ячейки во вспомогательном массиве чисел М, в который записываются порядковые номера вычисляемых миноров для /г строк матрицы. Если в Т-й ячейке массива М записано число Ь, отличное от нуля (М (Т) = Ь), то это означает, что данный код ранее уже был сформирован и соответствующее ему произведение (полином) следует отнести к 1-му минору. В противном случае (М (Т) = 0) к множеству полученных миноров, число которых равно яг, добавляется очередной (т -+- 1)-й минор. При этом в Т-ю ячейку массива М записывается число, равное т + 1 (М (Т) = т + 1), и полученное произведение заносится в (т + 1)-й сумматор. Число Т определяется для каждого кода произведения следующим образом. Сформированному коду ставится в соответствие новая строка битов 5, каждый бит которой в отличие от номеров битов кода соответствует не самим номерам столбцов, вошедших во все миноры £ строк, а их порядковым номерам, начиная с единицы. При этом не учитываются те столбцы, которые являются общими для всех миноров. Запол-

нение строки 5 производится начиная с последнего бита. Число Т получается простой пересылкой строки 5 в отведенную ему область памяти ЭВМ. Переход от кода в строке 5 необходим для уменьшения величины числа Т, а следовательно, и размеров массива М.

Значительную экономию временных затрат можно получить также при определении знака произведений. Исследование данного алгоритма раскрытия определителя показывает, что значительная часть произведений (20—50 %) образуется с элементами строк матрицы, номера столбцов которых превышают максимальный номер столбца, вошедшего в выбираемый минор. При этом знак произведения всегда будет положителен и определять его не нужно, так как инверсий в новом коде не будет.

Описанный алгоритм реализован с учетом приведенных модификаций на алгоритмическом языке ПЛ/1 и позволяет формировать обобщенное число с вынесенными подобными членами для реальных электронных схем, содержащих десятки узлов. Затрачиваемое время составляет единицы или десятки секунд для ЭВМ серии ЕС. Основной выигрыш во времени работы ЭВМ по сравнению с другими вариантами реализации этого алгоритма достигается в основном за счет предложенного способа определения совпадающих кодов полиномов. Так, для матрицы, содержащей 39 узлов и 142 ненулевых элемента, обобщенное число по разработанной программе было сформировано за 7 с. При почленном сравнении кодов полиномов временные затраты для этого же примера составили 134 с. В обоих случаях использовалась ЭВМ ЕС-1033. Приведенные характеристики разработанной программы показывают, что она может быть использована не только для формирования обобщенного числа, но и для оптимальной перенумерации строк и столбцов матрицы с целью получения минимального числа операций умножения и сложения.

1. Блажкевич Б. И. Алгоритм вычисления определителя и алгебраических дополнений полиномиальной матрицы// Отбор и передача информации. 1978. Вып. 52. С. 20—24. 2. Семотюк В. Н. Исследование вычислительных характеристик рекуррентной процедуры вычисления определяющих миноров разреженных полиномиальных матриц//Отбор и передача информации. 1980. Вып. 61. С. 39—43. 3. Трохименко Я- К■ Метод обобщенных чисел и анализ линейных цепей. М.: Сов. радио, 1972. 310 с. 4. Ястребов Н. И. Способ кодирования обобщенного числа при использовании декомпозиционного метода раскрытия определителя // Изв. вузов. Радиоэлектроника. 1982. Т. 25, № 6. С. 83—85.

Поступила в редколлегию 25.09.84

УДК 681.3

В. П. ГОНДЮЛ, канд. техн. наук, С. В. ЖЕЛНАКОВ, О. Б. МЕЛЬНИЧУК, студенты

МЕТОД ФОРМИРОВАНИЯ ГРАФИЧЕСКИХ ДОКУМЕНТОВ

С ИСПОЛЬЗОВАНИЕМ БИБЛИОТЕКИ ТИПОВЫХ ИЗОБРАЖЕНИЙ

Базовое программное обеспечение (БПО) автоматизированного рабочего места (АРМ) конструктора содержит программные средства машинной графики, ориентированные на использование экранного

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