Loops 使用sneg软件包在mathematica中执行循环
我在Mathematica中使用SNEG包时遇到了一个问题,它是用于费米子算符的微积分 下面是我的一点代码:Loops 使用sneg软件包在mathematica中执行循环,loops,wolfram-mathematica,Loops,Wolfram Mathematica,我在Mathematica中使用SNEG包时遇到了一个问题,它是用于费米子算符的微积分 下面是我的一点代码: natord = {{cjdckd, 1, 2}, {cjdckd, 1, 3}, {cjdckd, 1, 4}, {cjdck, 1, 1}, {cjdck, 1, 2}, {cjdck, 1, 3}, {cjdck, 1, 4}, {cjdckd, 2, 3}, {cjdckd, 2, 4}, {cjdck, 2, 1}, {cjdck, 2, 2}, {c
natord = {{cjdckd, 1, 2}, {cjdckd, 1, 3}, {cjdckd, 1, 4}, {cjdck, 1,
1}, {cjdck, 1, 2}, {cjdck, 1, 3}, {cjdck, 1, 4},
{cjdckd, 2, 3}, {cjdckd, 2, 4}, {cjdck, 2, 1}, {cjdck, 2,
2}, {cjdck, 2, 3}, {cjdck, 2, 4}, {cjdckd, 3, 4}, {cjdck, 3,
1}, {cjdck, 3, 2}, {cjdck, 3, 3}, {cjdck, 3, 4}, {cjdck, 4,
1}, {cjdck, 4, 2}, {cjdck, 4, 3}, {cjdck, 4, 4}, {cjck, 1,
2}, {cjck, 1, 3}, {cjck, 1, 4}, {cjck, 2, 3}, {cjck, 2, 4}, {cjck,
3, 4}};
Do[
j = natord[[ind, 2]] // ToString;
k = natord[[ind, 3]] // ToString;
cjd = c[0, j];
cj = c[1, j];
ckd = c[0, k];
ck = c[1, k];
cjck = nc[cj, ck];
cjdck = nc[cjd, ck];
cjdckd = nc[cjd, ckd];
korr = natord[[ind, 1]];
在此之后,下面的代码生成一个系数列表和一个值。
这个列表应该被附加到一个列表M中,所以我在最后有一个矩阵,单个值将在一个列表中,所以我得到一个向量。
当我不做循环,只是说
j="1";
k="2";
及
不知怎的,这会成功的。
正如你在natord列表中所看到的,我有28个案例,我不想把它们明确地放在每个案例中,但是为我创建了一个循环
希望你能帮助我。如果你需要更多的代码,告诉我
干杯您的代码示例不会显示您在使用Append或AppendTo时可能遇到的任何问题 真的
korr=cjck;
m = {};
Do[AppendTo[m, natord[[i]]], {i, Length[natord]}]
m == natord