(define DoV ((fileVal "Do") 'DoV)) (define v vector) (define n 3) (define explain (v "1" "exp(2*I*t)" "exp(-2*I*t)")) (define (el k) (let ((e (make-vector n))) (vector-set! e k 1) e)) (define E1 (let ((e (make-vector n))) (vector-set! e 0 1) e)) (define E1 (el 0)) (define Ee2It (el 1)) (define Eem2It (el 2)) (define Ezero (make-vector n)) (define (Eplus a b) (DoV n (lambda (n) (+ (vector-ref a n) (vector-ref b n))))) (define EplusM (lambda ls (let s ((ls ls)) (if (null? ls) '() (Eplus (car ls) (s (cdr ls))))))) (define (EsM s v) (let ((V (make-vector n))) (DoV n (lambda (n) (* s (vector-ref v n)))))) (define gdd (let ((x (EsM -1 Ee2It))) (v (v 1 0 0 0) (v 0 x 0 0) (v 0 0 x 0) (v 0 0 0 x)))) (define guu (let ((x (EsM -1 Eem2It))) (v (v 1 0 0 0) (v 0 x 0 0) (v 0 0 x 0) (v 0 0 0 x)))) (define (deriv x t) ( (define (Ricci Gam der) (lambda (alpa beta) (plus2 (sum (lambda (rho) (der rho rho alpa beta))) (neg (sum (lambda (rho) (der beta rho rho alpha)))) (sum (lambda (rho) (sum (lambda (Lambda) (mul (Gam rho rho Lambda) (Gam Lmabda beta alpha)))))) (neg (sum (lambda (rho) (sum (lambda (Lambda) (mul (Gam rho beta Lambda) (Gam Lambda rho alpha))))))))