Базовые сведения
Матрицы
Матрицей называется прямоугольная таблица чисел, например
Матрицы обозначаются заглавными полужирными буквами ($\mathbf{A}$), а их элементы — соответствующими строчными буквами с индексами, т.е. $a_{ij}$. Первый индекс нумерует строки, а второй — столбцы. В хемометрике принято обозначать максимальное значение индекса той же буквой, что и сам индекс, но заглавной. Поэтому матрицу $\mathbf{A}$ можно также записать как $\{a_{ij}, i = 1,..., I; j = 1,..., J\}$. Для приведенной в примере матрицы $I = 4$, $J = 3$ и $a_{23} = −7.5$.
Пара чисел $I$ и $J$ называется размерностью матрицы и обознается как $I \times J$. Примером матрицы в хемометрике может служить набор спектров, полученный для $I$ образцов на $J$ длинах волн.
Простейшие операции с матрицами
Матрицы можно умножать на числа. При этом каждый элемент умножается на это число. Например:
Две матрицы одинаковой размерности можно поэлементно складывать и вычитать. Например:
В результате умножения на число и сложения получается матрица той же размерности.
Нулевой матрицей называется матрица, состоящая из нулей. Она обозначается $\mathbf{O}$. Очевидно, что $\mathbf{A}+\mathbf{O} = \mathbf{A}$, $\mathbf{A}−\mathbf{A} = \mathbf{O}$ и $\mathbf{O} \mathbf{A} = \mathbf{O}$.
Матрицу можно транспонировать. При этой операции матрица переворачивается, т.е. строки и столбцы меняются местами. Транспонирование обозначается штрихом, $\mathbf{A}'$ или индексом $\mathbf{A}^{\mathrm{t}}$. Таким образом, если $\mathbf{A} = \{a_{ij}, i = 1,..., I; j = 1,...,J\}$, то $\mathbf{A}^\mathrm{t} = \{a_{ji}, j = 1,...,J; i = 1,..., I\}$. Например:
Очевидно, что $(\mathbf{A}^\mathrm{t})^\mathrm{t} = \mathbf{A}, (\mathbf{A}+\mathbf{B})^\mathrm{t} = \mathbf{A}^\mathrm{t}+\mathbf{B}^\mathrm{t}$.
Умножение матриц
Матрицы можно перемножать, но только в том случае, когда они имеют соответствующие размерности. Почему это так, будет ясно из определения. Произведением матрицы $\mathbf{A}$, размерностью $I×K$, и матрицы $\mathbf{B}$, размерностью $K×J$, называется матрица $\mathbf{C}$, размерностью $I×J$, элементами которой являются числа
$$c_{ij} = \sum_{k=1}^{K} a_{ik}b_{kj} = 1$$
Таким образом для произведения $\mathbf{AB}$ необходимо, чтобы число столбцов в левой матрице $\mathbf{A}$ было равно числу строк в правой матрице $\mathbf{B}$. Пример произведения матриц:
Правило перемножения матриц можно сформулировать так. Для того, чтобы найти элемент матрицы $\mathbf{C}$, стоящий на пересечении $i$-ой строки и $j$-ого столбца ($c_{ij}$) надо поэлементно перемножить $i$-ую строку первой матрицы $\mathbf{A}$ на $j$-ый столбец второй матрицы $\mathbf{B}$ и сложить все результаты. Так в показанном примере, элемент из третьей строки и второго столбца, получается как сумма поэлементных произведений третьей строки $\mathbf{A}$ и второго столбца $\mathbf{B}$.
Произведение матриц зависит от порядка, т.е. $\mathbf{AB} ≠ \mathbf{BA}$, хотя бы по соображениям размерности. Говорят, что оно некоммутативно. Однако произведение матриц ассоциативно. Это означает, что $\mathbf{ABC} = (\mathbf{AB})\mathbf{C} = \mathbf{A}(\mathbf{BC})$. Кроме того, оно еще и дистрибутивно, т.е. $\mathbf{A}(\mathbf{B}+\mathbf{C}) = \mathbf{AB} + \mathbf{AC}$. Очевидно, что $\mathbf{AO} = \mathbf{O}$.
Квадратные матрицы
Если число столбцов матрицы равно числу ее строк
Единичной матрицей (обозначается $\mathbf{I}$, а иногда $\mathbf{E}$) называется матрица, у которой все элементы равны нулю, за исключением диагональных, которые равны $1$, т.е.
$$ \mathbf{I} = \begin{bmatrix} 1 & 0 & \dots & 0 \\ 0 & 1 & \dots & 0 \\ \dots & \dots & \dots & 0 \\ 0 & 0 & \dots & 1 \end{bmatrix} $$
Очевидно $\mathbf{AI} = \mathbf{IA} = \mathbf{A}$.
Матрица называется диагональной, если все ее элементы, кроме диагональных ($a_{ii}$) равны нулю. Например
Матрица $\mathbf{A}$ называется верхней треугольной, если все ее элементы, лежащие ниже диагонали, равны нулю, т.е. $a_{ij} = 0$, при $i>j$. Например
Аналогично определяется и нижняя треугольная матрица.
Матрица $\mathbf{A}$ называется симметричной, если $\mathbf{A}^\mathrm{t} = \mathbf{A}$. Иными словами $a_{ij} = a_{ji}$. Например
Матрица $\mathbf{A}$ называется ортогональной, если $\mathbf{A}^\mathrm{t}\mathbf{A} = \mathbf{AA}^\mathrm{t} = \mathbf{I}$.
Матрица называется нормальной если $\mathbf{A}^\mathrm{t}\mathbf{A} = \mathbf{AA}^\mathrm{t}$.
След и определитель
Следом квадратной матрицы $\mathbf{A}$ (обозначается $\mathrm{Tr}(\mathbf{A})$ или $\mathrm{Sp}(\mathbf{A}))$ называется сумма ее диагональных элементов,
Например,
Очевидно, что
$$\mathrm{Sp}(α\mathbf{A}) = α\mathrm{Sp}(\mathbf{A})$$ $$\mathrm{Sp}(\mathbf{A}+\mathbf{B}) = \mathrm{Sp}(\mathbf{A})+ \mathrm{Sp}(\mathbf{B})$$
Можно показать, что
$$\mathrm{Sp}(\mathbf{A}) = \mathrm{Sp}(\mathbf{A}^\mathrm{t}), \mathrm{Sp}(\mathbf{I}) = N$$
а также, что
$$\mathrm{Sp}(\mathbf{AB}) = \mathrm{Sp}(\mathbf{BA})$$
Другой важной характеристикой квадратной матрицы является ее определитель (обозначается $\mathrm{det}(\mathbf{A})$). Определение определителя в общем случае довольно сложно, поэтому мы начнем с простейшего варианта — матрицы $\mathbf{A}$ размерностью ($2×2$). Тогда
$$\mathrm{det}(\mathbf{A}) = a_{11}a_{22} - a_{12}a_{21}$$
Для матрицы (3×3) определитель будет равен
$$\mathrm{det}(\mathbf{A}) = a_{11}a_{22}a_{33} - a_{13}a_{21}a_{31} + a_{12}a_{23}a_{31} - a_{12}a_{21}a_{33} + a_{13}a_{21}a_{31} - a_{11}a_{23}a_{32}$$
В случае матрицы ($N×N$) определитель вычисляется как сумма $1·2·3· ... ·N = N!$ слагаемых, каждый из которых равен
$$(-1)^ra_{1k_1}a_{2k_2}\dots a_{Nk_N}$$
Индексы $k_1, k_2,..., k_N$ определяются как всевозможные упорядоченные перестановки $r$ чисел в наборе $(1, 2, ... , N)$. Вычисление определителя матрицы — это сложная процедура, которую на практике осуществляется с помощью специальных программ. Например,
Отметим только очевидные свойства:
$$\mathrm{det}(\mathbf{I}) = 1, \mathrm{det}(\mathbf{A}) = \mathrm{det}(\mathbf{A}^\mathrm{t})$$ $$\mathrm{det}(\mathbf{AB}) = \mathrm{det}(\mathbf{A})\mathrm{det}(\mathbf{B})$$
Векторы
Если матрица состоит только из одного столбца ($J = 1$), то такой объект называется вектором. Точнее говоря, вектором-столбцом. Например:
$$\mathbf{a} = \begin{bmatrix} 1.2\\10.2\\2.3\\4.5 \end{bmatrix}$$
Можно рассматривать и матрицы, состоящие из одной строки, например:
$$\mathbf{b} = \begin{bmatrix} 1.2 & -5.3 & 0.25 \end{bmatrix}$$
Этот объект также является вектором, но вектором-строкой. При анализе данных важно понимать, с какими векторами мы имеем дело — со столбцами или строками. Так спектр, снятый для одного образца можно рассматривать как вектор-строку. Тогда набор спектральных интенсивностей на какой-то длине волны для всех образцов нужно трактовать как вектор-столбец.
Размерностью вектора называется число его элементов.
Ясно, что всякий вектор-столбец можно превратить в вектор-строку транспонированием, т.е.
$$ \begin{bmatrix}с \\ т \\ о \\ л \\ б \\ е \\ ц \end{bmatrix}^\mathrm{t} = \begin{bmatrix} с & т & р & о & ч & к & а \end{bmatrix}$$
В тех случаях, когда форма вектора специально не оговаривается, а просто говорится вектор, то имеют в виду вектор-столбец. Мы тоже будем придерживаться этого правила. Вектор обозначается строчной прямой полужирной буквой. Нулевым вектором называется вектор, все элементы которого раны нулю. Он обозначается $\mathbf{0}$.
Сложение и умножение векторов
Векторы можно складывать и умножать на числа так же, как это делается с матрицами. Например,
Два вектора $\mathbf{x}$ и $\mathbf{y}$ называются колинеарными, если существует такое число $α$, что $α\mathbf{x} = \mathbf{y}$.
Два вектора одинаковой размерности $N$ можно перемножить. Пусть имеются два вектора $\mathbf{x} = (x_1, x_2,...,x_N)^\mathrm{t}$ и $\mathbf{y} = (y_1, y_2,..., y_N)\mathrm{t}$. Руководствуясь правилом перемножения "строка на столбец", мы можем составить из них два произведения: $\mathbf{x}^\mathrm{t}\mathbf{y}$ и $\mathbf{xy}^\mathrm{t}$. Первое произведение:
$$\mathbf{x}^\mathrm{t}\mathbf{y} = \begin{bmatrix} x_1 & x_2 & \dots & x_N \end{bmatrix}
\begin{bmatrix} y_1 \\ y_2 \\ \dots \\ y_N \end{bmatrix} = x_1 y_1 + x_2 y_2 + \dots + x_N y_n$$
называется скалярным или внутренним. Его результат — это число. Для него также используется обозначение $(\mathbf{x},\mathbf{y}) = \mathbf{x}^\mathrm{t}\mathbf{y}$. Например,
Второе произведение:
$$\mathbf{xy}^\mathrm{t} = \begin{bmatrix} x_1 \\ x_2 \\ \dots \\ x_N \end{bmatrix}
\begin{bmatrix} y_1 & y_2 & \dots & y_N \end{bmatrix} = \begin{bmatrix}
x_1y_1 & x_1 y_2 & \dots & x_1y_N \\
x_2y_1 & x_2 y_2 & \dots & x_2y_N \\
\dots & \dots & \dots & \dots \\
x_Ny_1 & x_N y_2 & \dots & x_Ny_N \\
\end{bmatrix}$$
называется внешним. Его результат — это матрица размерности ($N×N$). Например,
Векторы, скалярное произведение которых равно нулю, называются ортогональными.
Норма вектора и угол между векторами
Скалярное произведение вектора самого на себя называется скалярным квадратом. Эта величина
$$(\mathbf{x}, \mathbf{x}) = \mathbf{x}^\mathrm{t} \mathbf{x} = \sum_{n=1}^N x_n^2 $$
определяет квадрат длины вектора x. Для обозначения длины (называемой также нормой вектора) используется обозначение
$$\lVert \mathbf{x} \rVert = \sqrt{(\mathbf{x}, \mathbf{x})}$$
Например,
Вектор единичной длины ($\lVert \mathbf{x} \rVert = 1$) называется нормированным. Ненулевой вектор ($\mathbf{x} ≠ 0$) можно нормировать, разделив его на длину, т.е. $\mathbf{x} = \lVert \mathbf{x} \rVert (\mathbf{x} \lVert \mathbf{x} \rVert) = \lVert \mathbf{x} \rVert \mathbf{e}$. Здесь $\mathbf{e} = \mathbf{x} / \lVert \mathbf{x} \rVert$ — нормированный вектор.
Скалярное произведение определяет и угол $\phi$ между двумя векторами $\mathbf{x}$ и $\mathbf{y}$:
$$\cos{\phi} = \frac{(\mathbf{x}, \mathbf{y})}{\lVert \mathbf{x} \rVert \lVert \mathbf{y} \rVert }$$
Если вектора ортогональны, то $\cos{\phi} = 0$ и $\phi = \pi /2$, а если они колинеарны, то $\cos{\phi} = 1$ и $\phi = 0$.
Векторы называются ортонормированными, если все они нормированы и попарно ортогональны.
Векторное представление матрицы
Каждую матрицу $\mathbf{A}$ размера $I×J$ можно представить как набор векторов:
$$\mathbf{A} = \begin{bmatrix} \mathbf{a}_1 & \mathbf{a}_2 & \dots & \mathbf{a}_J \end{bmatrix} = \begin{bmatrix} \mathbf{b}_1 \\ \mathbf{b}_2 \\ \dots \\ \mathbf{b}_I \end{bmatrix}$$
Здесь каждый вектор $a_j$ является $j$-ым столбцом, а вектор-строка $b_i$ является $i$-ой строкой матрицы $\mathbf{A}$:
$$ \mathbf{a}_j = \begin{bmatrix} a_{1j} \\ a_{2j} \\ \dots \\ a_{Ij} \end{bmatrix} \mathbf{b}_i = \begin{bmatrix} a_{i1} & a_{i2} & \dots & a_{iJ} \end{bmatrix} $$
Линейно зависимые векторы
Векторы одинаковой размерности ($N$) можно складывать и умножать на число, также как матрицы. В результате получится вектор той же размерности. Пусть имеется несколько векторов одной размерности: $\mathbf{x}_1, \mathbf{x}_2,\dots,\mathbf{x}_K$ и столько же чисел $\alpha$: $\alpha_1, \alpha_2,\dots,\alpha_K$. Вектор:
$$\mathbf{y} = α_1\mathbf{x}_1+ α_2\mathbf{x}_2+ \dots + α_K\mathbf{x}_K$$
называется линейной комбинацией векторов $\mathbf{x}_k$.
Если существуют такие ненулевые числа $\alpha_k ≠ 0, k = 1,..., K$, что $\mathbf{y} = 0$, то такой набор векторов $\mathbf{x}_k$ называется линейно зависимым. В противном случае векторы называются линейно независимыми. Например, векторы $\mathbf{x}_1 = (2, 2)^\mathrm{t}$ и $\mathbf{x}_2 = (−1, −1)^\mathrm{t}$ линейно зависимы, т.к. $\mathbf{x}_1 +2\mathbf{x}_2 = 0$.
Ранг матрицы
Рассмотрим набор из $K$ векторов $\mathbf{x}_1, \mathbf{x}_2,\dots,\mathbf{x}_K$ размерности $N$. Рангом этой системы векторов называется максимальное число линейно-независимых векторов. Например в наборе
$$ \mathbf{x}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}, \mathbf{x}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}, \mathbf{x}_3 = \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix}, \mathbf{x}_4 = \begin{bmatrix} 3 \\ 2 \\ 0 \end{bmatrix} $$
имеются только два линейно независимых вектора, например $\mathbf{x}_1$ и $\mathbf{x}_2$, поэтому ее ранг равен $2$.
Очевидно, что если векторов в наборе больше, чем их размерность ($K>N$), то они обязательно линейно зависимы.
Рангом матрицы (обозначается $\mathrm{rank}(\mathbf{A})$) называется ранг системы векторов, из которых она состоит. Хотя любую матрицу можно представить двумя способами (векторы столбцы или строки), это не влияет на величину ранга, т.к.
$$\mathrm{rank}(\mathbf{A}) = \mathrm{rank}(\mathbf{A}^\mathrm{t})$$.
Обратная и псевдообратная матрицы
Квадратная матрица $\mathbf{A}$ называется невырожденной, если она имеет единственную обратную матрицу $\mathbf{A}^{-1}$, определяемую условиями
$$\mathbf{AA}^{−1} = \mathbf{A}^{−1}\mathbf{A} = \mathbf{I}$$.
Обратная матрица существует не для всех матриц. Необходимым и достаточным условием невырожденности является $\mathrm{det}(\mathbf{A}) ≠ 0$ или $\mathrm{rank}(\mathbf{A}) = N$.
Обращение матрицы — это сложная процедура, для выполнения которой существуют специальные программы. Например:
Приведем формулы для простейшего случая — матрицы $2×2$.
$$ \mathbf{A} = \begin{bmatrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{bmatrix}, \mathbf{A}^{-1} = \frac{1}{\mathrm{det}(\mathbf{A})} \begin{bmatrix} a_{11} & -a_{12} \\ -a_{21} & a_{22} \end{bmatrix} $$
Если матрицы $\mathbf{A}$ и $\mathbf{B}$ невырождены, то
$$(\mathbf{AB})^{−1} = \mathbf{B}^{−1}\mathbf{A}^{−1}$$
Если матрица $\mathbf{A}$ вырождена и обратная матрица не существует, то в некоторых случаях можно использовать псевдообратную матрицу, которая определяется как такая матрица $\mathbf{A}^+$, что
$$\mathbf{AA}^+\mathbf{A} = \mathbf{A}$$
Псевдобратная матрица — не единственная и ее вид зависит от способа построения. Например для прямоугольной матрицы можно использовать метод Мура-Пенроуза.
Если число столбцов меньше числа строк, то
$$\mathbf{A}^+=(\mathbf{A}^\mathrm{t}\mathbf{A})^{−1}\mathbf{A}^\mathrm{t}$$
Например,
Если же число столбцов больше числа строк, то
$$\mathbf{A}^+=\mathbf{A}^\mathrm{t}(\mathbf{AA}^\mathrm{t})^{−1}$$
Умножение вектора на матрицу
Вектор $\mathbf{x}$ можно умножать на матрицу $\mathbf{A}$ подходящей размерности. При этом вектор-столбец умножается справа $\mathbf{Ax}$, а вектор строка — слева $\mathbf{x}^\mathrm{t}\mathbf{A}$. Если размерность вектора $J$, а размерность матрицы $I×J$ то в результате получится вектор размерности $I$. Например,
Если матрица $\mathbf{A}$ — квадратная ($I×I$), то вектор $\mathbf{y} = \mathbf{Ax}$ имеет ту же размерность, что и $\mathbf{x}$. Очевидно, что
$$\mathbf{A}(\alpha_1\mathbf{x}_1 + \alpha_2\mathbf{x}_2) = \alpha_1\mathbf{Ax}_1 + \alpha_2\mathbf{Ax}_2$$
Поэтому матрицы можно рассматривать как линейные преобразования векторов. В частности $\mathbf{Ix} = \mathbf{x}$, $\mathbf{Ox} = 0$.