В Maple 8 были существенно расширены возможности вычислений над векторами (пространственными объектами) и поверхностями. Для этого введен пакет VectorCalculus, который, при вызове, открывает доступ ко многим командам и функция векторного анализа, теории поля и приложений дифференциального исчисления [67, 68] (файл vc):

> restart; with(VectorCalculus); interface(showassumed=0);

Warning, the assigned names <,> and <|> now have a global binding

Warning, these protected names have been redefined and unprotected:

 *, +, Vector, diff, int, limit, series

[&x, *, +, ., <, >, <|>, AddCoordinates, ArcLength, BasisFormat, Binormal, CrossProduct, Curl, Curvature, Del, DirectionalDiff, Divergence, DotProduct, Flux, GetCoordinateParameters, GetCoordinates, Gradient, Hessian, Jacobian, Laplacian, LineInt, MapToBasis, Nabla, PathInt, PrincipalNormal, RadiusOfCurvature, ScalarPotential, SetCoordinateParameters, SetCoordinates, SurfaceInt, TNBFrame, Tangent, TangentLine, TangentPlane, TangentVector, Torsion, Vector, VectorField, VectorPotential, Wronskian, diff, evalVF, int, limit, series]

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

Пакет VectorCalculus ориентирован в первую очередь на решение задач математической физики, использующих методы теории поля и приложения дифференциального исчисления. Он оперирует такими привычными для физиков (разумеется, и для математиков) понятиями, как поток векторного поля, градиент, тор-сион, векторный потенциал и др. Приведенный ниже материал поясняет применение большинства функций этого пакета. Полезно просмотреть и файл VectorCalculus.mws, содержащий примеры его применения. В Интернете можно найти целую серию уроков по векторному анализу и теории поля в виде пакета Calculus IV или V (разработчик проф. J. Wagner).

4.11.2. Объекты векторных вычислений

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

> v := Vector( [x,y,z]);

v := хех + yey + zez

Здесь ех, еу и еz — проекции единичного вектора е на оси координат х, у и z. Тип координатной системы (по умолчанию — прямоугольная) можно определить следующим образом:

> attributes(v);

coords = cartesian

Для создания векторного поля служит функция

VectorField(v, с)

где v — вектор и с — опционально заданный параметр в форме name[name, name,...], задающий тип координатной системы.

Можно изменить систему координат, например, задав (с помощью функции установки координат SetCoordinates) полярную систему координат:

> SetCoordinates(polar);

polar

> w := <r,theta>;

w: = r er + θ e0

> attributes(w);

coords = polar

Аналогично можно задать вектор в сферической системе координат:

> SetCoordinates(spherical[r,phi,theta]);

sphericalr,φ,θ

> F := VectorField(<r,0,0>);

F.= rēr

> attributes(F);

vectorfield, coords = sphericalr,φ,θ

Можно также сменить формат представления вектора и выполнить с ним некоторые простейшие векторные операции:

> BasisForrnat(false);

true

> v := <a,b,c>;

> BasisFormat(true);

false

> v;

aer + bеφ +ceθ

> SetCoordinates(polar);

polar

> MapToBasis(<r,theta>, 'cartesian');

r cos(θ)ex + r sin(θ)ey

> SetCoordinates(spherical);

spherical

> MapToBasis(<r,phi,theta>, 'cartesian');

r sin(φ)cos(θ)ex + r sin(φ)sin(θ)ey + r cos (φ)еz

> SetCoordinates(spherical[r,phi,theta]);

sphericalr,φ,θ

> MapToBasis(VectorField(<r,0,0>), 'cartesian'[x,y,z]);

хēх + yēy + zēz

Пакет VectorCalculus предусматривает возможность задания новой системы координат с помощью команды:

AddCoordinates(newsys, eqns, owrite)

где newsys — спецификация новой системы координат в виде symbol[name, name, …]; eqns — соотношения между координатами новой системы и прямоугольной системы координат, представленные в виде list(algebraic); owrite — заданное опционально равенство.

4.11.3. Основные операции с векторами

В данном пакете переопределены некоторые основные операции над векторами. Прежде всего, это операции сложения (+) и скалярного умножения (*), которые поясняются следующими примерами (файл vop) :

> SetCoordinates(cartesian);

cartesian
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

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

Отметить Добавить цитату