- PVSM.RU - https://www.pvsm.ru -

Альтернативный способ задать дифференциал в геометрической алгебре

Привет!

В геометрической алгебре достаточно абстрактно введен дифференциал, здесь предлагается наглядный численный метод — выразить дифференциал через ориентированный объём и геометрическое произведение.

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

Написана статья с целью собрать мнения специалистов о достоинствах и недостатках такого подхода. В общем буду рад комментариям.

1. Обозначения

  • Δ — конечные приращения на сетке (шаги Δxyz и разности функции fΔxfyfzf).

  • δ — изменяемые приращения для произвольной точки в окрестности узла.

  • σ1​,σ2​,σ3​ — орты осей в матричном представлении (матрицы Паули):

    σ _1 ​=begin{bmatrix}  0 & 1 \  1 & 0 ​   end{bmatrix}, quad σ _2 ​=begin{bmatrix}  0 & -i \  i & 0 ​   end{bmatrix}, quad σ _3 ​=begin{bmatrix}  1 & 0 \  0 & -1 ​   end{bmatrix}.

  • Умножение с точкой ⋅ — матричное (геометрическое).
    Умножение с крестиком × — векторное.

  • I=σ1​⋅σ2⋅​σ3​ — псевдоскаляр (аналог мнимой единицы в ГА).

Вектор в таком базисе записывается как

X=xσ _3 ​  +yσ _2 ​  +zσ _1 ​

Обратите внимание: σ3​ соответствует оси — xσ2​ — yσ1​ — z. Так сделано по мотивам моей предыдущей статьи Давайте объединим линейную и геометрическую алгебры. На простом примере. Часть 1 [1]. В разделе "6. Базис Клиффорда для матриц 2х2" можно видеть, что расположение осей несколько иное, чем в декартовых координатах. Так же такое расположение еще делает привычнее некоторые представления, напишу как нибудь.

2. Ориентированный объём и вектор конечных разностей

Ориентированный объём, образованный площадями граней ячейки и смещениями δx,δy,δz:

δV=ΔS_x ⋅​  (δx⋅σ _3 ​  )+ΔS_y ⋅​  (δy⋅σ _2 ​  )+ΔS _z ​ ⋅(δz⋅σ  _1 ​  )ΔS_x ​=Δy⋅Δz,quad ΔS_y ​=Δx⋅Δz, quad ΔS_z ​=Δx⋅Δy

Разделив на объём ячейки ΔvxΔyΔz, получим относительный ориентированный объём:

δV ^′=frac {δV}  {Δv} ​=frac {Δx}{δx} ⋅​  σ  _3 ​  +  frac {Δy}{δy} ⋅​  σ  _2 ​  +  frac {Δz}{δz} ⋅​  σ  _1 ​  .

Вектор конечных разностей (Аналог градиента, но без нормировки на шаги. Знак умножения буду пропускать, так как уже объяснил его смысл, и вообще геометрическое произведение пишется без знака):

Delta(f)=Delta_x f,sigma_3 + Delta_y f,sigma_2 + Delta_z f,sigma_1Delta_x f=f(x+Delta x,y,z)-f(x,y,z),quadDelta_y f=f(x,y+Delta y,z)-f(x,y,z)Delta_z f=f(x,y,z+Delta z)-f(x,y,z)

3. Скалярное и обобщённое приращения

Скалярное приращение (классический дифференциал, аппроксимированный конечными разностями) — это скалярная часть геометрического произведения δV′ и Δ(f):

delta f_{|}=frac{Delta_x f}{Delta x},delta x               + frac{Delta_y f}{Delta y},delta y               + frac{Delta_z f}{Delta z},delta z

При

 Delta x,Delta y,Delta zto0 quad  и quad delta x,delta y,delta zto0

это выражение стремится к обычному дифференциалу df.

Полное геометрическое произведение даёт обобщённый дифференциал — сумму скалярной и бивекторной частей:

