Перематрица
Описание
В верхней части окна программы находятся (слева направо):
- Строка команд — используется для ввода команд по работе с матрицами и дробями;
- Кнопка "Ага" — выполняет команду из строки команд, если Вам недосуг нажать Enter на клавиатуре;
- Список непустых матриц — позволяет вывести на экран любую из определённых (т. е. инициализированных ранее) матриц;
В средней части окна находится поле для ввода матриц и вывода результата, а в нижней — строка состояния, служащая для вывода сообщений об ошибках.
Программа одновременно может хранить до 26 матриц, обозначаемых малыми латинскими буквами a-z. Элементы матриц — простые дроби, что уже само по себе интересно. Матрицы можно перемножать, складывать, вычитать, умножать или делить на число, транспонировать, считать определители, ранги, брать миноры (с чертой или без), считать алгебраические дополнения или находить обратные матрицы.
Вот символика, которую следует придерживаться при вводе команд:
- a-z — обозначают матрицы, которые хранятся в памяти программы до её закрытия.
- 0-9 — служат для ввода числовых литералов.
- ? — обозначает текущую матрицу, т. е. ту, которая отображается в рабочей области или была введена туда пользователем.
- = — операция присваивания; например, команда a=? приведёт к тому, что введённая в рабочую область матрица будет сохранена в матрице-переменной с именем a. При вводе матрицы в рабочую область следует учитывать, что числа, составляющие матрицу, должны быть введены в виде десятичных (разделитель целой и дробной части — точка или запятая) или простых дробей (числитель/знаменатель). При вводе все символы, кроме чисел, игнорируются, а относящимися к матрице считатся первая строка и те последующие, число чисел в которых равно числу чисел в первой.
- +, -, *, / — математические операции между матрицами и/или числами.
- . — служит для разделения целой и дробной частей в числовых литералах.
- [] — означают операции над элементами матрицы:
- x[i,j], где x — имя матрицы или выражнение, возвращающее матрицу, а i, j —индексы соответственно строки и столбца, означает обращение к элементу матрицы (числу). Например: a*b[1,2], a[1,3]+b[2,1], a[1,1]=7.
- x_[i,j] — возвращает алгебраическое дополнение для данного элемента; присваивание этому выражению невозможно.
- x[i,...,j;k,...,l] — берёт минор (без черты) от данной матрицы по данным строкам и столбцам; возвращает матрицу. Примеры: ?[1,2,3;1,2], a[1,3;3,4,5,7].
- x_[i,...,j;k,...,l] — берёт минор с чертой по тому же правилу.
- () — устанавливают приоритет выполнения операций: выражение в скобках выполняется раньше выражения вне скобок. Допускаются вложенные скобки.
- |x| — берёт определитель от указанной матрицы, например: |?|, |(a*b)|.
- {x} — считает ранг указанной матрицы.
- T — символ транспонирования; например, aT транспонирует матрицу из переменной a.
- I — символ обратной матрицы, например: aI, ((?+c)*b)I.
- E, O — соответственно единичная и нулевая матрицы; не знаю, зачем они нужны, но на них можно умножать любую другую матрицу.
- ~ — сравнение; можно сравнить два числа или две матрицы.
При составлении команд следует учитывать, что операции выполняются в следующей последовательности:
- Операции в скобках;
- Транспонирование, нахождение обратных матриц;
- Обработка квадратных скобок;
- Вычисление рангов, определителей;
- Умножение, деление, сложение, вычитание;
- Присваивание;
- Сравнение.
В рабочей области отображается результат последней произведённой операции. Пробелы в команде допускаются; все они игнорируются.