level 1
一、首先计算概率P没有问题,代码如下:
Clear["Global`*"](*Clear all variables*)
\[Sigma] = {PauliMatrix[1],
PauliMatrix[2], PauliMatrix[3]};
i = IdentityMatrix[2];
u11[x11_, k_] = {Sin[(x11*Pi)/(k)], 0, Cos[(x11*Pi)/(k)]};
u12[x12_, k_] = {Sin[(x12*Pi)/(k)], 0, Cos[(x12*Pi)/(k)]};
u21[x21_, k_] = {Sin[(x21*Pi)/(k)], 0, Cos[(x21*Pi)/(k)]};
u22[x22_, k_] = {Sin[(x22*Pi)/(k)], 0, Cos[(x22*Pi)/(k)]};
u31[x31_, k_] = {Sin[(x31*Pi)/(k)], 0, Cos[(x31*Pi)/(k)]};
u32[x32_, k_] = {Sin[(x32*Pi)/(k)], 0, Cos[(x32*Pi)/(k)]};
W[y_, k_] = {Sin[((2*y + 1)*Pi)/(2*k)], 0,
Cos[((2*y + 1)*Pi)/(2*k)]};
U110 = KroneckerProduct[
KroneckerProduct[(i + u11[x11, k] . \[Sigma])/2, i], i];
U111 = KroneckerProduct[
KroneckerProduct[(i - u11[x11, k] . \[Sigma])/2, i], i];
U12[a12_] =
KroneckerProduct[
KroneckerProduct[(i + a12*u12[x12, k] . \[Sigma])/2, i], i];
U210 = KroneckerProduct[
KroneckerProduct[i, (i + u21[x21, k] . \[Sigma])/2], i];
U211 = KroneckerProduct[
KroneckerProduct[i, (i - u21[x21, k] . \[Sigma])/2], i];
U22[a22_] =
KroneckerProduct[
KroneckerProduct[i, (i + a22*u22[x22, k] . \[Sigma])/2], i];
U310 = KroneckerProduct[
KroneckerProduct[i, i], (i + u31[x31, k] . \[Sigma])/2];
U311 = KroneckerProduct[
KroneckerProduct[i, i], (i - u31[x31, k] . \[Sigma])/2];
U32[a32_] =
KroneckerProduct[
KroneckerProduct[i, i], (i + a32*u32[x32, k] . \[Sigma])/2];
\[Rho]a = (1/4) (i - b*(W[y, k] . \[Sigma]));
\[Rho]1 =
KroneckerProduct[(1/4) (i - b1*(W[y, k] . \[Sigma])), (1/4) (i -
b2*(W[y, k] . \[Sigma]))];
\[Rho] =
KroneckerProduct[\[Rho]1, (1/4) (i - b3*(W[y, k] . \[Sigma]))];
\[Rho]12 = (F1/2)*
U12[a12] . \[Rho] . U12[a12] + ((1 + a11*G1 - F1)/2)*
U12[a12] . U110 . \[Rho] . U110 .
U12[a12] + ((1 - a11*G1 - F1)/2)*
U12[a12] . U111 . \[Rho] . U111 . U12[a12];
\[Rho]22 = (F2/2)*
U22[a22] . \[Rho]12 . U22[a22] + ((1 + a21*G2 - F2)/2)*
U22[a22] . U210 . \[Rho]12 . U210 .
U22[a22] + ((1 - a21*G2 - F2)/2)*
U22[a22] . U211 . \[Rho]12 . U211 . U22[a22];
\[Rho]32 = (F3/2)*
U32[a32] . \[Rho]22 . U32[a32] + ((1 + a31*G3 - F3)/2)*
U32[a32] . U310 . \[Rho]22 . U310 .
U32[a32] + ((1 - a31*G3 - F3)/2)*
U32[a32] . U311 . \[Rho]22 . U311 . U32[a32];
P = Tr[\[Rho]32];
二、利用Sum函数求和,第一个小p可以输出,利用小p算c就不输出,然后再输出小p结果为零,代码如下:
p = 0;
p = Sum[(1/8)*P /. {a12 -> (1 - 2*i1), a22 -> (1 - 2*i2),
a32 -> (1 - 2*i3), x12 -> i4, x22 -> i5, x32 -> i6}, {i1, 0,
1}, {i2, 0, 1}, {i3, 0, 1}, {i4, 0, 1}, {i5, 0, 1}, {i6, 0, 1}]
c = 0;
c = Sum[a11*a21*a31*b1*b2*b3*p /. {a11 -> (1 - 2*i1),
a21 -> (2*i2 - 1), a31 -> (2*i3 - 1), b1 -> (2*i4 - 1),
b2 -> (2*i5 - 1), b3 -> (2*i6 - 1)}, {i1, 0, 1}, {i2, 0, 1}, {i3,
0, 1}, {i4, 0, 1}, {i5, 0, 1}, {i6, 0, 1}]
需要运行时间,概率P大概几秒,小p90-130秒,小c很久,但是不输出代码自动终止,后面还有命令也不执行
真的没办法了,请贴吧大神看一下
2022年05月13日 07点05分
1
Clear["Global`*"](*Clear all variables*)
\[Sigma] = {PauliMatrix[1],
PauliMatrix[2], PauliMatrix[3]};
i = IdentityMatrix[2];
u11[x11_, k_] = {Sin[(x11*Pi)/(k)], 0, Cos[(x11*Pi)/(k)]};
u12[x12_, k_] = {Sin[(x12*Pi)/(k)], 0, Cos[(x12*Pi)/(k)]};
u21[x21_, k_] = {Sin[(x21*Pi)/(k)], 0, Cos[(x21*Pi)/(k)]};
u22[x22_, k_] = {Sin[(x22*Pi)/(k)], 0, Cos[(x22*Pi)/(k)]};
u31[x31_, k_] = {Sin[(x31*Pi)/(k)], 0, Cos[(x31*Pi)/(k)]};
u32[x32_, k_] = {Sin[(x32*Pi)/(k)], 0, Cos[(x32*Pi)/(k)]};
W[y_, k_] = {Sin[((2*y + 1)*Pi)/(2*k)], 0,
Cos[((2*y + 1)*Pi)/(2*k)]};
U110 = KroneckerProduct[
KroneckerProduct[(i + u11[x11, k] . \[Sigma])/2, i], i];
U111 = KroneckerProduct[
KroneckerProduct[(i - u11[x11, k] . \[Sigma])/2, i], i];
U12[a12_] =
KroneckerProduct[
KroneckerProduct[(i + a12*u12[x12, k] . \[Sigma])/2, i], i];
U210 = KroneckerProduct[
KroneckerProduct[i, (i + u21[x21, k] . \[Sigma])/2], i];
U211 = KroneckerProduct[
KroneckerProduct[i, (i - u21[x21, k] . \[Sigma])/2], i];
U22[a22_] =
KroneckerProduct[
KroneckerProduct[i, (i + a22*u22[x22, k] . \[Sigma])/2], i];
U310 = KroneckerProduct[
KroneckerProduct[i, i], (i + u31[x31, k] . \[Sigma])/2];
U311 = KroneckerProduct[
KroneckerProduct[i, i], (i - u31[x31, k] . \[Sigma])/2];
U32[a32_] =
KroneckerProduct[
KroneckerProduct[i, i], (i + a32*u32[x32, k] . \[Sigma])/2];
\[Rho]a = (1/4) (i - b*(W[y, k] . \[Sigma]));
\[Rho]1 =
KroneckerProduct[(1/4) (i - b1*(W[y, k] . \[Sigma])), (1/4) (i -
b2*(W[y, k] . \[Sigma]))];
\[Rho] =
KroneckerProduct[\[Rho]1, (1/4) (i - b3*(W[y, k] . \[Sigma]))];
\[Rho]12 = (F1/2)*
U12[a12] . \[Rho] . U12[a12] + ((1 + a11*G1 - F1)/2)*
U12[a12] . U110 . \[Rho] . U110 .
U12[a12] + ((1 - a11*G1 - F1)/2)*
U12[a12] . U111 . \[Rho] . U111 . U12[a12];
\[Rho]22 = (F2/2)*
U22[a22] . \[Rho]12 . U22[a22] + ((1 + a21*G2 - F2)/2)*
U22[a22] . U210 . \[Rho]12 . U210 .
U22[a22] + ((1 - a21*G2 - F2)/2)*
U22[a22] . U211 . \[Rho]12 . U211 . U22[a22];
\[Rho]32 = (F3/2)*
U32[a32] . \[Rho]22 . U32[a32] + ((1 + a31*G3 - F3)/2)*
U32[a32] . U310 . \[Rho]22 . U310 .
U32[a32] + ((1 - a31*G3 - F3)/2)*
U32[a32] . U311 . \[Rho]22 . U311 . U32[a32];
P = Tr[\[Rho]32];
二、利用Sum函数求和,第一个小p可以输出,利用小p算c就不输出,然后再输出小p结果为零,代码如下:
p = 0;
p = Sum[(1/8)*P /. {a12 -> (1 - 2*i1), a22 -> (1 - 2*i2),
a32 -> (1 - 2*i3), x12 -> i4, x22 -> i5, x32 -> i6}, {i1, 0,
1}, {i2, 0, 1}, {i3, 0, 1}, {i4, 0, 1}, {i5, 0, 1}, {i6, 0, 1}]
c = 0;
c = Sum[a11*a21*a31*b1*b2*b3*p /. {a11 -> (1 - 2*i1),
a21 -> (2*i2 - 1), a31 -> (2*i3 - 1), b1 -> (2*i4 - 1),
b2 -> (2*i5 - 1), b3 -> (2*i6 - 1)}, {i1, 0, 1}, {i2, 0, 1}, {i3,
0, 1}, {i4, 0, 1}, {i5, 0, 1}, {i6, 0, 1}]
需要运行时间,概率P大概几秒,小p90-130秒,小c很久,但是不输出代码自动终止,后面还有命令也不执行
真的没办法了,请贴吧大神看一下