4 The vector3d package adds functions for doing vector algebra and calculus
5 in orthogonal coordinate systems in three dimensions. It provides the
6 vector or cross product and the differential operators grad, div, curl,
9 This package provides an alternative to vect and vector. Unlike those
10 packages, vector3d does not require vectors to be declared nonscalar,
11 does not require the coordinate transformation to be given explicitly,
12 does not need express() to display the components, and does not need an
13 array of simplification options. Usually, expand() is enough to collapse
14 complex chains of vector operators into recognizable form.
16 On the other hand, vector3d does not do as much as the other packages.
17 The operators that work on vectors do not work with abstract vectors;
18 they must be defined as three element lists even if the list elements
19 are unbound. It does assume but not check that the coordinate system
20 is orthogonal but works just from the scale factors. Therefore,
21 conversion from one coordinate system to another is not available.
22 Potentials and Christoffel symbols are not implemented either.
24 Definitions for vector3d
27 sets the orthogonal coordinate system to be used, default cartesian.
28 If sys is not one of cartesian, cylindrical, or spherical, then the
29 user is asked for the names of the three coordinate variables and for
30 the three scale factors. The coordinate variables for the already
31 defined systems are [x,y,z] for cartesian, [r,ph,z] for cylindrical,
32 and [r,th,ph] for spherical. Note that ph is the polar angle in this
33 spherical polar system. There is nothing stopping you from setting the
34 scale factors scalef:[ , , ] and coordinate variables coordvar:[ , , ]
35 yourself and not using this function.
38 returns the vector or cross product of the two vectors a and b.
41 returns the vector curl (del cross u) of the vector u, each component of
42 which is a function of the coordinates. If it is not given explicitly,
44 u : [ux,uy,uz]; depends([ux,uy,uz],[x,y,z]);
48 returns the scalar divergence (del dot u) of the vector u.
51 returns the vector gradient (del f) of the scalar f, which is a function
52 of the coordinates. Use depends([f],[x,y,z]), for example, to establish
53 the functional dependence if it is not given explicitly already.
56 If u is a scalar function of the coordinates, then the scalar laplacian
57 (div(grad(u)) is returned. If u is a vector function, then the vector
58 laplacian (del squared u) is returned.
61 The dot product of vectors a and b returns a scalar, and is available
62 outside this package. The vector sum of two vectors and the product
63 of a vector and a scalar are likewise available and compatible with the
66 Walter Eastes (eastes@infinet.com)