0

SNEG パッケージを使用しているときに Mathematica でループを実行する際に問題が発生しました(フェルミオン演算子を使用した微積分用です)。

これが私のコードのほんの一部です:

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]];

この後、次のコードは係数のリストと 1 つの値を生成します。リストはリスト M に追加する必要があるため、最後に行列があり、単一の値がリストに含まれるため、ベクトルを取得します。Do-Loop を実行していないときは、

j="1";
k="2";

korr=cjck;

これでなんとかなる。natord リストでわかるように、28 のケースがあり、それぞれを明示的に入力したくありませんが、これを実行するループを作成しています。

あなたが私を助けてくれることを願っています。さらにコードが必要な場合は教えてください。

乾杯

4

1 に答える 1