Тензоры
1. Определение
Тензор — это математический объект, который обобщает понятия скаляра, вектора и матрицы.
Тензор можно рассматривать как многомерный массив чисел, который ведет себя корректно при смене координатной системы (базиса).
- Ранг (порядок) тензора — количество его индексов:
- Ранг 0: скаляр, например $a = 5$
- Ранг 1: вектор, например $\mathbf{v} = [v_1, v_2, v_3]$
- Ранг 2: матрица, например $M = \begin{bmatrix}1 & 2\3 & 4\end{bmatrix}$
- Ранг 3 и выше: многомерные массивы, например $T_{ijk}$
- Размерность тензора — количество значений, которое может принимать каждый индекс.
2. Нотация
- Тензор записывается с индексами: $T_{ijk}$ означает тензор 3-го ранга.
- Индексы показывают, сколько измерений у тензора:
- $i = 1..n$, $j = 1..m$, $k = 1..p$
- В линейной алгебре часто используют нижние ($T_i$) и верхние ($T^i$) индексы, что связано с ковариантностью и контравариантностью, но для первых шагов можно их игнорировать.
3. Основные операции
- Сложение и вычитание
- Можно складывать и вычитать только тензоры одинакового ранга и размерностей:
\[
A_{ij} + B_{ij} = C_{ij}
\]
Пример:
\[
A = \begin{bmatrix}1 & 2\\3 & 4\end{bmatrix},\quad
B = \begin{bmatrix}5 & 6\\7 & 8\end{bmatrix},\quad
A+B = \begin{bmatrix}6 & 8\\10 & 12\end{bmatrix}
\]
- Умножение на скаляр
- Любое число умножается на каждый компонент тензора:
\[
\lambda \cdot T_{ij} = (\lambda T)_{ij}
\]
- Перестановка индексов (транспонирование)
\[
T_{ijk} \to T_{kji}
\]
- Свертка (contraction)
- Суммирование по паре индексов, аналогично следу матрицы:
\[
\text{Tr}(A) = \sum_i A_{ii}
\]
- В общем виде для тензора:
\[
S_{i_1 \dots i_{r-2}} = \sum_k T_{i_1 \dots i_{r-2} kk}
\]
- Умножение тензоров
- Существует несколько видов умножения: поэлементное, внешнее (outer product), свертка (contraction).
\[
(A \otimes B)_{ijkl} = A_{ij} B_{kl}
\]
4. Связь с линейной алгеброй
- Вектор = тензор 1-го ранга: $\mathbf{v} = v_i$
- Матрица = тензор 2-го ранга: $A = A_{ij}$
- Тензоры более высоких рангов = многомерные обобщения матриц
- Любая линейная комбинация компонентов тензора является линейной операцией:
\[
C_{i_1\dots i_r} = \sum_\alpha \lambda_\alpha T^{(\alpha)}_{i_1\dots i_r}
\]
5. Примеры из физики и практики
- Физика:
- Тензор инерции: $I_{ij}$
- Тензор напряжений: $\sigma_{ij}$
- Тензор кривизны: $R_{ijkl}$
- Компьютерные науки:
- Массивы в
NumPy,PyTorch,TensorFlow— это тензоры
- Массивы в
- Машинное обучение:
- Входные данные, веса, промежуточные активации нейросетей — всё тензоры
6. Ключевые моменты для понимания
- Тензор — это обобщение скаляра, вектора и матрицы
- Ранг = количество индексов
- Размерность = количество значений на индекс
- Тензоры можно складывать, умножать на скаляры, менять индексы, сворачивать
- Используются в математике, физике и компьютерных науках