@@ -1,295 +1,295 @@ -REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... - - -COMMENT - test file for the PHYSOP package; - -% load_package physop; % Load a compiled version of the physop package. -% showtime; -linelength(72)$ - - -% Example 1: Quantum Mechanics of a Dirac particle in an external -% electromagnetic field -VECOP P,A,K; - - -SCALOP M; - - -NONCOM P,A; - - -PHYSINDEX J,L; - - -oporder M,K,A,P; - - - -% we have to set off allfac here since otherwise there appear -% spurious negative powers in the printed output - off allfac; - - -FOR ALL J,L LET COMM(P(J),A(L))=K(J)*A(L); - - -H:= COMMUTE(P**2/(2*M),E/(4*M**2)*(P DOT A)); - - - -1 -1 -1 -h := (e*(m )*(m )*(m )*k(idx1)*k(idx1)*k(idx2)*a(idx2) - - -1 -1 -1 - + e*(m )*(m )*(m )*k(idx1)*k(idx1)*a(idx2)*p(idx2) - - -1 -1 -1 - + e*(m )*(m )*(m )*k(idx1)*k(idx2)*a(idx2)*p(idx1) - - -1 -1 -1 - + e*(m )*(m )*(m )*k(idx1)*a(idx2)*p(idx1)*p(idx2) - - -1 -1 -1 - + e*(m )*(m )*(m )*k(idx1)*k(idx2)*a(idx2)*p(idx1) - - -1 -1 -1 - + e*(m )*(m )*(m )*k(idx1)*a(idx2)*p(idx1)*p(idx2))/8 - -% showtime; -%assign the corresponding value to the adjoint of H -H!+ := adj H; - - - + + + + + -1 -1 -(h ) := (2*e*(p(idx1) )*(p(idx2) )*(a(idx2) )*(k(idx1) )*(m!+ )*(m!+ ) - - -1 + + + + - *(m!+ ) + 2*e*(p(idx1) )*(a(idx2) )*(k(idx1) )*(k(idx2) ) - - -1 -1 -1 + + + - *(m!+ )*(m!+ )*(m!+ ) + e*(p(idx2) )*(a(idx2) )*(k(idx1) ) - - + -1 -1 -1 + + - *(k(idx1) )*(m!+ )*(m!+ )*(m!+ ) + e*(a(idx2) )*(k(idx1) ) - - + + -1 -1 -1 - *(k(idx1) )*(k(idx2) )*(m!+ )*(m!+ )*(m!+ ))/8 - -% showtime; -% note the ordering of operators in the result! -% enhance the readability of the output - on allfac; - - -ON CONTRACT; - - -H; - - - 3 -(e*m!-1 - - 2 2 - *(k *k dot a + k *a dot p + 2*a dot p*k dot p + 2*k dot a*k dot p))/8 - -% showtime; -% Example 2: Virasoro Algebra from Conformal Field Theory - - -operator del; - - % this is just a definition of a delta function -for all n such that numberp n let del(n) = - if n=0 then 1 - else 0; - - - -scalop l; - - -noncom l,l; - - -state bra,ket; - - -% commutation relation of the operator l; -for all n,m let comm(l(n),l(m)) = - (m-n)*l(n+m)+c/12*(m**3-m)*del(n+m)*unit; - - %modified 1.1 - -for all n let l!+(n) = l(-n); - - - - -% relation for the states -for all h let bra!+(h) = ket(h); - - -for all p,q let bra(q) | ket(p) = del(p-q); - - - -for all r,h such that r < 0 or (r <2 and h=0) let - l(r) | ket(h) = 0; - - - -for all r,h such that r > 0 or (r > -2 and h = 0) let - bra(h) | l(r) = 0; - - - -% define a procedure to calculate V.E.V. -procedure Vak(X); -bra(0) | X | ket(0); - - -vak - - -% and now some calculations; -MA:= adj(l(3)*l(5))*l(3)*l(5); - - - 2 -ma := 20*c *unit + 332*c*unit + 2*c*l(5)*l(-5) + 10*c*l(3)*l(-3) - - + 80*c*l(0) + 2*l(8)*l(-3)*l(-5) + 4*l(8)*l(-8) - - + l(5)*l(3)*l(-3)*l(-5) + 2*l(5)*l(3)*l(-8) + 6*l(5)*l(0)*l(-5) - - + 8*l(5)*l(-2)*l(-3) + 60*l(5)*l(-5) + 8*l(3)*l(2)*l(-5) - - 2 - + 10*l(3)*l(0)*l(-3) + 112*l(3)*l(-3) + 64*l(2)*l(-2) + 60*l(0) - - + 556*l(0) - %modified 1.1 -% showtime; - -% here is the VEV of m -vak(Ma); - - -4*c*(5*c + 83) - -% showtime; -% and now calculate another matrix element - -matel := bra(1) | ma | ket(1); - - *************** WARNING: *************** -Evaluation incomplete due to missing elementary relations - - 2 -matel := 20*c + 332*c + bra(1) | (l(0) | 556*ket(1)) - - + bra(1) | (l(0) | 80*c*ket(1)) - - + bra(1) | (l(0)*l(0) | 60*ket(1)) - %modified 1.1 -% showtime; -% this evaluation is incomplete so supply the missing relation -for all h let l(0) | ket(h) = h*ket(h); - - -% and reevaluate matel -matel := matel; - - - 2 -matel := 4*(5*c + 103*c + 154) - -% showtime; - - -% Example 4: some manipulations with gamma matrices to demonstrate -% the use of commutators and anticommutators - - -off allfac; - - -vecop gamma,q; - - -tensop sigma(2); - - -antisymmetric sigma; - - -noncom gamma,gamma; - - -noncom sigma,gamma; - - -physindex mu,nu; - - -operator delta; - - -for all mu,nu let anticomm(gamma(mu),gamma(nu))=2*delta(mu,nu)*unit, - comm(gamma(mu),gamma(nu))=2*I*sigma(mu,nu); - - - -oporder p,q,gamma,sigma; - - -off allfac; - - -on anticom; - - -(gamma dot p)*(gamma dot q); - - -p(idx4)*q(idx5)*gamma(idx4)*gamma(idx5) - -% showtime; - -off anticom; - - -(gamma dot p)*(gamma dot q); - - -p(idx6)*q(idx7)*gamma(idx6)*gamma(idx7) - -% showtime; - -commute((gamma dot p),(gamma dot q)); - - -2*i*p(idx8)*q(idx9)*sigma(idx8,idx9) - -% showtime; -anticommute((gamma dot p),(gamma dot q)); - - - - 2*i*p(idx10)*q(idx11)*sigma(idx10,idx11) - - + 2*p(idx10)*q(idx11)*gamma(idx10)*gamma(idx11) - -on anticom; - - -anticommute((gamma dot p),(gamma dot q)); - - -2*delta(idx13,idx12)*p(idx12)*q(idx13) - -% showtime; - -end; -(TIME: physop 1010 1010) +REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ... + + +COMMENT + test file for the PHYSOP package; + +% load_package physop; % Load a compiled version of the physop package. +% showtime; +linelength(72)$ + + +% Example 1: Quantum Mechanics of a Dirac particle in an external +% electromagnetic field +VECOP P,A,K; + + +SCALOP M; + + +NONCOM P,A; + + +PHYSINDEX J,L; + + +oporder M,K,A,P; + + + +% we have to set off allfac here since otherwise there appear +% spurious negative powers in the printed output + off allfac; + + +FOR ALL J,L LET COMM(P(J),A(L))=K(J)*A(L); + + +H:= COMMUTE(P**2/(2*M),E/(4*M**2)*(P DOT A)); + + + -1 -1 -1 +h := (e*(m )*(m )*(m )*k(idx1)*k(idx1)*k(idx2)*a(idx2) + + -1 -1 -1 + + e*(m )*(m )*(m )*k(idx1)*k(idx1)*a(idx2)*p(idx2) + + -1 -1 -1 + + e*(m )*(m )*(m )*k(idx1)*k(idx2)*a(idx2)*p(idx1) + + -1 -1 -1 + + e*(m )*(m )*(m )*k(idx1)*a(idx2)*p(idx1)*p(idx2) + + -1 -1 -1 + + e*(m )*(m )*(m )*k(idx1)*k(idx2)*a(idx2)*p(idx1) + + -1 -1 -1 + + e*(m )*(m )*(m )*k(idx1)*a(idx2)*p(idx1)*p(idx2))/8 + +% showtime; +%assign the corresponding value to the adjoint of H +H!+ := adj H; + + + + + + + + -1 -1 +(h ) := (2*e*(p(idx1) )*(p(idx2) )*(a(idx2) )*(k(idx1) )*(m!+ )*(m!+ ) + + -1 + + + + + *(m!+ ) + 2*e*(p(idx1) )*(a(idx2) )*(k(idx1) )*(k(idx2) ) + + -1 -1 -1 + + + + *(m!+ )*(m!+ )*(m!+ ) + e*(p(idx2) )*(a(idx2) )*(k(idx1) ) + + + -1 -1 -1 + + + *(k(idx1) )*(m!+ )*(m!+ )*(m!+ ) + e*(a(idx2) )*(k(idx1) ) + + + + -1 -1 -1 + *(k(idx1) )*(k(idx2) )*(m!+ )*(m!+ )*(m!+ ))/8 + +% showtime; +% note the ordering of operators in the result! +% enhance the readability of the output + on allfac; + + +ON CONTRACT; + + +H; + + + 3 +(e*m!-1 + + 2 2 + *(k *k dot a + k *a dot p + 2*a dot p*k dot p + 2*k dot a*k dot p))/8 + +% showtime; +% Example 2: Virasoro Algebra from Conformal Field Theory + + +operator del; + + % this is just a definition of a delta function +for all n such that numberp n let del(n) = + if n=0 then 1 + else 0; + + + +scalop l; + + +noncom l,l; + + +state bra,ket; + + +% commutation relation of the operator l; +for all n,m let comm(l(n),l(m)) = + (m-n)*l(n+m)+c/12*(m**3-m)*del(n+m)*unit; + + %modified 1.1 + +for all n let l!+(n) = l(-n); + + + + +% relation for the states +for all h let bra!+(h) = ket(h); + + +for all p,q let bra(q) | ket(p) = del(p-q); + + + +for all r,h such that r < 0 or (r <2 and h=0) let + l(r) | ket(h) = 0; + + + +for all r,h such that r > 0 or (r > -2 and h = 0) let + bra(h) | l(r) = 0; + + + +% define a procedure to calculate V.E.V. +procedure Vak(X); +bra(0) | X | ket(0); + + +vak + + +% and now some calculations; +MA:= adj(l(3)*l(5))*l(3)*l(5); + + + 2 +ma := 20*c *unit + 332*c*unit + 2*c*l(5)*l(-5) + 10*c*l(3)*l(-3) + + + 80*c*l(0) + 2*l(8)*l(-3)*l(-5) + 4*l(8)*l(-8) + + + l(5)*l(3)*l(-3)*l(-5) + 2*l(5)*l(3)*l(-8) + 6*l(5)*l(0)*l(-5) + + + 8*l(5)*l(-2)*l(-3) + 60*l(5)*l(-5) + 8*l(3)*l(2)*l(-5) + + 2 + + 10*l(3)*l(0)*l(-3) + 112*l(3)*l(-3) + 64*l(2)*l(-2) + 60*l(0) + + + 556*l(0) + %modified 1.1 +% showtime; + +% here is the VEV of m +vak(Ma); + + +4*c*(5*c + 83) + +% showtime; +% and now calculate another matrix element + +matel := bra(1) | ma | ket(1); + + *************** WARNING: *************** +Evaluation incomplete due to missing elementary relations + + 2 +matel := 20*c + 332*c + bra(1) | (l(0) | 556*ket(1)) + + + bra(1) | (l(0) | 80*c*ket(1)) + + + bra(1) | (l(0)*l(0) | 60*ket(1)) + %modified 1.1 +% showtime; +% this evaluation is incomplete so supply the missing relation +for all h let l(0) | ket(h) = h*ket(h); + + +% and reevaluate matel +matel := matel; + + + 2 +matel := 4*(5*c + 103*c + 154) + +% showtime; + + +% Example 4: some manipulations with gamma matrices to demonstrate +% the use of commutators and anticommutators + + +off allfac; + + +vecop gamma,q; + + +tensop sigma(2); + + +antisymmetric sigma; + + +noncom gamma,gamma; + + +noncom sigma,gamma; + + +physindex mu,nu; + + +operator delta; + + +for all mu,nu let anticomm(gamma(mu),gamma(nu))=2*delta(mu,nu)*unit, + comm(gamma(mu),gamma(nu))=2*I*sigma(mu,nu); + + + +oporder p,q,gamma,sigma; + + +off allfac; + + +on anticom; + + +(gamma dot p)*(gamma dot q); + + +p(idx4)*q(idx5)*gamma(idx4)*gamma(idx5) + +% showtime; + +off anticom; + + +(gamma dot p)*(gamma dot q); + + +p(idx6)*q(idx7)*gamma(idx6)*gamma(idx7) + +% showtime; + +commute((gamma dot p),(gamma dot q)); + + +2*i*p(idx8)*q(idx9)*sigma(idx8,idx9) + +% showtime; +anticommute((gamma dot p),(gamma dot q)); + + + - 2*i*p(idx10)*q(idx11)*sigma(idx10,idx11) + + + 2*p(idx10)*q(idx11)*gamma(idx10)*gamma(idx11) + +on anticom; + + +anticommute((gamma dot p),(gamma dot q)); + + +2*delta(idx13,idx12)*p(idx12)*q(idx13) + +% showtime; + +end; +(TIME: physop 1010 1010)