delta_g f=delta f_{|} + I;delta f_{perp}delta f_{perp}=left( Delta_y(f) ; frac{delta z}{Delta z} - Delta_z(f) ; frac{delta y}{Delta y} right) ; sigma_3 + left( Delta_x(f) ; frac{delta z}{Delta z}-Delta_z(f) ; frac{delta x}{Delta x}  right) ; sigma_2 + left( Delta_x(f) ; frac{delta y}{Delta y} - Delta_y(f) ; frac{delta x}{Delta x} right) cdot sigma_1

Бивекторная часть δf⊥​ равна нулю тогда и только тогда, когда вектор относительного объёма δV′ параллелен вектору конечных разностей Δ(f) — то есть когда смещение (δx,δy,δz) коллинеарно градиенту. Когда бивекторная часть не равна нулю происходит следующее:

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

  2. Скалярная часть ортогональна бивекторной части и нормали к плоскости.

  3. Вместе они образуют аналог комплексного числа в этой плоскости.

4. Зачем это нужно

  • Интерполяция вне сетки. Зная в узле сетки значения Δxfyfzf (например, из численного решения), можно вычислить приращение δgf​для любого смещения (δx,δy,δz) в окрестности узла. Никакой дополнительной сетки не требуется.

  • Разделение параллельной и ортогональной составляющих. Скалярная часть δf∥​ — классическое изменение вдоль направления смещения. Бивекторная часть δf⊥​ — мера того, насколько смещение отклоняется от градиента.

  • Выделение траекторий, где обобщённый дифференциал совпадает с классическим. Если потребовать δf⊥​=0, получим условия коллинеарности, которые задают прямые, параллельные Δ(f). Вдоль таких траекторий δgf=δf∥​.

5. Пример применения

Пусть в узле сетки (0,0,0)(0,0,0) известны:

Delta x=0.1,; Delta y=0.1,; Delta z=0.1Delta_x f=0.2,; Delta_y f=0.3,; Delta_z f=0.4

Это соответствует частным производным: 2,3,4.

Требуется найти значение функции в точке (δx,δy,δz)=(0.02,0.03,0.04) — внутри ячейки.

Вычисляем скалярное приращение:

delta f_{|}=frac{0.04}{0.1}cdot0.3 + frac{0.3}{0.1}cdot0.03 + frac{0.4}{0.1}cdot0.04=0.29

Вычисляем бивекторную часть (коэффициенты при σ3​,σ2​,σ1​):

c_3=0.3cdotfrac{0.04}{0.1} - 0.4cdotfrac{0.03}{0.1}=0c_2=0.4cdotfrac{0.02}{0.1} - 0.2cdotfrac{0.04}{0.1}=0c_1=0.2cdotfrac{0.03}{0.1} - 0.3cdotfrac{0.02}{0.1}=0

Здесь смещение оказалось точно параллельным вектору конечных разностей, поэтому бивекторная часть обнулилась. Обобщённый дифференциал совпал с классическим: δgf=0.29

Если взять смещение (δx,δy,δz)=(0.03,0.02,0.04), то:

Скалярное приращение:

delta(f)=2cdot0.03 + 3cdot0.02 + 4cdot0.04=0.28

Бивекторные коэффициенты:

c_3=0.3cdot0.4 - 0.4cdot0.2=0.04c_2=0.4cdot0.3 - 0.2cdot0.4=0.04c_1=0.2cdot0.2 - 0.3cdot0.3=-0.05

Бивекторная часть не равна нулю — смещение не параллельно градиенту. Полное приращение δgf будет содержать как скалярную, так и бивекторную компоненту, что позволяет оценить степень «неградиентности» направления.

6. Итог

  • Предложен способ выразить обобщённый дифференциал через конечные разности и геометрическое произведение.

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

  • Бивекторная часть даёт дополнительную информацию — меру отклонения направления смещения от градиента.

  • Для вычислений достаточно скалярных арифметических операций, матрицы не требуются (если не считать исходного определения σ).

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

Пишите ваши комментарии!

Автор: Exlt8

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/vektory/448103

Ссылки в тексте:

[1] Давайте объединим линейную и геометрическую алгебры. На простом примере. Часть 1: https://habr.com/ru/articles/1002526/

[2] Источник: https://habr.com/ru/articles/1016486/?utm_campaign=1016486&utm_source=habrahabr&utm_medium=rss