>> % Test run for parser >> >> Dirac Dirac : Dirac : D: |a> |b> |c> |d> (c1) (c2) [O1] [O2] [U][sig2] DECLARED = |a> |b> |c> |d> (c1) (c2) [O1] [O2] [U][sig2] Dirac : M: a=[1;0]; b=[0;1]; Dirac : c1=0.7071 Matlab: --> c1=0.7071 c1 = 0.7071 Dirac : c2=0.7071 Matlab: --> c2=0.7071 c2 = 0.7071 Dirac : |d> = c1 |a> - c2|b> Matlab: --> d=c1*a-c2*b d = 0.7071 -0.7071 Dirac : |c> = c1 |a> + c2|b> Matlab: --> c=c1*a+c2*b c = 0.7071 0.7071 Dirac : |a> Matlab: --> a a = 1 0 Dirac : c1=0.7071 Matlab: --> c1=0.7071 c1 = 0.7071 Dirac : c2=0.7071 Matlab: --> c2=0.7071 c2 = 0.7071 Dirac : c2(|a>) Matlab: --> c2*(a) ans = 0.7071 0 Dirac : c2 ( c1 ) Matlab: --> c2*(c1) ans = 0.5000 Dirac : O1 = |a> O1=a*(b)' O1 = 0 1 0 0 Dirac : c2 O1 Matlab: --> c2*O1 ans = 0 0.7071 0 0 Dirac : c2 (O1) (|a>) Matlab: --> c2*(O1)*(a) ans = 0 0 Dirac : c2(|a>) Matlab: --> c2*(a) ans = 0.7071 0 Dirac : c2 (O1) Matlab: --> c2*(O1) ans = 0 0.7071 0 0 Dirac : c2 O1 Matlab: --> c2*O1 ans = 0 0.7071 0 0 Dirac : c1 |a> c1*a*(a)' ans = 0.7071 0 0 0 Dirac : O1 Matlab: --> O1 O1 = 0 1 0 0 Dirac : exp(i O1) Matlab: --> expm(i*O1) ans = 1.0000 0 + 1.0000i 0 1.0000 Dirac : M: sig2=[0 1;1 0] sig2 = 0 1 1 0 Dirac : M: U=eye(2) U = 1 0 0 1 Dirac : U cos(1) + i sig2 sin(1) - exp(i sig2) Matlab: --> U*cos(1)+i*sig2*sin(1)-expm(i*sig2) ans = 1.0e-15 * -0.2220 0 - 0.1110i 0 - 0.1110i -0.2220 Dirac : c1 O2 Matlab: --> c1*O2 ans = [] Dirac : c1(O1) Matlab: --> c1*(O1) ans = 0 0.7071 0 0 Dirac : c1 O1 + c1 O1 Matlab: --> c1*O1+c1*O1 ans = 0 1.4142 0 0 Dirac : O2=O1 Matlab: --> O2=O1 O2 = 0 1 0 0 Dirac : c1( O1 + O2 ) Matlab: --> c1*(O1+O2) ans = 0 1.4142 0 0 Dirac : c1(O1+O2) Matlab: --> c1*(O1+O2) ans = 0 1.4142 0 0 Dirac : ss=c1(O1+O2) Matlab: --> ss=c1*(O1+O2) ss = 0 1.4142 0 0 Dirac : c1(|a>) Matlab: --> c1*(a) ans = 0.7071 0 Dirac : c1(c2|a>) Matlab: --> c1*(c2*a) ans = 0.5000 0 Dirac : c1(O1|a>) Matlab: --> c1*(O1*a) ans = 0 0 Dirac : sin(1) |a> Matlab: --> sin(1)*a ans = 0.8415 0 Dirac : sin(1) Matlab: --> sin(1) ans = 0.8415 Dirac : c1(c2) Matlab: --> c1*(c2) ans = 0.5000 Dirac : sin(c1) Matlab: --> sin(c1) ans = 0.6496 Dirac : sin(c1) Matlab: --> sin(c1) ans = 0.6496 Dirac : c1(c1) Matlab: --> c1*(c1) ans = 0.5000 Dirac : c1(|a>) Matlab: --> c1*(a) ans = 0.7071 0 Dirac : c1(|a>)+ sin(2)|a> Matlab: --> c1*(a)+sin(2)*a ans = 1.6164 0 Dirac : sin(2)|a>+c1(|a>) Matlab: --> sin(2)*a+c1*(a) ans = 1.6164 0 Dirac : sin(2)|a>+c1(|a>) Matlab: --> sin(2)*a+c1*(a) ans = 1.6164 0 Dirac : c1(|a>)+ sin(2)|a> Matlab: --> c1*(a)+sin(2)*a ans = 1.6164 0 Dirac : s=c1(|a>)+ sin(2)|a> Matlab: --> s=c1*(a)+sin(2)*a s = 1.6164 0 Dirac : Q=|s> Q=s*(s)' Q = 2.6127 0 0 0 Dirac : exp(i Q) Matlab: --> expm(i*Q) ans = -0.8634 + 0.5045i 0 0 1.0000 Dirac : s=c1(|a>)+ sin(2)|a> Matlab: --> s=c1*(a)+sin(2)*a s = 1.6164 0 Dirac : sin(1) O1 Matlab: --> sin(1)*O1 ans = 0 0.8415 0 0 Dirac : (|c> Matlab: --> (c*(c)')*a ans = 0.5000 0.5000 Dirac : |c> Matlab: --> c*(c)'*a ans = 0.5000 0.5000 Dirac : ( |c> Matlab: --> (c*(c)')*a ans = 0.5000 0.5000 Dirac : (|c> Matlab: --> (c*(c)')*a ans = 0.5000 0.5000 Dirac : |d> = c1 |a> - c2|b> Matlab: --> d=c1*a-c2*b d = 0.7071 -0.7071 Dirac : |c> = c2 |a> + c1|b> Matlab: --> c=c2*a+c1*b c = 0.7071 0.7071 Dirac : (|c> Matlab: --> (c*(c)')*a ans = 0.5000 0.5000 Dirac : sin(1) O1 Matlab: --> sin(1)*O1 ans = 0 0.8415 0 0 Dirac : s=c1(|a>)+ sin(2)|a> Matlab: --> s=c1*(a)+sin(2)*a s = 1.6164 0 Dirac : (|c> Matlab: --> (c*(c)')*a ans = 0.5000 0.5000 Dirac : |c> Matlab: --> c*(c)'*a ans = 0.5000 0.5000 Dirac : Matlab: --> (c)'*c ans = 1.0000 Dirac : (|c> Matlab: --> (c*(c)')*a ans = 0.5000 0.5000 Dirac : |c>=(|c> Matlab: --> c=(c*(c)')*b c = 0.5000 0.5000 Dirac : |c> c*(c)' ans = 0.2500 0.2500 0.2500 0.2500 Dirac : Matlab: --> (c)'*a ans = 0.5000 Dirac : O1=|c> O1=c*(c)' O1 = 0.2500 0.2500 0.2500 0.2500 Dirac : O2=|d> O2=d*(d)' O2 = 0.5000 -0.5000 -0.5000 0.5000 Dirac : O2|a> Matlab: --> O2*a ans = 0.5000 -0.5000 Dirac : (O1+O2)|a> Matlab: --> (O1+O2)*a ans = 0.7500 -0.2500 Dirac : M: U=eye(2) U = 1 0 0 1 Dirac : (O1+O2)|a> Matlab: --> (O1+O2)*a ans = 0.7500 -0.2500 Dirac : (O1+O2)|a> Matlab: --> (O1+O2)*a ans = 0.7500 -0.2500 Dirac : c1 (O1+O2)|a> Matlab: --> c1*(O1+O2)*a ans = 0.5303 -0.1768 Dirac : (c1)(O1+O2)|a> Matlab: --> (c1)*(O1+O2)*a ans = 0.5303 -0.1768 Dirac : c1 (O1+O2)|a> Matlab: --> c1*(O1+O2)*a ans = 0.5303 -0.1768 Dirac : c1(c2) Matlab: --> c1*(c2) ans = 0.5000 Dirac : c=(c1*(a)'*O2*O2)' c = 0.3535 -0.3535 Dirac : c1(O1+O2)|a> Matlab: --> c1*(O1+O2)*a ans = 0.5303 -0.1768 Dirac : U=(O1+O2)|a> U=(O1+O2)*a*(a)' U = 0.7500 0 -0.2500 0 Dirac : U=(|a> U=(a*(a)') U = 1 0 0 0 Dirac : %%% crashes Dirac : % Matlab: --> (a*(a)'+a*(a)')*c ans = 0.7071 0 Dirac : |c> = ( |a> Matlab: --> c=(a*(a)')*c c = 0.3535 0 Dirac : |c> = ( c1 |a> Matlab: --> c=(c1*a*(a)'+c2*a*(a)')*c c = 0.5000 0 Dirac : Dirac : Dirac : Dirac : Dirac : c=(c1*c2(a)')' ??? Index into matrix is negative or zero. Error in ==> /atom/user/ladi/NEW.AGE/ORTHO/Dirac.m On line 109 ==> eval(OutStr); >> ' BACK TO DIRAC ' ans = BACK TO DIRAC >> Dirac Declared: |a> |b> |c> |d> (c1) (c2) [O1] [O2] [U][sig2] Dirac : |a> Matlab: --> a a = 1 0 Dirac : |c> = ( c1 |a> Matlab: --> c=(c1*a*(a)'+c2*a*(a)')*c c = 0.7071 0 Dirac : $ >> >> >> diary