egison-3.6.1: lib/math/algebra/vector.egi
;;
;; Vectors
;;
(define $dot-product
(lambda [%v1 %v2]
(with-symbols {i}
(. v1~i v2_i))))
(define $V.* dot-product)
(define $cross-product/fn
(lambda [$fn %a %b]
[|(- (fn a_2 b_3) (fn a_3 b_2))
(- (fn a_3 b_1) (fn a_1 b_3))
(- (fn a_1 b_2) (fn a_2 b_1))|]))
(define $cross-product
(lambda [%a %b]
(cross-product/fn * a b)))
(define $div
(lambda [%A %xs]
(trace (∇ A xs))))
(define $rot
(lambda [%A %xs]
(cross-product/fn ∂/∂ A xs)))