Векторный анализ (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, y, z] ] Paraboloidal [x, y, 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<X<∞,0<Y< ∞,-π<Z<=π}   Parameters[ ] {} ParameterRanges[ ] Coordinates[Conical], CoordinateRanges[Conical] {{Llanibda, Mmu, 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}