В данном пакете переопределены некоторые основные операции над векторами. Прежде всего, это операции сложения (+) и скалярного умножения (*), которые поясняются следующими примерами (файл vop) :
внимание на вычисление предела в конце этих примеров. Далее можно отметить операцию точечного умножения, которая иллюстрируется следующими вполне очевидными примерами:
L := (VectorCalculus:-Curl) @ (VectorCalculus:-Gradient)
> L(f(x,y,z));
0ēx
4.11.4. Операции с кривыми
В пакете векторных операций определен ряд типовых операций с кривыми. Ниже представлено задание эллиптической кривой и вычисление в аналитической форме нормали и радиуса кривизны (файл vopcurves):
> SetCoordinates(cartesian);
cartesian
> assume(t::real);
> ell := <2*cos(t),sin(t)>;
ell := 2 cos(t)ex + sin(t)ey
> nv := simplify(PrincipalNormal(ell,t));
> len := simplify(LinearAlgebra:-Norm(nv, 2));
> r := simplify(RadiusOfCurvature(ell));
Теперь можно представить саму кривую (эллипс) и ее эволюту (рис. 4.39):
Нетрудно заметить, что для эллипса эволюта представляет собой удлиненную астроиду.
Для вычисления кривизны кривой С используется функция Curvature(C, t) в которой параметр t может и отсутствовать:
> Curvature(<cos(t),t,sin(t)>, t);
> с := Curvature(t -> <t,t^2,t^4>):
> simplify(c(t)) assuming t::real;
> SetCoordinates('polar');
polar
> Curvature(<exp(-t^2), t>):
> simplify(%) assuming t::real;
4.11.5. Интегрирование в пакете VectorCalculus
В аспекте практических приложений векторного анализа и теории поля особый интерес представляют приложения интегрирования пакете VectorCalculus. Так, видоизмененная функция int(f, dom) задает вычисление интеграла от функции f по области dom, например (файл vecint):