close all;clear all;clc;
dim=2;ndim=2*dim^2;
rhogg = sym('x0',[dim,dim]);
rhoee = sym('x1',[dim,dim]);
veclst = reshape([reshape(rhogg.',[ndim/2,1]);reshape(rhoee.',[ndim/2,1])],[ndim,1]);
calL=[ -490483332694345/4503599627370496, 8714766219281441/180143985094819840, 8714766219281441/180143985094819840, 1/20, 6446122069072549423261322159865/81129638414606681695789005144064, 981195447444422104130231006985/20282409603651670423947251286016, 7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032
; 8714766219281441/180143985094819840, - 3015366616893037/22517998136852480 + 1i, 1/40, 8714766219281441/180143985094819840, 981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064, 1194820074171107563807902424979/40564819207303340847894502572032, 7849563579555376079916809200611/162259276829213363391578010288128
; 8714766219281441/180143985094819840, 1/40, - 3015366616893037/22517998136852480 - 1i, 8714766219281441/180143985094819840, 7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032, 6446122069072549423261322159865/81129638414606681695789005144064, 981195447444422104130231006985/20282409603651670423947251286016
; 0, 8714766219281441/180143985094819840, 8714766219281441/180143985094819840, -3578316570314349/22517998136852480, 1194820074171107563807902424979/40564819207303340847894502572032, 7849563579555376079916809200611/162259276829213363391578010288128, 981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064
; 6446122069072549423261322159865/81129638414606681695789005144064, -981195447444422104130231006985/20282409603651670423947251286016, -7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032, -490483332694345/4503599627370496, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, 1/20
; -981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064, 1194820074171107563807902424979/40564819207303340847894502572032, -7849563579555376079916809200611/162259276829213363391578010288128, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, - 3015366616893037/22517998136852480 + 1i, 1/40, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840
;-7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032, 6446122069072549423261322159865/81129638414606681695789005144064, -981195447444422104130231006985/20282409603651670423947251286016, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, 1/40, - 3015366616893037/22517998136852480 - 1i, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840
; 1194820074171107563807902424979/40564819207303340847894502572032, -7849563579555376079916809200611/162259276829213363391578010288128, -981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064, 0, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, -3578316570314349/22517998136852480];
equ = [trace(rhogg)+trace(rhoee)==1;calL*veclst==0];
sol = solve(equ,veclst)
dim=2;ndim=2*dim^2;
rhogg = sym('x0',[dim,dim]);
rhoee = sym('x1',[dim,dim]);
veclst = reshape([reshape(rhogg.',[ndim/2,1]);reshape(rhoee.',[ndim/2,1])],[ndim,1]);
calL=[ -490483332694345/4503599627370496, 8714766219281441/180143985094819840, 8714766219281441/180143985094819840, 1/20, 6446122069072549423261322159865/81129638414606681695789005144064, 981195447444422104130231006985/20282409603651670423947251286016, 7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032
; 8714766219281441/180143985094819840, - 3015366616893037/22517998136852480 + 1i, 1/40, 8714766219281441/180143985094819840, 981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064, 1194820074171107563807902424979/40564819207303340847894502572032, 7849563579555376079916809200611/162259276829213363391578010288128
; 8714766219281441/180143985094819840, 1/40, - 3015366616893037/22517998136852480 - 1i, 8714766219281441/180143985094819840, 7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032, 6446122069072549423261322159865/81129638414606681695789005144064, 981195447444422104130231006985/20282409603651670423947251286016
; 0, 8714766219281441/180143985094819840, 8714766219281441/180143985094819840, -3578316570314349/22517998136852480, 1194820074171107563807902424979/40564819207303340847894502572032, 7849563579555376079916809200611/162259276829213363391578010288128, 981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064
; 6446122069072549423261322159865/81129638414606681695789005144064, -981195447444422104130231006985/20282409603651670423947251286016, -7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032, -490483332694345/4503599627370496, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, 1/20
; -981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064, 1194820074171107563807902424979/40564819207303340847894502572032, -7849563579555376079916809200611/162259276829213363391578010288128, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, - 3015366616893037/22517998136852480 + 1i, 1/40, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840
;-7849563579555376079916809200611/162259276829213363391578010288128, 1194820074171107563807902424979/40564819207303340847894502572032, 6446122069072549423261322159865/81129638414606681695789005144064, -981195447444422104130231006985/20282409603651670423947251286016, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, 1/40, - 3015366616893037/22517998136852480 - 1i, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840
; 1194820074171107563807902424979/40564819207303340847894502572032, -7849563579555376079916809200611/162259276829213363391578010288128, -981195447444422104130231006985/20282409603651670423947251286016, 6446122069072549423261322159865/81129638414606681695789005144064, 0, (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, - (2^(1/2)*1i)/4 - 8714766219281441/180143985094819840, -3578316570314349/22517998136852480];
equ = [trace(rhogg)+trace(rhoee)==1;calL*veclst==0];
sol = solve(equ,veclst)

