Тензоры
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. Ключевые моменты для понимания
- Тензор — это обобщение скаляра, вектора и матрицы
- Ранг = количество индексов
- Размерность = количество значений на индекс
- Тензоры можно складывать, умножать на скаляры, менять индексы, сворачивать
- Используются в математике, физике и компьютерных науках