Математика: векторы


Как и многие математические понятия, векторы могут быть поняты и исследованы по-разному. Есть как минимум два способа взглянуть на векторы:

  • Алгебраический - трактует вектор как набор скалярных значений как единый объект со сложением, вычитанием и скалярным умножением, которые действуют на весь вектор.
  • Геометрический - вектор представляет как величину, так и направление.
Мы можем абстрагироваться от различий в этих подходах и просто посмотреть на то, что всегда верно для векторов, когда мы делаем это, мы получаем набор аксиом, обычно в форме уравнений. Примером аксиомы для векторов является «распределительный закон»:

c (v 1 + v 2 ) = cv 1 + cv 2

где v 1 и v 2 - векторы, а c - скаляр.

Эта аксиома важна, потому что она описывает линейное свойство векторов

Геометрические свойства

Вектор – включает в себя величину и направление; для векторов определены две операции, и обе имеют очень прямую геометрическую интерпретацию. Мы рисуем вектор в виде линии со стрелкой, сейчас я буду называть конец без стрелки «начало» вектора, а конец со стрелкой - «конец» вектора.

Сложение вектора: для сложения двух векторов мы берем начало второго вектора и перемещаем его в конец первого вектора. Сложение этих двух векторов является вектором от начала первого вектора до конца второго вектора.

Скалярное умножение изменяет длину вектора без изменения его направления. То есть мы «масштабируем» его на множитель. Таким образом, скалярное умножение включает умножение скаляра (одного числа) на вектор, чтобы получить другое число. векторное пространство

Мы можем рассматривать эти две операции: сложение векторов и скалярное умножение как определяющие линейное пространство.

Итак, как мы получаем векторы в первую очередь? Мы могли бы предположить, что система координат уже существует и определить все наши векторы в этой системе координат, или мы могли бы начать с набора базовых векторов и представлять векторы как линейную комбинацию этих базовых векторов, то есть путем скалярного умножения и сложения. Из базисных векторов мы можем получить любой вектор в пространстве при условии, что:

Существует столько же базисных векторов, сколько это измерений в пространстве. Все базисные векторы независимы (не более двух находятся в любой данной плоскости). основы

Таким образом, любая точка может быть идентифицирована с помощью:

α Va + β V b

где:
  • α, β = скалярные множители
  • V a , V b = базисные векторы.
Таким образом, два скалярных множителя (α, β) могут представлять положение точки в терминах наших базисных векторов. Это приводит к способу работы с векторами чисто алгебраическим способом.

Алгебраические свойства

Мы можем думать о векторе как о концепции массива в компьютерном языке, например,
  • Векторы имеют размер, который является количеством элементов в массиве.
  • Все элементы в векторе должны быть одного типа.
5,6
9,3
3,5
7,0

Вектор может быть показан в виде одного столбца

8,4 1,8 5,5 6,2

или как ряд

Однако есть отличие от компьютерного массива, потому что в компьютерном случае элементы массива могут быть любыми действительными объектами, если они все одного типа. В случае векторов элементы должны иметь определенные математические свойства, в частности они должны иметь операции сложения и умножения, определенные для них с определенными свойствами.

Свойства, необходимые для элементов вектора, заключаются в том, что они должны образовывать математическую структуру, известную как поле . В математической терминологии это называется вектором над полем, другими словами, вектором, элементами которого являются поля.

Векторы могут также иметь дополнительную структуру, определенную в терминах других умножений, определенных на них, таких как точечные и перекрестные произведения, как мы увидим позже. Сложение и скалярное умножение не являются единственными операциями.

Нотация вектора

До сих пор мы показывали вектор как набор значений в сетке, так как это более удобно на веб-странице html, но обычная запись для вектора - поместить значения в квадратные скобки:



Где:

  • х = компонент вектор в измерении х.
  • у = компонент вектор в измерении у.
  • z = компонент вектор в измерении Z.
Иногда, когда мы представляем весь вектор как символ, мы можем поставить стрелку над символом (в данном случае v ), чтобы подчеркнуть, что это вектор.

В качестве альтернативы мы можем использовать следующие обозначения:

вектор = a 1 x + a 2 y + a 3 z

Где:

  • х = единичный вектор в измерении х.
  • y = единичный вектор в измерении y.
  • z = единичный вектор в измерении z.
Первая форма более удобна при работе с матрицами, тогда как вторую форму легче писать в текстовой форме.

Здесь « x », « y » и « z » являются операторами, их часто можно использовать в уравнениях аналогично переменным, но они могут иметь разные законы (например, умножение может не коммутировать). Это может быть удобным способом кодирования законов для объединения векторов в обычной алгебре.

Отношение к другим математическим величинам

Мы можем расширить концепцию векторов (обычно путем добавления дополнительных типов умножения, чтобы добавить к встроенному сложению и скалярному умножению), чтобы сформировать более сложные математические структуры, в качестве альтернативы мы могли бы думать о векторах как о подмножествах этих структур, например:

В качестве подмножества матрицы или тензора (1 на n или n на 1 матрицу). Матрица - это двумерный массив с точечным произведением.

Как подмножество мультивекторов (алгебра Клиффорда). Например, комплексные числа представляют собой двухэлементные векторы с определенным типом умножения.

Что мы не можем сделать, так это иметь вектор, элементы которого сами по себе являются векторами. Это связано с тем, что элементы вектора должны быть математической структурой, известной как « поле », а вектор сам по себе не является полем, поскольку он не обязательно имеет коммутативное умножение и другие свойства, необходимые для поля.

Тем не менее было бы неплохо, если бы мы могли построить матрицу из вектора (нарисованного в виде столбца), элементы которого сами по себе являются векторами (нарисованы в виде строки):

