Оригинал статьи:
http://www.gregegan.net/ORTHOGONAL/01/DualPythagoreanExtra.html
Дуальные векторы
Предположим, что V – n-мерное векторное пространство, а f – линейная функция, отображающая V на множество действительных чисел R.
Ядром функции f – обозначается ker f – называется подпространство V, в котором f обращается в нуль. ker f имеет размерность не менее n – 1 (а если функция f не равна тождественно нулю, то эта размерность точно совпадает с n – 1). Например, если n = 2 и f ≠ 0, то f будет обращаться в нуль на прямой, проходящей через нулевую точку V. Если n = 3 и f ≠ 0, то f будет обращаться в нуль на плоскости, проходящей через нулевую точку и так далее. Этот результат является следствием одной из базовых теорем линейной алгебры – «теоремы о ранге и дефекте».
На рисунке показан пример с двумя измерениями; в данном случае функция f обращается в нуль на прямой, проходящей через начало координат параллельно вектору k.
Если мы выберем некий вектор v, для которого f(v) отлично от нуля, то в пространстве V найдется такая прямая, проходящая не через начало координат, а через конец вектора v, на которой f всюду равна f(v). Получить эту прямую можно, прибавляя к v векторы, кратные k:
Последнее равенство имеет место лишь в силу нашего выбора v, при котором f(v) = 1. Однако любое множество, в пределах которого f сохраняет постоянное значение, будет иметь аналогичный вид: прямая, параллельная вектору k. По аналогии с тем, как на этой диаграмме мы изобразили различные векторы в виде стрелок разной длины и направления, различные линейные функции можно изобразить в виде набора параллельных прямых, варьируя расстояние между соседними прямыми и их ориентацию.
Чем больше вектор, тем длиннее соответствующая ему стрелка; при этом увеличение функции в наших обозначениях выражается не в увеличении промежутков между прямыми, а, наоборот, в более плотном их расположении. Например, чтобы изобразить функцию g = 2f нужно вставить дополнительную прямую между каждыми двумя соседними линиями сетки f, поскольку g достигает 1, когда f равна всего лишь 1/2.
Значение f по сути определяет количество промежутков между параллельными прямыми, покрываемыми данным вектором. Так, стрелка, соответствующая вектору w, покрывает два целых промежутка в наборе прямых, соответствующем f, поэтому f(w) = 2. Нам потребуется также учесть стрелки, которые пересекают прямые f в обратном направлении, что дает отрицательное количество промежутков (как в случае p), а также стрелки, которые не покрывают целое число промежутков (например, q), так что в данном случае мы скорее полагаемся на геометрическую интуицию, нежели строгое математическое определение. Но вы, вероятно, уже понимаете, как эта идея соотносится с примерами, приведенными в основной статье, где обсуждалось, сколько борозд на поле или линий равной высоты на карте мы могли бы насчитать, пройдя заданное расстояние в определенном направлении.
Если V содержит более двух измерений, то вместо набора параллельных линий V мы получим набор параллельных плоскостей или гиперплоскостей размерности n–1.
Теперь рассмотрим множеств всех линейных функций из V в R. Это множество также можно представить в виде особого n-мерного векторного пространства, которое называется сопряженным по отношению к V и обозначается V*. Элементы пространства V*, такие как f, мы будем называть дуальными векторами.
Чтобы превратить множество в вещественное векторное пространство, мы должны уметь складывать его элементы друг с другом и умножать их на вещественные числа. В случае множества линейных функций, определенных на V, добиться этого можно весьма очевидным образом; если f и g – элементы V*, v – элемент V, а s – вещественное число, то сумму f + g и результат скалярного умножения s f мы определим, указав значения соответствующих им функций:
Как и в случае с любым другим векторным пространством мы можем выбрать в V* базис, состоящий из n линейных функций, через которые можно выразить любую функцию в V*. Обозначив элементы этого базиса {e1,e2, … en}, мы можем записать:
,
где f1 и т. д. представляют собой компоненты f относительно выбранного базиса. Если для обозначения компонентов вектора в данных заметках мы будем пользоваться верхними индексами, то для компонентов дуального вектора – наоборот, нижними. Аналогичным образом отдельные векторы базиса будут обозначаться нижними индексами, в то время как векторы дуального базиса – верхними.
Если в пространстве V задан конкретный базис {e1, e2, … en}, то базис {e1, e2, … en} в пространстве V* мы будем называть дуальным по отношению к базису V, если выполняется следующее условие:
,
где δij, известный также как символ Кронекера, равен 1, когда i=j, и 0, когда i≠j. С геометрической точки зрения это означает, что функцию ei при заданном i можно представить в виде такого набора параллельных линий или плоскостей в пространстве V, что вектор ei покрывает ровно один его промежуток, в то время как все остальные векторы базиса ej находятся на прямой или плоскости, проходящей через начало координат и не пересекают его вообще. Так, на следующем чертеже вектор e2 лежит на прямой e1 = 0, а вектор e1 – на прямой e2 = 0.
При заданном в V базисе {e1, e2, … en} мы можем найти компоненты произвольной линейной функции f из V* относительно соответствующего дуального базиса, просто передав в функцию f каждый из векторов ei в исходном базисе. Поскольку два базиса дуальны друг другу, все базисные функции, кроме ei, обратятся в нуль на векторе ei, поэтому в итоговой сумме останется только соответствующий ей множитель fi.
,
Если компоненты вектора v в пространстве V в некотором фиксированном базисе равны vi, а компоненты дуального вектора f в пространстве V* в соответствующем дуальном базисе равны fi, то:
,
где для сокращенной записи суммы по повторяющимся индексам (например, ) мы воспользовались соглашением Эйнштейна.
Предположим, что в пространстве V определено скалярное произведение. Тогда для любого вектора w из V, мы можем определить линейную функцию fw из V*:
Аналогичным образом, если f – произвольная линейная функция в пространстве V*, то существует такой вектор wf, что f(v) = v · wf для любого v из V. Выберем для V ортонормированный базис {e1, e2, … en}, а затем, вновь воспользовавшись соглашением Эйнштейна, определим wf как
Компоненты fi определяются по отношению к тому базису V*, который является дуальным к выбранному нами ортонормированному базису в пространстве V. Тогда:
Таким образом, каждом элементу пространства V можно взаимно однозначно сопоставить элемент сопряженного пространства V*, и наоборот.
Вектор fi ei, который мы таким образом сопоставляем f, ортогонален любому вектору k, принадлежащему ядру f, поскольку скалярное произведение k и fi ei совпадает с f(k) = 0. Так как все прямые (или плоскости и т.д.) в наборе, который мы используем в качестве изображения f, параллельны прямой (плоскости и т. д.), проходящей через начало координат, т.е. ядру функции f, то данный набор будет целиком ортогонален вектору fi ei.
Мы можем определить скалярное произведение в пространстве V*, если условимся, что любой базис, дуальный по отношению к некоторому ортонормированному базису в V, сам является ортонормированным. Это позволяет определить “длину” или модуль дуального вектора f посредством его квадрата:
Здесь fi – компоненты f в базисе {e1, e2, … en} пространства V*, который дуален ортонормированному базису пространства V.
В соответствии с нашей геометрической интерпретацией f, каждая компонента fi = f(ei) представляет собой количество “промежутков в наборе параллельных прямых”, покрытых базисным вектором ei. Иными словами, эти компоненты являются аналогами количеств осцилляций волны, которые укладываются в одном метре вдоль осей x и y соответственно (см. рисунок).
Предположим теперь, что мы пересекаем сетку линий по перпендикуляру – направив единичный вектор параллельно fi ei – иначе говоря, вектор fi ei / |fi ei| – который, как нам известно, ортогонален всем прямым сетки. Количество промежутков, покрытых таким ортогональным вектором, будет равно:
Это альтернативная формулировка дуальной теоремы Пифагора! Измерив количество промежутков, покрываемых единичным вектором, направленным по перпендикуляру к сетке, мы получаем число |f|, квадрат которого, как мы только что убедились, равен сумме квадратов аналогичных измерений, выполненных при помощи единичных векторов, ориентированных вдоль каждого из n взаимно перпендикулярных направлений.