From: abpetrov <abpetrov@uf...>  20130812 16:28:32

Hi, I just have tried make linear transformation for fermi operators. But after such transformation result has strange property. When I set switch factor on some sum's members dissapears. When I set switch factor off they appears again. I suppose this is a bad thing because in many situations it can lead to illegal interpretation calculation results. So, questions is 1) Why dissapears some sum's members 2) How can I avoid that situations? I can add, that when I made new fermi operators a2 and a2c (see below) as commutative variables they don't disappears. The program with noncommutative variables below. In program I have fermi operators a,ac with rules and a2 and a2c with rules. After that I defined operator H, in which I made linear transformation. Last two outputs of operator H2 is different because of switch factor on. off lower$ on intstr$ load_package noncom2; operator a,ac; noncom a,a; noncom ac,ac; noncom a,ac; for all i let a(i)*ac(i) = 1  ac(i)*a(i); for all i,j such that i neq j let a(i)*ac(j) = ac(j)*a(i); for all i,j such that ordp(i,j) let a(i)*a(j) = a(j)*a(i); for all i,j such that ordp(i,j) let ac(i)*ac(j) = ac(j)*ac(i); operator a2,a2c; noncom a2,a2; noncom a2c,a2c; noncom a2,a2c; for all i let a2(i)*a2c(i) = 1  a2c(i)*a2(i); for all i,j such that i neq j let a2(i)*a2c(j) = a2c(j)*a2(i); for all i,j such that ordp(i,j) let a2(i)*a2(j) = a2(j)*a2(i); for all i,j such that ordp(i,j) let a2c(i)*a2c(j) = a2c(j)*a2c(i); operator H; H := J1*ac(i)*a(i+1) + J1*ac(i+1)*a(i); operator U,UT,V,VT; sub_fermi := { a(~i) => U(i,j1)*a2(j1) + V(i,j1)*a2c(j1), ac(~i) => VT(i,j2)*a2(j2) + UT(i,j2)*a2c(j2) }; H2 := (H where sub_fermi); on factor; H2; Best regards, Petrov Alexander 