|
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);
*/