Позиционные коды векторов

Позиционные коды векторов

Содержание

Специальная алгебра многомерных векторов[1]

Специальное умножение

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

\circledast 1 i
1 1 i
i i -1

где i - мнимая единица. Таблица умножения трехмерных векторов имеет вид

\circledast i j k
i i j k
j j k -i
k k -i -j

где i, j, k - орты. Таблица умножения четырехмерных векторов имеет вид

\circledast i j k m
i i j k m
j j k m -i
k k m -i -j
m m -i -j -k

где i, j, k, m - орты, и т.д. Этим вполне определяется умножение векторов [2]. Однако, это умножение не имеет ничего общего с векторным или скалярным умножением векторов и, в отличие от них, обозначается в дальнейшем символом \circledast и называется специальным умножением. Умножение, определенное такими таблицами для ортов, является ассоциативным и коммутативным. Следовательно, специальное умножение любых векторов векторного пространства также будет ассоциативным и коммутативным [2]. Таким образом, множество всех n-мерных векторов составляет кольцо относительно операций обычного сложения и специального умножения. Иными словами, указанные таблицы определяют в n-мерном пространстве ассоциативную и коммутативную алгебру без деления [2].
Вектор не изменяется при умножении на орт \mathbf i.

Деление [3]

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

B = a\mathbf i+b\mathbf j+c\mathbf k,

то множество недопустимых значений этого делителя определяется условием

\ B = a^3-b^3+c^3+3abc=0.

Возведение в целую степень

Вектор в нулевой степени равен \mathbf i.
Возведение вектора в целую степень n > 0 определяется как многократное умножение. Например, для ортов трехмерных векторов

\mathbf i^n = \mathbf i,
\mathbf j^1 = \mathbf j, \mathbf j^2 = \mathbf k, \mathbf j^3 = -\mathbf i, \mathbf j^4 = -\mathbf j, \mathbf j^5 = -\mathbf k, \mathbf j^6 = \mathbf i,
\mathbf k^1 = \mathbf k, \mathbf k^2 = -\mathbf j, \mathbf k^3 = \mathbf i.

Для трехмерных векторов выполняется условие \mathbf j \circledast \mathbf k = -\mathbf i. Следовательно, \frac{\mathbf i}{\mathbf k} = -\mathbf j , \frac{\mathbf i}{\mathbf j} = -\mathbf k и \mathbf j^{-1}= -\mathbf k , \mathbf j^{-1}= -\mathbf k. Таким образом, орт в степени (-1) определяется непосредственно из таблицы умножения.
Возведение орта в целую степень n < 0 определяется как многократное умножение известного вектора - орта в степени (-1).

Покомпонентное умножение

Этот термин используется для наименования операции (здесь и далее рассматриваются трехмерные векторы) специального умножения вектора

\mathbf A=x_1 \mathbf i + y_1 \mathbf j+ z_1 \mathbf k

на упорядоченную тройку векторов (\mathbf B, \mathbf C, \mathbf D). Покомпонентное умножение обозначается как

\mathbf Z=\mathbf A \circledast (\mathbf B, \mathbf C, \mathbf D)

и состоит в вычислении по формуле

\mathbf Z = x_1 \mathbf i \circledast \mathbf B + y_1 \mathbf j \circledast \mathbf C + z_1 \mathbf k \circledast \mathbf D .

Если

\mathbf Z=x \mathbf i + y \mathbf j+ z \mathbf k, \ \mathbf B=x_2 \mathbf i + y_2 \mathbf j+ z_2 \mathbf k, \ \mathbf C=x_3 \mathbf i + y_3 \mathbf j+ z_3 \mathbf k, \ \mathbf D=x_4 \mathbf i + y_4 \mathbf j+ z_4 \mathbf k,

то

\ x=x_1x_2-y_1z_3-z_1y_4, \ y=x_1y_2-y_1x_3-z_1z_4,\ z=x_1z_2+y_1y_2+z_1x_4.

Взаимосвязь с традиционными операциями

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

Скалярное умножение

\mathbf Z = \mathbf A \mathbf B=\mathbf A \circledast (x_2 \mathbf i, -y_2 \mathbf k, -z_2 \mathbf j),

где вектор \mathbf Z имеет орт \mathbf i.

Векторное умножение

\mathbf Z = \mathbf A \times \mathbf B=\mathbf A \circledast ((-z_2 \mathbf j+y_2 \mathbf j), (-x_2 \mathbf j-z_2 \mathbf k), (y_2 \mathbf j -x_2 \mathbf k)).

Поворот вектора

Рассмотрим прямую с ортом

\mathbf r_o =\mathbf i \cos \alpha + \mathbf j \cos \beta + \mathbf k \cos \gamma,

проходящую через начало координат. Пусть вокруг этой прямой по окружности некоторого радиуса вращается точка, причем ее радиус-вектор переходит из положения \mathbf A в положение \mathbf Z. Если, кроме того, вращение производитсмя против часовой стрелки (при наблюдении с конца вектора \mathbf r_o) и угол поворота 0 \le \varphi \le \pi, то

\mathbf Z = \mathbf A \cos \varphi +(\mathbf r_o \times \mathbf A ) \sin \varphi -\mathbf r_o (\mathbf r_o \mathbf A)(1- \cos \varphi ).

Эта формула преобразуется к виду \mathbf Z=\mathbf A \circledast (\mathbf B, \mathbf C, \mathbf D), где кординаты векторов (\mathbf B, \mathbf C, \mathbf D) выражаются через (α,β,γ,φ)[1]. .

