Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
/* This file:
 *   http://anggtwu.net/MAXIMA/crossproduct1.mac.html
 *   http://anggtwu.net/MAXIMA/crossproduct1.mac
 *          (find-angg "MAXIMA/crossproduct1.mac")
 * Author: Eduardo Ochs <eduardoochs@gmail.com>
 *
 * (defun e () (interactive) (find-angg "MAXIMA/crossproduct1.mac"))
 * (find-es "maxima" "crossproduct")
 * (find-es "maxima" "2023-1-C4-P2")
*/

columnvector(x) := transpose(matrix(x));
vtolist(v)      := transpose(v)[1];
ii : columnvector([1,0,0]);
jj : columnvector([0,1,0]);
kk : columnvector([0,0,1]);
precrossproduct(v, w) := matrix([ii, jj, kk], vtolist(v), vtolist(w));
crossproduct   (v, w) := determinant(precrossproduct(v, w));
prenorm(v) :=      v.v;
norm   (v) := sqrt(v.v);
getx   (v) := v[1][1];
gety   (v) := v[2][1];
getz   (v) := v[3][1];
div    (F) := getx(diff(F, x))
            + gety(diff(F, y))
            + getz(diff(F, z));

/*
* (eepitch-maxima)
* (eepitch-kill)
* (eepitch-maxima)
load("~/MAXIMA/crossproduct1.mac");

vtolist(ii);
abc : columnvector([a, b, c]);
def : columnvector([d, e, f]);
precrossproduct(abc, def);
   crossproduct(abc, def);
F : columnvector([a*x*y, b*y*z, c*z*x]);
div(F);

*/