(module lie-group-Rn-test "generics.ss" (require "test.ss" "lie-group-Rn.ss" "lie-groups.ss" "tuples.ss" "manifolds.ss") (provide lie-group-Rn-test-suite) (define R6 (Rn 6)) (define R6-chart (slot-ref R6 'standard-chart)) (define R6-chi (slot-ref R6-chart 'chi)) (define R6-chiinv (slot-ref R6-chart 'chiinv)) (define-named-coordinates (x y z u v w) R6-chart) (define lie-group-Rn-test-suite (test-suite "lie-groups.ss test suite" (test-case "(* g g^-1) ?=? identity" (let ((g (R6-chiinv (up 1 2 3 4 5 6)))) (check-equals? (R6-chi (* g (/ g))) (R6-chi (slot-ref R6 'identity))))) (test-case "Extend d/dx equals d/dx" (let ((ext (natural-extension R6))) (let ((ed/dx (ext d/dx)) (e (slot-ref R6 'identity))) (let ((d/dxc ((vector-field->component-field d/dx R6-chart) e)) (ed/dxc ((vector-field->component-field ed/dx R6-chart) e))) (check-equals? d/dxc ed/dxc)) (let ((m (R6-chiinv (up 23 578 82 02 5234 876)))) (let ((d/dxc ((vector-field->component-field d/dx R6-chart) m)) (ed/dxc ((vector-field->component-field ed/dx R6-chart) m))) (check-equals? d/dxc ed/dxc)))))) (test-case "Is R6 abelian?" (let ((f (structure-constants R6 R6-chart))) (check-equals? f (* f 0)))))))