- •Курсовая работа
- •Глава 1
- •Глава 2
- •2.1.1 Матрицы
- •2.1.2 Определители.
- •2.2.1. Функциональные требования
- •2.2.2. Требования к интерфейсу
- •Глава 3
- •3.2.1.Классы
- •3.2.2.Модули
- •3.2.3.Схема алгоритма
- •3.2.4.Обработка исключений
- •Исходный текст программы Project1.Cpp
- •Unit1.H
- •Unit1.Cpp
- •File1.Cpp
- •Unit2.H
- •Unit2.Cpp
- •File2.H
Глава 2
Техническое задание.
2.1.Описание предметной области.
Предлагается разработать калькулятор матриц, следовательно предметной областью будет являться теория матриц. Теория матриц нашла огромное применение в решении систем линейных уравнений и не только, поэтому целесообразно было бы создать такой калькулятор.
2.1.1 Матрицы
Матрицей называется прямоугольная таблица, заполненная некоторыми математическими объектами, например, числами, векторами, функциями, производными, интегралами, операторами и т.д. Будем рассматривать матрицы с элементами из поля действительных чисел, хотя все рассуждения сохраняются и для матриц с другими элементами.
Чаще всего элементы
матрицы обозначаются одной буквой с
двумя индексами, указывающими "адрес"
элемента - первый индекс дает номер
строки, содержащий элемент, второй -
номер столбца. Если матрица имеет m строк
и n столбцов, то говорят, что матрица
имеет размеры
.
Принято обозначать матрицы заглавными
латинскими буквами, часто - полужирными,
а ее элементы - такими же буквами, но
строчными. Таким образом, матрица
(размеров
)
записывается в виде
.
Для краткости
допускается обозначение матрицы размеров
в
виде
,
где индекс i пробегает все значения от
1 до m, а j - от 1 до n. При обозначении матриц
используются скобки - круглые и квадратные.
Матрицы, имеющие одно и то же число n строк и столбцов, называют квадратными; это число n называютпорядкомквадратной матрицы. Важную роль играют так называемыедиагональныематрицы. Под этим подразумеваются квадратные матрицы, имеющие все элементы равные нулю, кроме элементов главной диагонали, т.е. элементов в позициях (1,1), (2,2), ..., (n,n). Диагональная матрица D с диагональными элементами d1, d2, ..., dnобозначается diag(d1, d2, ..., dn). Диагональная матрица diag(1, 1, ..., 1) называетсяединичнойи обозначается E (или En) или же I (или In). Матрица, состоящая из одних нулей, называетсянулевой.
Матрица, состоящая из одной строки, часто называется вектором(строкой, вектор-строкой, строчной матрицей), а из одного столбца -вектор-столбцом(столбцом, столбцовой матрицей).
Две матрицы считаются равными, если они одного размера и у них совпадают элементы, стоящие на одинаковых местах.
Матрицу A={ai j} можнотранспонировать, т.е. заменить строки столбцами, в результате чего получитсятранспонированнаяматрица AT={aj i}.
Две матрицы A={ai
j} и B={bi j} одного и того же размера
можноскладывать, ихсуммойбудет матрица того же размера C={ci j},
,
т.е. чтобы получить сумму двух матрицы
достаточно сложить соответствующие
элементы этих матриц, находящихся на
одних и тех же позициях. Поскольку мы
рассматриваем здесь матрицы с элементами
из поля P действительных чисел, то
очевиднаассоциативностьоперации сложения матриц, вытекающая
из ассоциативности сложения элементов
поля P. Аналогично имеет местокоммутативностьсложения. Таким
образом, справедливы действия:
(A+B)+C=A+(B+C); [Ассоциативность]
A+B=B+A; [Коммутативность]
Матрица 0, состоящая из нулей, играет роль нуля: A+0=A при любой A.
Определим произведениеэлемента c из поля P на матрицу A={ai j}: cA={cai j}, т.е. чтобы умножить матрицу на число необходимо каждый элемент матрицы умножить на это число.
Для любой матрицы A существует противоположная матрица -A такая, что A+(-A)=0. В качестве матрицы -A, очевидно, следует взять матрицу (-1)A, элементы которой отличаются от элементов A знаком.
.
.
.
.
Все перечисленные свойства матриц непосредственно следуют из определений и свойств действий в поле чисел.
Рассмотрим матрицу
A={ai j} размером
и
матрицу B={bi j} размером
.
Число столбцов первой матрицы (стоящей
слева в произведении) равно числу строк
второй матрицы (стоящей справа в
произведении). Для матриц, обладающих
таким свойством и только для таких
матриц, можно ввести действиеумножения
матрицы на матрицу, в результате
чего получается матрица C={ci j}
размером
,
где
.
Правило умножения легко запомнить в
словесной форме:
"чтобы получить
элемент произведения ci jдвух
матриц нужно элементы i-ой строки первой
матрицы умножить на соответствующие
элементы j-го столбца второй матрицы и
все произведения сложить". Это правило
называют "правилом строка на столбец".
Пример:

