Векторный анализ —VectorAnalysis
Векторный анализ —VectorAnalysis
Подпакет VectorAnalysis содержит множество функций, используемых при выполнении векторного анализа. Здесь надо иметь в виду, что речь идет не о векторах как представителях одномерных массивов, которые рассматривались ранее. В данном случае вектор — это направленный отрезок прямой в пространстве, заданном той или иной системой координат.
Системы координат и их преобразования
Заметная часть функций подпакета VectorAnalysis относится к заданию и преобразованию координат:
-
Coordinates [ ] — возвращает имена переменных текущей системы координат;
-
Coordinates [coordsys] — возвращает имена переменных системы координат coordsys;
-
SetCoordinates [coordsys] — устанавливает систему координат coordsys с текущими переменными;
-
Coordinates [coordsys, {vars}] — устанавливает систему координат coordsys с переменными, заданными списком {vars }.
Ниже даны названия систем координат и соответствующие им представления.
Наименование
|
Представление
|
Прямоугольные
|
Cartesian [х, у, z]
|
Цилиндрические
|
Cylindrical [r, theta, z]
|
Сферические
|
Spherical [r, theta, phi]
|
Параболические цилиндрические
|
ParabolicCylindrical [u, v, z]
|
Параболические
|
Paraboloidal [u, v, phi]
|
Эллиптические цилиндрические
|
EllipticCylindrical [u, v, z, a]
|
Вытянутые сфероидальные
|
ProlateSpheroidal [xi, eta, phi, a]
|
Сплющенные сфероидальные
|
OblateSpheroidal [xi, eta, phi, a]
|
Биполярные
|
Bipolar[u, v, z, a]
|
Бисферические
|
Bispherical [u, v, phi, a]
|
Тороидальные
|
Toroidal [u, v, phi, a]
|
Конические
|
Conical [lambda, mu, nu, a, b]
|
Конфокальные эллипсоидальные
|
ConfocalEllipsoidal [lambda, rnu, nu, a, b, c]
|
Конфокальные параболические
|
ConfocalParaboloidal [lambda, mu, nu, a, bj
|
Например, параболическую систему координат можно задать следующим образом:
SetCoordinates[Paraboloidal[x, у, z] ]
Paraboloidal [x, у, z]
{CoordinateSystem, Coordinates[]}
{Paraboloidal, {x, y, z}}
Ряд функций служит для контроля и установки параметров систем координат:
-
CoordinateRanges [ ] — возвращает пределы изменения переменных текущей координатной системы;
-
Parameters [ ] — возвращает параметры текущей координатной системы;
-
ParametersRanges [ ] — возвращает пределы изменения параметров текущей координатной системы;
-
CoordinateRanges [coordsys] — возвращает пределы изменения переменных координатной системы coordsys;
-
Parameters [coordsys] — возвращает параметры координатной системы coordsys;
-
ParametersRanges [coordsys] — возвращает пределы изменения параметров координатной системы coordsys;
-
SetCoordinates [coordsys, {vars,param} ] — устанавливает параметры текущей координатной системы как параметры coordsys с переменными vars и параметрами param.
Ниже представлены примеры применения этих функций:
CoordinateRanges[]
{0<Х<бесконечности,0<Y<бесконечность,-л<Z<=л}
Parameters[]
{}
ParameterRanges[ ]
Coordinates[Conical], CoordinateRanges[Conical]
{{Llanibda, Мmu, Nnu}, {-бесконечность< Llambda< бесконечность, l< Mmu2 < 4, Nnu2< 1}}
Parameters[Bipolar],ParameterRanges[Bipolar]
{{1}, 0< #1<бесконечность}
Для преобразования координат служат следующие функции:
-
CoordinatesToCartesian [pt] — преобразование текущих координат в декартовы;
-
CoordinatesToCartesian [pt, coordsys] — преобразование координат coordsys в декартовы;
-
CoordinatesFromCartesian [pt] — преобразование из декартовых координат в текущие;
-
CoordinatesFromCartesian [pt, coordsys] — преобразование из декартовых координат в координаты coordsys.
Эти примеры демонстрируют преобразования координат:
CoordinatesToCartesian[{I, Pi/3, Pi/3}, Spherical]
CoordinatesToCartesian [u, v, phi}, Bipolar]
CoordinatesFromCartesian [ {x, y, z} , Bipolar]
{-2Im[ArcCoth[x+ Iy]] , 2Re[ArcCoth[x+ Iy] ] , z}
Функции векторного анализа
Помимо функций для задания и преобразования систем координат подпакет Vector An a lysis содержит ряд функций собственно векторного анализа:
-
DotProduct [vl, v2] — возвращает скалярное произведение векторов vl и v2, заданных в текущей системе координат;
-
CrossProduct [vl,v2] — возвращает векторное произведение векторов vl и v2, заданных в текущей системе координат;
-
ScalarTripleProduct [vl, v2, v3 ] — возвращает тройное скалярное произведение для векторов vl, v2 и v3, заданных в текущей системе координат;
-
DotProduct [vl, vl, coordsys ] — возвращает скалярное произведение векторов vl и v2, заданных в системе координат coordsys;
-
CrossProduct [vl, v2, coordsys] — возвращает векторное произведение векторов vl и v2, заданных в системе координат coordsys.
Примеры выполнения этих операций представлены ниже:
SetCoordinates[ParabolicCylindrical[ ]]
ParabolicCylindrical[Uu, W, Zz]
DotProduct[{1.2, 1.1, 0}, {5.4, -2, 1.2}]
-12.8093
CrossProduct[{1.2, 1.1, 0}, {5.4, -2, 1.2}]
{-1.78157, 0.0774597, -17.8476}
ScalarTripleProduct[{1, 0, 1}, {1, 1, 0}, {0, 1, 1}, Cartesian]
2
Для вычисления производной дуги служат функции:
-
ArcLengthFactor [ { fx, f у, f z}, t] — дает дифференциал длины дуги, заданной параметрически с параметром t в текущей системе координат;
-
ArcLengthFactor [ {fx, f у, fz}, t, coordsys] — дает дифференциал длины дуги, заданной параметрически с параметром t в системе координат coordsys
Примеры вычисления дифференциалов и длин дуг с помощью этих функций:
param = {Cos[t], Sin[t], t}
{Cos[t], Sin[t], t}
ArcLengthFactor[ param, t, Cartesian] //Simplify
корень из 2
f[x_, y_, z_] := x^2 y^2 z
Integrate[ f[param] ArcLengthFactor[
param, t, Cartesian], {t, 0, 2 Pi}] // Simplify
Ряд функций служит для создания матрицы Якоби (матрицы частных производных) и вычисления относящихся к ней понятий:
-
JacobianMatrix [ ] — возвращает матрицу Якоби, определенную в текущих координатах;
-
JacobianMatrix [pt] — возвращает матрицу Якоби в точке pt и в текущих координатах;
-
JacobianMatrix [coordsys] — возвращает матрицу Якоби, определеннук в системе координат coordsys;
-
JacobianMatrix [pt, coordsys] — возвращает матрицу Якоби в точке pt, определенную в системе координат coordsys;
-
JacobianDeterminant [], JacobianDeterminant [pt] и т. д. — вычисление детерминанта матрицы Якоби при указанных выше определениях;
-
ScaleFactor [ ], ScaleFactor [pt] и т. д. — вычисление масштабного фактора при указанных выше определениях.
Применение этих функций поясняют следующие примеры:
JacobianMatrix[Cartesian[x, у, z]]
{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}
JacobianMatrix[Spherical[r, t, p] ]
{{Cos[p] Sin[t] , rCos[p] Cos[t] ,-rSin[p] Sin[t]},
{Sin[p] Sin[t] , rCos[t] Sin[p] , rCos[p] Sin[t]},
{Cos[t] , -rSin[t], 0}}
JacobianDeterminant[Spherical[r, t, p] ]
r^2Sin[t]
Integrate[r^2 JacobianDeterminant[ Spherical[r, theta, phi]],
{r, 0, 2}, {theta, 0, Pi}, {phi, -Pi, Pi}]
128n/5
Следующие функции определяют ряд характеристик векторного поля:
-
Div[f] — возвращает дивергенцию векторного поля f в текущей системе координат;
-
Curl [f ] — возвращает вихрь (ротор) векторного поля f в текущей системе координат;
-
Grad[f ] — возвращает градиент векторного поля f в текущей системе координат;
-
Laplasian [f] — возвращает лапласиан векторного поля f в текущей системе координат;
-
Вiharmonic [f] — возвращает лапласиан лапласиана векторного поля f в текущей системе координат;
-
Div [f, coordsys], Curl [f, coordsys] и т. д. — указанные выше функции в системе координат coordsys.
Приведем примеры использования этих функций:
Laplacian[x*y^2*z^3,ProlateSpheroidal[х, у, z]]
(Csc[y] Csch[x] (y2z3Cosh[x] Sin [у] +
2xyz3Cos[y] Sirih[x] +2xz3Sin[y] Sinh[x] +
6xy2zCsc[y] Csch[x] (Sin[y]2+ Sinh[x]2))) /
(Sin[y]2+Sinh[x]2)
Grad[x^2 y^3 z^4,ProlateSpheroidal[x, у, z]]
Содержание раздела