(ylppa ((fileVal "Matrix") '() 0 zero? 1 + - * /) (lambda (rm mm mi ip tr det i? v= m=) (lambda (sig) (ylppa ((fileVal "IndCliff") sig equal? ((fileVal "rr") "Futz")) (lambda (C+ C- C* zero one C/ C= Cr alpha bar dag rp sm Q basis R? V? Rr Vr v2C) (let* ((turn (lambda (x y) (C* (C* x y) (alpha (C/ x))))) (mmv (lambda (m v) (map (lambda (x) (ip v x)) m))) (Om (lambda (g) (map (lambda (i) (V? (turn g i))) basis))) (DoL ((fileVal "Do") 'DoL)) (eta ((fileVal "diag") (map (lambda (e) (e 1)) sig))) (t (lambda (cg) (let ((A (Om cg))) (list (list 'InV (DoL 5 (lambda (j) (if (V? (turn cg (Vr))) #t #f)))) (list 'etaT (m= (mm A (mm eta (tr A))) eta)) (list 'cns (let ((v (Vr))) (= (Q v) (Q (v2C (mmv A (V? v))))))))))) (Gr (lambda (n) (let r ((n n)) (if (= n 0) one (C* (Vr) (r (- n 1)))))))) (list (DoL 5 (lambda (j) (list j 'refl (t (Gr j))))) (list 'Vb (map V? basis)) (list 'Qb (map Q basis)) (list 'Rz (m= (map (lambda (i) (map (lambda (j) (R? (sm 1/2 (C+ (C* i j) (C* j i))))) basis)) basis) eta)) (list 'bilinear (let ((bq (lambda (x y) (* 1/2 (- (Q (C+ x y)) (+ (Q x) (Q y))))))) (let ((a 17/29) (b (Cr)) (c (Cr)) (d (Cr))) (list (= (bq d b) (bq b d)) (= (bq d (C+ b c)) (+ (bq d b) (bq d c))) (= (* a (bq b c)) (bq (sm a b) c)))))) (list 'ops (map Om basis)))))))))