Пусть A={ai j}
размером
и
B={bi j} размером
,
а также введем векторы
,
и
.
Рассмотрим линейные подстановки с этими
матрицами:
(!:
во вторую строчку вкралась ошибка,
найдите ее)
и
.
Эти подстановки, используя определение умножения матриц, можно записать в матричном виде: Y=AX, X=BT.
Покажем, что если эти две подстановки сделать одну за другой, т.е. выразить переменные y1, ..., ymчерез t1, ..., tk, то матрица коэффициентов окажется равной AB.
Действительно, пусть
.
Тогда коэффициент ci jесть коэффициент при tjв yi. Выпишем все необходимое для вычисления этого коэффициента:
.
При подстановке x1, x2, ..., xkв yi, получим
.
Таким образом,
,
так что матрица коэффициентов в выражениях
y1, ..., ymчерез t1, ..., tkдействительно равна AB.
Итак,
последовательному произведению
("суперпозиции") двух
линейных подстановок соответствует
произведение их матриц. В матричной
форме суперпозицию этих подстановок
можно записать в виде Y=A(BT). Вместе с тем
матрица суперпозиции равна AB, и этот
факт записывается так: Y=(AB)T. Таким
образом, верно следующеесоотношение
ассоциативности:
A(BT)=(AB)T, где T - столбец.
Рассмотрим теперь свойства действия умножения матриц:
(cA)B=A(cB)=cAB;
(A1+A2)B=A1B+A2B;
A(B1+B2)=AB1+AB2.
Эти свойства непосредственно вытекают из того, что элементы произведения выражаются как через элементы A, так и через элементы B в виде линейных однородных многочленов. Это можно проверить, используя правило умножения и сложения матриц, группируя необходимые слагаемые).
(AB)C=A(BC) [ассоциативность умножения].
Это свойство трактуется таким образом, что если одна из частей равенства имеет смысл, то имеет смысл и другая, и они равны. Это равенство можно доказать, воспользовавшись следующим простым замечанием. Пусть P и Q - две матрицы такие, что PQ имеет смысл. Пусть Q1, Q2, ..., Qk- столбцы матрицы Q. Тогда столбцами матрицы PQ являются PQ1, PQ2, ..., PQk, что непосредственно следует из определения. Это обстоятельство можно записать в виде P(Q1, Q2, ..., Qk) = (PQ1, PQ2, ..., PQk).
Обозначим через C1, C2, ..., Clстолбцы матрицы C. Тогда (AB)C = ((AB)C1, (AB)C2, ..., (AB)Cl). Далее, BC = (BC1, BC2, ..., BCl) и A(BC) = (A(BC1), A(BC2), ..., A(BCl)). Но как было установлено выше, (AB)C1= A(BC1), (AB)C2= A(BC2), ..., ибо C1, C2, ... - столбцы. Таким образом, (AB)C = A(BC).
Особую роль при умножении матриц играют единичные матрицы En(если нужно буквой n указать порядок) или просто E. Из правила умножения матриц непосредственно следует, что AE=A и EA=A, если эти произведения определены.
(AB)T=BTAT. Об этом свойстве произведения матриц говорят так: "при транспонировании произведения матриц порядок сомножителей меняется".
Докажем это.
Пусть
,
.
Положим
,
,
так что
,
.
Пусть, далее,
,
.
Тогда
,
.
Итак,
при
всех i = 1, 2, ..., m и j = 1, 2, ..., n, а это и означает,
что G=FT, т.е.
,
что и требовалось доказать.
Подведем итоги.
Матрицы можно складывать, умножать их на число, а также умножать матрицы друг на друга. Эти действия обладают свойствами:
(A+B)+C=A+(B+C);
A+B=B+A;
Существует 0: A + 0 = 0 + A = A;
Для A существует -A: A + (-A)=0;
.
.
.
.
Если для некоторых объектов (в нашем случае, это матрицы) выполняются эти восемь свойств, то говорят, что эти объекты образуют векторное пространство, так чтоматрицы фиксированных размеров образуют векторное пространство.
(AB)C=A(BC).
(cA)B=A(cB)=cAB.
(A1+A2)B=A1B+A2B.
A(B1+B2)=AB1+AB2.
Существуют единичные матрицы (единицы), а именно, если A размером
,
то EmA
= AEn
= A. (AT)T = A.
(A + B)T = AT + BT.
(cA)T = cAT.
(AB)T = BTAT.
Для квадратных матрицфиксированного порядка n действия сложения и умножения определены всегда, и их результатами являются квадратные матрицы того же порядка. Об этом обстоятельстве говорят таким образом: квадратные матрицы фиксированного порядка образуюткольцо. Кольцо, наделенное структурой векторного пространства, т.е. система объектов, обладающих свойствами 1-12, называетсяалгеброй над основным полем. Таким образом, квадратные матрицы с элементами из поля K составляют алгебру над этим полем.
