В 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
Нетрудно заметить, что данный пакет после загрузки видоизменяет многие операторы, команды и функции, встроенные в ядро системы. При этом меняется их математический и физический смысл. Поэтому пользоваться пакетом надо с известной осторожностью. Для восстановления роли функций можно использовать команду restart.
Пакет VectorCalculus ориентирован в первую очередь на решение задач математической физики, использующих методы теории поля и приложения дифференциального исчисления. Он оперирует такими привычными для физиков (разумеется, и для математиков) понятиями, как поток векторного поля, градиент, тор-сион, векторный потенциал и др. Приведенный ниже материал поясняет применение большинства функций этого пакета. Полезно просмотреть и файл VectorCalculus.mws, содержащий примеры его применения. В Интернете можно найти целую серию уроков по векторному анализу и теории поля в виде пакета Calculus IV или V (разработчик проф. J. Wagner).
4.11.2. Объекты векторных вычислений
Вектор в геометрическом представлении в данном пакете по умолчанию задается в прямоугольной системе координат:
> v := Vector( [x,y,z]);
Здесь ех, еу и еz — проекции единичного вектора е на оси координат х, у и z. Тип координатной системы (по умолчанию — прямоугольная) можно определить следующим образом:
> attributes(v);
Для создания векторного поля служит функция
VectorField(v, с)
где v — вектор и с — опционально заданный параметр в форме name[name, name,...], задающий тип координатной системы.
Можно изменить систему координат, например, задав (с помощью функции установки координат SetCoordinates) полярную систему координат:
> SetCoordinates(polar);
> w := <r,theta>;
> attributes(w);
Аналогично можно задать вектор в сферической системе координат:
> SetCoordinates(spherical[r,phi,theta]);
> F := VectorField(<r,0,0>);
> attributes(F);
Можно также сменить формат представления вектора и выполнить с ним некоторые простейшие векторные операции:
> BasisForrnat(false);
> v := <a,b,c>;

> BasisFormat(true);
> v;
> SetCoordinates(polar);
> MapToBasis(<r,theta>, 'cartesian');
> SetCoordinates(spherical);
> MapToBasis(<r,phi,theta>, 'cartesian');
> SetCoordinates(spherical[r,phi,theta]);
> MapToBasis(VectorField(<r,0,0>), 'cartesian'[x,y,z]);
Пакет VectorCalculus предусматривает возможность задания новой системы координат с помощью команды:
AddCoordinates(newsys, eqns, owrite)
где newsys — спецификация новой системы координат в виде symbol[name, name, …]; eqns — соотношения между координатами новой системы и прямоугольной системы координат, представленные в виде list(algebraic); owrite — заданное опционально равенство.
4.11.3. Основные операции с векторами
В данном пакете переопределены некоторые основные операции над векторами. Прежде всего, это операции сложения (+) и скалярного умножения (*), которые поясняются следующими примерами (файл vop) :
> SetCoordinates(cartesian);