Линейные комбинации и линейная оболочка

Любой вектор плоскости можно собрать из двух непараллельных стрелок — нужно лишь подобрать коэффициенты.

Линейная комбинация векторов $\vec{v}_1, \dots, \vec{v}_k$ — это вектор вида $c_1 \vec{v}_1 + \dots + c_k \vec{v}_k$, где $c_i$ — произвольные числа.

Линейная комбинация — это «рецепт»: взять столько-то одного вектора, столько-то другого и сложить. Множество всех таких рецептов называют линейной оболочкой (span). Этот простой вопрос — «что можно собрать?» — лежит в основе понятий базиса, ранга и размерности.

Что такое span

Возьмём два вектора на плоскости. Если они не параллельны, то, подбирая коэффициенты $c_1$ и $c_2$, можно дотянуться до любой точки плоскости — их линейная оболочка есть вся плоскость. Если же векторы параллельны (один кратен другому), любая их комбинация лежит на одной прямой — оболочка «схлопывается» в линию.

$$\text{span}(\vec{v}_1, \vec{v}_2) = \{\, c_1 \vec{v}_1 + c_2 \vec{v}_2 \;\mid\; c_1, c_2 \in \mathbb{R} \,\}$$

Найти коэффициенты

Пусть базисные векторы $\vec{e}_1 = (1, 1)$ и $\vec{e}_2 = (1, -1)$, а цель — вектор $\vec{w} = (5, 6)$. Нужно решить:

$$c_1 (1, 1) + c_2 (1, -1) = (5, 6) \;\Longrightarrow\; \begin{cases} c_1 + c_2 = 5 \\ c_1 - c_2 = 6 \end{cases}$$

def combo(c1, c2, e1, e2):
    return [c1 * e1[i] + c2 * e2[i] for i in range(len(e1))]

e1 = [1, 1]
e2 = [1, -1]
# решаем c1+c2=5, c1-c2=6 вручную:
c1 = (5 + 6) / 2   # 5.5
c2 = (5 - 6) / 2   # -0.5
print("c1 =", c1, "  c2 =", c2)
print("проверка:", combo(c1, c2, e1, e2))

Вывод:

c1 = 5.5   c2 = -0.5
проверка: [5.0, 6.0]

Координаты в новом базисе

Числа $(5{,}5;\, -0{,}5)$ — это координаты вектора $\vec{w}$ в базисе $\{\vec{e}_1, \vec{e}_2\}$. Тот же самый вектор $(5, 6)$ в стандартном базисе имеет координаты $(5, 6)$, а в нашем — другие. Координаты всегда относительны выбранного базиса; это ключевая идея последнего раздела курса.

Как работает под капотом

Функция combo буквально реализует определение: умножает каждый базисный вектор на свой коэффициент и складывает. Систему из двух уравнений мы решили вручную сложением и вычитанием, но в общем случае подбор коэффициентов — это и есть решение системы линейных уравнений, которым мы займёмся в разделе про метод Гаусса. Линейная комбинация — это операция «вперёд» (по коэффициентам строим вектор), а поиск коэффициентов — операция «назад».

Частые ошибки

  • Считать, что два любых вектора покрывают плоскость. Если они параллельны — оболочка лишь прямая.
  • Забывать, что коэффициенты могут быть отрицательными и дробными — иначе «дотянуться» до некоторых точек не выйдет.
  • Путать вектор и его координаты. Один и тот же вектор в разных базисах записывается разными наборами чисел.

Итог

  • Линейная комбинация — взвешенная сумма векторов с произвольными коэффициентами.
  • Span (линейная оболочка) — множество всех таких комбинаций: что вообще можно собрать.
  • Два непараллельных вектора покрывают всю плоскость; параллельные — только прямую.
  • Координаты вектора зависят от выбранного базиса.
Проверьте себя
1. Что такое линейная оболочка (span) набора векторов?
AСамый длинный из векторов
BМножество всех их линейных комбинаций
CИх сумма
DИх скалярное произведение
2. Линейная оболочка двух параллельных (коллинеарных) ненулевых векторов на плоскости — это:
Aвся плоскость
Bпрямая
Cточка
Dтрёхмерное пространство
3. Координаты (5.5, -0.5) вектора w в базисе {e1, e2} означают, что:
Aw = 5.5·e1 + (-0.5)·e2
Bдлина w равна 5.5
Cw перпендикулярен e1
De1 и e2 параллельны