Центроафинное преобразование

В трехмерном пространстве центроафинное преобразование, при котором точка с вектором \mathbf A переходит в точку с вектором \mathbf Z, описывается формулой

\mathbf Z=(\mathbf B \mathbf A) \mathbf i + (\mathbf C \mathbf A) \mathbf j +(\mathbf D \mathbf A) \mathbf k,

где указанные выше координаты векторов \mathbf B, \mathbf C, \mathbf D являются параметрами этого преобразования. Рассматривая формулу скалярного умножения, находим, что центроафинное преобразовние эквивалентно покомпонентному умножению

\mathbf Z=\mathbf A \circledast (\mathbf B^\prime , \mathbf C^\prime , \mathbf D^\prime ),

где

\mathbf B^\prime =x_2 \mathbf i - y_2 \mathbf j- z_2 \mathbf k, \ \mathbf C^\prime =x_3 \mathbf i - y_3 \mathbf j- z_3 \mathbf k, \ \mathbf D^\prime =x_4 \mathbf i - y_4 \mathbf j-z_4 \mathbf k.

Позиционные коды векторов

Метод позиционного кодирования основан на представлении кодируемого объекта в виде суммы

\mathbf A=\sum_{k} \alpha_k \rho^{k},

где k - целое число, \ \alpha_k - число, принимающее значения из определенного множества, \ \rho - основание системы кодирования. В частности, существует система кодирования комплексных чисел по основанию \rho=j \sqrt{R}, где jмнимая единица, \alpha_k \in B_R и B_R = \{ 0, 1, 2,\dots, R-1 \}, а R - целое положительное число (например, R=2) [4].
По аналогии с этим в [1] предложена позиционная система кодирования векторов по основанию \mathbf \rho= \mathbf j \sqrt [n] {R}, где \mathbf j – второй орт в таблице специального умножения векторов, n - размерность векторов, \alpha_k \in B_R. В частности, существует двоичная система кодирования векторов, в которой R=2 и \ B_R = { 0, 1}. Необходимое для этого возведение орта \mathbf j в целую (положительную или отрицательную) степень рассмотрено выше.

Позиционный код вектора

\mathbf A=x \mathbf i + y \mathbf j+ z \mathbf k

представляет собой запись цифр α, имеющую вид

\mathbf A = \alpha_{0} \alpha_{1} \dots \alpha_k \dots \alpha_{n} .

Этот же вектор можно рассматривать как сумму

\mathbf A=X \mathbf \rho^0  +Y \mathbf \rho^1 + Z \mathbf \rho^2,

где

X=x \sqrt [3] {R^{0}};  Y=y \sqrt [3] {R^{-1}};  Z=z \sqrt [3] {R^{-2}},

При этом код вектора можно рассматривать как композицию трех кодов следующего вида

 \begin{pmatrix} \mathbf  A= &  \alpha_{0} & \alpha_{1} & \alpha_{2} &  \alpha_{3} &   \alpha_{4} &   \alpha_{5} &   \alpha_{5} &  \cdots  \\ 
X = & \beta_{0} & \ & \ &  \beta_{1} &   \ &   \ &   \beta_{2} &  \cdots  \\ 
Y= & \ & \gamma_{0} & \ &  \ &   \gamma_{1} &   \ &   \ &  \cdots  \\ 
Z = & \ & \ & \delta_{0} &  \ &   \ &   \delta_{1} &   \ &  \cdots  \\ 
\end{pmatrix},

где

\ \beta_{k}=\alpha_{3k}; \ \gamma_{k}=\alpha_{3k+1}; \ \delta_{k}=\alpha_{3k+2} .

Здесь коды чисел X, Y, Z являются двоичными кодами чисел по основанию (-2).

Алгебраическое сложение

Алгебраическое сложение кодов векторов состоит из трех сложений пар компонент X, Y, Z этих векторов. Эти сложения могут выполнятся параллельно.

Умножение

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

\mathbf Z=\mathbf A \circledast (\mathbf B, \mathbf C, \mathbf D)

вектор \mathbf A с кодом

\mathbf A = \alpha_{0} \alpha_{1} \dots \alpha_k \dots \alpha_{n} .

рассматривается как множитель, а множимое М определяется в зависимости от номера разряда \ \alpha_{3k+t} по следующему правилу:

\mathbf M = \mathbf B, \ if \ t=0; \mathbf M = \mathbf C, \ if \ t=1; \mathbf M = \mathbf D, \ if \ t=2 .

Примечания

  1. 1 2 3 Хмельник С. И. Алгебра многомерных векторов и кодирование пространственных фигур // Автоматика и вычислительная техника, АН ЛССР. — 1971. — Т. 1.
  2. 1 2 3 Курош А.Г. Курс высшей алгебры — "Наука". — Mосква, 1965.
  3. Хмельник С. И. Кодирование комплексных чисел и векторов — Mathematics in Computers. — Израиль, 2004. — ISBN 978-0-557-74692-7.
  4. Knuth D. E. (1960). «An Imaginary Number System». Communication of the ACM 3 (4): 245—247. DOI:10.1145/367177.367233.

Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Позиционные коды векторов" в других словарях:

  • Компьютер для операций с функциями — Компьютер для операций с математическими функциями (в отличие от обычного компьютера) оперирует с функциями на аппаратном уровне (то есть без программирования этих операций).[1][2][3] Содержание 1 История …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»