6 1 7 5
8 4 4 2
2 0 6 9
1 3 0 3

Чтобы создать матрицу путем составления структур, подобных вектору, нам нужно сделать две вещи с «внутренним вектором»:
Нам нужно взять транспозицию так, чтобы это была строка, а не столбец.
Нам нужна операция умножения, которая сделает это поле.

Чтобы сделать это, мы создаем «двойственный» вектор, который называется ковектором.
Векторы могут быть умножены на скаляры, даже если они являются отдельными объектами, например, векторы и скаляры не могут быть добавлены (например, пока мы не доберемся до алгебры Клиффорда ), но мы можем определить тип умножения, называемый скалярным умножением, обычно обозначаемый как «*» или скаляр может быть записан рядом с вектором с умножением. Этот тип умножения занимает один вектор и один скаляр. Скалярное умножение умножает величину вектора, но не меняет его направление, поэтому:
если у нас есть,
vOut = 2 * vIn
где:
VOut и VIn являются векторами
тогда vOut будет вдвое больше величины vIn, но в том же направлении.

Квадратичная структура на линейном пространстве

Однако сами по себе эти линейные свойства недостаточны для определения свойств евклидова пространства с использованием одной алгебры. Чтобы иметь возможность определять такие понятия, как расстояние и угол, мы должны определить квадратичную структуру .

Например, Пифагор:

r 2 = x 2 + y 2 + z 2

в алгебраических терминах,

если а является трехмерным вектором с основаниями е 1 , е 2 , е 3

a = a 1 e 1 + a 2 e 2 + a 3 e 3

так,

a • a = a 1 2 + a 2 2 + a 3 2

Другие векторные алгебры

В обсуждаемой векторной алгебре квадрат вектора всегда является положительным числом:

A x a = 0
a • a = положительное скалярное число

Тем не менее, мы можем определить одинаково действительную и согласованную векторную алгебру, которая возводится в квадрат к отрицательному числу:

a × a = 0
a • a = отрицательное скалярное число

Мы также можем определить алгебру, в которой мы смешиваем размеры, некоторые квадратные с положительными, некоторые квадратные с отрицательными. Примером этого являются эйнштейновы пространственно-временные, пространственные и временные измерения, возводимые в квадрат к различным значениям, если пространство возводится в квадрат к положительному, то время - к отрицательному и наоборот.

Приложения векторов

Для 3D-программирования - в основном занимаемся векторами из 2 или 3 чисел.

Вектор измерения 3 может представлять физическую величину, которая является направленной, такой как положение , скорость , ускорение , сила , импульс и т. д.

Например, если вектор представляет точку в пространстве, эти 3 числа представляют положение в координатах x, y и z ( см. Системы координат ). Где x, y и z - взаимно перпендикулярная ось в некотором согласованном направлении и единицах.

Трехмерный вектор также может представлять смещение в пространстве, такое как перемещение в некотором направлении. В случае библиотеки Java Vecmath это два класса: Point3f и Vector3f, оба производные от Tuple3f. (Обратите внимание, что они используют числа с плавающей точкой, есть также классы, заканчивающиеся на d, которые содержат двойные значения). Класс Point3f используется для представления абсолютных точек, а класс Vector3f представляет смещение. В большинстве случаев поведение этих классов одинаково, насколько я знаю, разница между этими классами заключается в том, что когда они преобразуются матрицей, Point3f будет преобразовываться матрицей, но Vector3f не будет.

Было бы возможно построить векторный класс, который мог бы содержать вектор любого измерения, но переменный класс измерения был бы менее эффективным. Поскольку мы имеем дело с объектами в трехмерном пространстве, более важно эффективно обрабатывать двухмерные и трехмерные векторы.

Альтернативная интерпретация векторов

До сих пор мы думали о векторе как о положении на 2,3 или n-мерной сетке. Однако для некоторых физических ситуаций может не быть готовой определенной декартовой системы координат. Альтернативой может быть представление вектора в виде линейной комбинации из 3 базисов:
σ 1
σ 2
σ 3

Эти основы не должны быть взаимно перпендикулярными (хотя в большинстве случаев они, вероятно, будут), однако они должны быть независимыми друг от друга, другими словами, они не должны быть параллельны друг другу, и все три не должны быть в тот же самолет.
Таким образом, вектор в 3 измерениях может быть представлен как [a, b, c], где a, b и c представляют масштабирование 3 базиса, чтобы сделать вектор следующим образом:

a 1 + b 2 + c 3

Обратите внимание, что если этот вектор представляет положение, то это будет относительная позиция, то есть относительно некоторой другой точки, если мы хотим определить абсолютную точку, нам все равно нужно определить начало координат.

Таким образом, проблема состоит в том, как определить основу, может быть некоторое естественное определение их в проблемной области. В качестве альтернативы мы могли бы определить базу как трехмерные векторы, используя систему координат. Но зачем это делать, если у нас есть система координат, почему бы просто не представить векторы в этой системе координат? Что ж, мы могли бы захотеть изменить системы координат или каким-то образом перевести все.

Например, мы могли бы хотеть представить точки на твердом объекте в некоторой локальной системе координат, но сам твердый объект может перемещаться относительно некоторой абсолютной системы координат.

И еще

Векторы могут управляться матрицами, например, переводиться, вращаться, масштабироваться, отражаться.

Существуют математические объекты, известные как многовекторы, они могут использоваться для выполнения многих задач, выполняемых векторами, но они не имеют некоторых ограничений (например, векторное произведение с ограничениями ограничено 3 измерениями и не имеет обратного).
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, математика, векторы




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Идентичность и равенство объектов в Java
Бинарная посадка
Программа Карточный помощник