The following session shows a serious bug in the procedure ArcLength.
> with(VectorCalculus): Warning, the assigned names <,> and <|> now have a global binding Warning, these protected names have been redefined and unprotected: *, +, ., Vector, diff, int, limit, series > v := VectorField( <vx(x,y),vy(x,y)>, cartesian[x,y] ); _ _ v := vx(x, y) e + vy(x, y) e x y > k := <X(t),Y(t)>; k := X(t) e + Y(t) e x y > LineInt( v, Path( k, t=a..b ) ); b / | /d \ /d \ | vx(X(t), Y(t)) |-- X(t)| + vy(X(t), Y(t)) |-- Y(t)| dt | \dt / \dt / / a > ArcLength( k, t=a..b ); b / | //d \2 /d \2\1/2 | ||-- X(t)| + |-- Y(t)| | dt | \\dt / \dt / / / a
Perfect.
But when I calculate the lineintegral again I get:
> LineInt( v, Path( k, t=a..b ) ); b / / 2 \ | d d |d | | vx(-- X(t), -- Y(t)) |--- X(t)| | dt dt | 2 | / \dt / a / 2 \ d d |d | + vy(-- X(t), -- Y(t)) |--- Y(t)| dt dt dt | 2 | \dt /
The call of ArcLength seems to have changed the value of k.
> k; /d \ /d \ |-- X(t)| e + |-- Y(t)| e \dt / x \dt / y
It is corrected with Maple 9. (U. Klein)