MatSym
Cимвольный матричный процессор
Автор: В.В.Филаретов
Скачать архив программы (114KB)
MATSYM.exe позволяет решать системы линейных алгебраических уравнений AX=B в форме отношения двух вложенных детерминантных выражений. Все элементы матрицы и вектора свободных членов представляются в символьном виде. Порядок матрицы не должен превышать 190. Вычислительная сложность выражений минимизируется до оптимального числа операций и символов. Файл конфигурации программы MATSYM носит имя setup.sym.
Для использования программы необходим MAT-файл Вашей системы уравнений или матрицы, который создается заново или получается путем модификации другого MAT-файла в любом текстовом редакторе. Примеры MAT- файлов прилагаются: !.mat, !!.mat, fad4.mat, slae5.mat, slae6.mat, slae7.mat, hil8.mat, anal9.mat, gin40.mat.
Ввод данных о системе уравнений
В первой строке MAT-файла размещается текст, который идентифицирует Вашу систему уравнений. Строки и столбцы матрицы нумеруются в произвольном порядке целыми числами. Число строк (столбцов) не должно быть более 190.
Все последующие строки MAT-файла должны начинаться с первой позиции. Текст MAT-файла может прерываться комментариями - строками, начинающимися с символа "*". После последней команды MAT-файла (.END) может следовать произвольный текст.
Начиная со второй строки (если нет комментариев - "*"), вводятся элементы матрицы коэффициентов и вектора свободных членов по одному элементу в каждой строке. Элементы, значения которых равны нулю, не указываются. При этом с первой позиции строки размещается имя соответствующего элемента, которое обязательно начинается с символа "а" (для элемента матрицы) или "в" (для элемента вектора). Далее, через пробел следуют номера строки и столбца, на пересечении которых размещается этот элемент, а затем численное значение элемента. При задании элементов вектора указывается только номер соответствующей строки и численное значение.
Численные параметры используются программой MATSYM при формировании заголовка - инициирующей части выражения определителя или решения системы уравнений. В заголовке формулы выполняется присваивание численных значений элементам матрицы и вектора.
Для вычисления алгебраических дополнений и многократных алгебраических дополнений в программе MATSYM предусмотрено использование сингулярного ("бесконечного") элемента матрицы. Имена сингулярных элементов в MAT-файле начинаются с символов "n". Сингулярные элементы позволят Вам эффективно решать системы линейных алгебраических уравнений с матрицами, некоторые элементы которых имеют бесконечно большие значения. При этом исключается необходимость в формировании избыточного выражения и последующем предельном переходе, что характерно для известных систем компьютерной алгебры. В строках задания сингулярных элементов численные значения не указываются.
Кроме первой строки - названия задачи, строк задания элементов матрицы и вектора, а также строк - комментариев, начинающихся с символа "*", MAT-файл должен содержать строки-команды, которые начинаются с символа ".". В строке-команде на вычисление элемента вектора неизвестных X со второй позиции указывается имя элемента, начинающееся с символа "x", затем, после пробела, помещается порядковый номер элемента в векторе X (номер строки). Строка-команда для вычисления определителя матрицы A имеет вид: ".DET". Завершает MAT-файл строка команда ".END".
MAT-файл создается и модифицируется в любом текстовом редакторе формата ASCII. Правила занесения элементов системы уравнений AX=B и команд в MAT-файл иллюстрируются ниже.
В MATSYM-2001 предусмотрено задание следующих элементов:
*
* (n1,n2)-элемент матрицы A с именем aname и значением value
*
аname n1 n2 value
*
* n1-элемент вектора В с именем bname и значением value
*
bname n1 value
*
* Команда для вычисления n1-элемента вектора решения X (этому
* элементу присвоено имя xname
*
.xname n1
*
* Команда для вычисления определителя матрицы A
*
.DET
*
* In order to calculate cofactor and multiple cofactor, ideal
* (invinite) matrix element must be specified. This is done
* by placing the following line at the element list:
*
* Сингулярный (n1,n2)-элемент матрицы A, условно имеющий бесконечно
* большое значение (используется для нахождения алгебраических ополнений
* определителя матрицы A и решения системы AX=B без предельного
* перехода)
*
nname n1 n2
*
* Конец MAT-файла
.END
MAT-файл, в названии которого указывается название матрицы или системы уравнений - system_name должен иметь имя system_name.mat. По умоланию, если имя матрицы не указано, программа MATSYM использует файл с именем mat.
Выполнение
Для получения аналитического решения системы уравнений или разложения определителя матрицы необходимо выполнить команду matsym.exe. После чего программа запросит имя входного файла. Предусмотрены два способа введения имени файла:
1) Если пользователь введет имя MAT-файла c расширением .mat (system_name.mat), то программа MATSYM сформирует файл matrix_name.out.
2) Если пользователь предварительно перепишет файл system_name.mat в файл mat, то ему будет достаточно нажать клавишу . В этом случае программа MATSYM сформирует файл с именем out.
Файлы system_name.out и out могут быть далее исследованы в комплексной области с помощью интерпретатора CALCSYM. Причем для указания CALCSYM файла out будет достаточно нажать . В случае одновременного использования программ CIRSYM и CALCSYM вызывается командный файл CALCMAT.BAT и дважды нажимается клавиша (предполагается, что копия MAT-файл системы находится в файле mat).
Литература
1. Filaretov V.V. Improved decoding method for electrical network analysis // Electrical technology.- 1996.- N 4.- P. 41-53.
2. Filaretov V.V. A topological analysis of electronic circuits by a parameter extraction method // Electrical Technology Russian.- 1998.- N 2.- P. 46-61.
3. Филаретов В.В. Формирование символьных функций для активных электрических цепей методом стягивания и удаления ветвей // Электричество.- 2001.- N 4.-С.43-51.
4. Филаретов В.В. Схемное отображение матрицы для символьного решения систем линейных алгебраических уравнений // Логико-алгебраические методы, модели, прикладные применения: Тр. международ. конф.- Ульяновск, 2001.- Т. 3.- С. 10-12.
(C) Ульяновск, СИМВОЛсофт
 
|