14.2. Постановка задачи 217
ственная, матрица A
−1
порядка n, такая, что AA
−1
= A
−1
A = E, где E —
единичная матрица порядка n. Матрица A
−1
называется обратной к A.
Системой n линейных уравнений с n неизвестными x
1
,. .. ,x
n
и правыми
частями b
1
,b
2
,. .. ,b
n
называется система уравнений вида
a
11
x
1
+ a
12
x
2
+ ... + a
1n
x
n
= b
1
a
21
x
1
+ a
22
x
2
+ ... + a
2n
x
n
= b
2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a
n1
x
1
+ a
n2
x
2
+ ... + a
nn
x
n
= b
n
Набор чисел x
1
,x
2
,. .. ,x
n
, подстановка которых в каждое уравнение си-
стемы превращает его в тождество, называется решением системы урав-
нений. Можно доказать, что система имеет единственное решение тогда и
только тогда, когда матрица этой системы (a
lk
)
n, n
l=1,k=1
невырождена.
Это почти вся теория, которая нам нужна для дальнейшей работы.
14.2. Постановка задачи
Чтобы решать задачи, связанные с матрицами, построим класс Numeri-
calMatrix (ЧисловаяМатрица), предоставляющий следующие возможности:
• Создание матрицы любого размера.
• Задание значения любого элемента матрицы.
• Выполнение стандартных матричных операций, как-то: (1) сложение
двух матриц, (2) умножение матрицы на число, (3) умножение матри-
цы на матрицу, (4) умножение строки матрицы на число, (5) сложение
(вычитание) двух строк матрицы, (6) возвращение любого элемента мат-
рицы, (7) построение транспонированной матрицы.
• Проверка, является ли матрица квадратной, и нахождение для такой мат-
рицы: (a) определителя, (b) обратной матрицы, если она есть, (c) реше-
ния системы линейных уравнений с заданной правой частью.
Для решения таких задач нужна только таблица чисел, представляю-
щая конкретную матрицу, по которой можно было бы достаточно просто
определить ее размеры. При этом мы предполагаем, что уже определенная
матрица не может менять своих размеров. Если требуется изменить размер
матрицы — удалить или добавить несколько строк и/или столбцов, то надо
определять по исходной матрице новую. Поэтому определим матрицу как
массив элементов, каждый из которых является числовым массивом — эк-
земпляром созданного ранее класса NumberArray. При таком определении
число строк матрицы — размер массива, а число столбцов — размер любо-
го элемента массива. Возможны и другие варианты определения структуры
экземпляра класса NumericalMatrix.