Documentation updated

This commit is contained in:
fjosw 2023-01-16 14:58:20 +00:00
parent 00d2a025f9
commit b42baa7582
15 changed files with 9322 additions and 8452 deletions

View file

@ -110,63 +110,74 @@
</span><span id="L-26"><a href="#L-26"><span class="linenos">26</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-3 epsilon tensor</span>
</span><span id="L-27"><a href="#L-27"><span class="linenos">27</span></a>
</span><span id="L-28"><a href="#L-28"><span class="linenos">28</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">))</span>
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))):</span>
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a>
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">))</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">)</span>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
</span><span id="L-29"><a href="#L-29"><span class="linenos">29</span></a>
</span><span id="L-30"><a href="#L-30"><span class="linenos">30</span></a><span class="sd"> Returns</span>
</span><span id="L-31"><a href="#L-31"><span class="linenos">31</span></a><span class="sd"> -------</span>
</span><span id="L-32"><a href="#L-32"><span class="linenos">32</span></a><span class="sd"> elem : int</span>
</span><span id="L-33"><a href="#L-33"><span class="linenos">33</span></a><span class="sd"> Element (i,j,k) of the epsilon tensor of rank 3</span>
</span><span id="L-34"><a href="#L-34"><span class="linenos">34</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-35"><a href="#L-35"><span class="linenos">35</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">))</span>
</span><span id="L-36"><a href="#L-36"><span class="linenos">36</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))):</span>
</span><span id="L-37"><a href="#L-37"><span class="linenos">37</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
</span><span id="L-38"><a href="#L-38"><span class="linenos">38</span></a>
</span><span id="L-39"><a href="#L-39"><span class="linenos">39</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
</span><span id="L-40"><a href="#L-40"><span class="linenos">40</span></a>
</span><span id="L-41"><a href="#L-41"><span class="linenos">41</span></a>
</span><span id="L-42"><a href="#L-42"><span class="linenos">42</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
</span><span id="L-43"><a href="#L-43"><span class="linenos">43</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="L-44"><a href="#L-44"><span class="linenos">44</span></a>
</span><span id="L-45"><a href="#L-45"><span class="linenos">45</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
</span><span id="L-46"><a href="#L-46"><span class="linenos">46</span></a>
</span><span id="L-47"><a href="#L-47"><span class="linenos">47</span></a>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Identity&#39;</span><span class="p">:</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Gamma5&#39;</span><span class="p">:</span>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaX&#39;</span><span class="p">:</span>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaY&#39;</span><span class="p">:</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZ&#39;</span><span class="p">:</span>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaT&#39;</span><span class="p">:</span>
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaXGamma5&#39;</span><span class="p">:</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaYGamma5&#39;</span><span class="p">:</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZGamma5&#39;</span><span class="p">:</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaTGamma5&#39;</span><span class="p">:</span>
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXT&#39;</span><span class="p">:</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXY&#39;</span><span class="p">:</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXZ&#39;</span><span class="p">:</span>
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYT&#39;</span><span class="p">:</span>
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYZ&#39;</span><span class="p">:</span>
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaZT&#39;</span><span class="p">:</span>
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Unkown gamma structure&#39;</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
</span><span id="L-85"><a href="#L-85"><span class="linenos">85</span></a> <span class="k">return</span> <span class="n">g</span>
</span><span id="L-48"><a href="#L-48"><span class="linenos">48</span></a><span class="sd"> Returns</span>
</span><span id="L-49"><a href="#L-49"><span class="linenos">49</span></a><span class="sd"> -------</span>
</span><span id="L-50"><a href="#L-50"><span class="linenos">50</span></a><span class="sd"> elem : int</span>
</span><span id="L-51"><a href="#L-51"><span class="linenos">51</span></a><span class="sd"> Element (i,j,k,o) of the epsilon tensor of rank 4</span>
</span><span id="L-52"><a href="#L-52"><span class="linenos">52</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="L-53"><a href="#L-53"><span class="linenos">53</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">))</span>
</span><span id="L-54"><a href="#L-54"><span class="linenos">54</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
</span><span id="L-55"><a href="#L-55"><span class="linenos">55</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">)</span>
</span><span id="L-56"><a href="#L-56"><span class="linenos">56</span></a>
</span><span id="L-57"><a href="#L-57"><span class="linenos">57</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
</span><span id="L-58"><a href="#L-58"><span class="linenos">58</span></a>
</span><span id="L-59"><a href="#L-59"><span class="linenos">59</span></a>
</span><span id="L-60"><a href="#L-60"><span class="linenos">60</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
</span><span id="L-61"><a href="#L-61"><span class="linenos">61</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="L-62"><a href="#L-62"><span class="linenos">62</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Identity&#39;</span><span class="p">:</span>
</span><span id="L-63"><a href="#L-63"><span class="linenos">63</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
</span><span id="L-64"><a href="#L-64"><span class="linenos">64</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Gamma5&#39;</span><span class="p">:</span>
</span><span id="L-65"><a href="#L-65"><span class="linenos">65</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
</span><span id="L-66"><a href="#L-66"><span class="linenos">66</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaX&#39;</span><span class="p">:</span>
</span><span id="L-67"><a href="#L-67"><span class="linenos">67</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="L-68"><a href="#L-68"><span class="linenos">68</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaY&#39;</span><span class="p">:</span>
</span><span id="L-69"><a href="#L-69"><span class="linenos">69</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
</span><span id="L-70"><a href="#L-70"><span class="linenos">70</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZ&#39;</span><span class="p">:</span>
</span><span id="L-71"><a href="#L-71"><span class="linenos">71</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
</span><span id="L-72"><a href="#L-72"><span class="linenos">72</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaT&#39;</span><span class="p">:</span>
</span><span id="L-73"><a href="#L-73"><span class="linenos">73</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
</span><span id="L-74"><a href="#L-74"><span class="linenos">74</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaXGamma5&#39;</span><span class="p">:</span>
</span><span id="L-75"><a href="#L-75"><span class="linenos">75</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-76"><a href="#L-76"><span class="linenos">76</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaYGamma5&#39;</span><span class="p">:</span>
</span><span id="L-77"><a href="#L-77"><span class="linenos">77</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-78"><a href="#L-78"><span class="linenos">78</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZGamma5&#39;</span><span class="p">:</span>
</span><span id="L-79"><a href="#L-79"><span class="linenos">79</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-80"><a href="#L-80"><span class="linenos">80</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaTGamma5&#39;</span><span class="p">:</span>
</span><span id="L-81"><a href="#L-81"><span class="linenos">81</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="L-82"><a href="#L-82"><span class="linenos">82</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXT&#39;</span><span class="p">:</span>
</span><span id="L-83"><a href="#L-83"><span class="linenos">83</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-84"><a href="#L-84"><span class="linenos">84</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXY&#39;</span><span class="p">:</span>
</span><span id="L-85"><a href="#L-85"><span class="linenos">85</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-86"><a href="#L-86"><span class="linenos">86</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXZ&#39;</span><span class="p">:</span>
</span><span id="L-87"><a href="#L-87"><span class="linenos">87</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="L-88"><a href="#L-88"><span class="linenos">88</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYT&#39;</span><span class="p">:</span>
</span><span id="L-89"><a href="#L-89"><span class="linenos">89</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-90"><a href="#L-90"><span class="linenos">90</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYZ&#39;</span><span class="p">:</span>
</span><span id="L-91"><a href="#L-91"><span class="linenos">91</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="L-92"><a href="#L-92"><span class="linenos">92</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaZT&#39;</span><span class="p">:</span>
</span><span id="L-93"><a href="#L-93"><span class="linenos">93</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span><span id="L-94"><a href="#L-94"><span class="linenos">94</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="L-95"><a href="#L-95"><span class="linenos">95</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Unkown gamma structure&#39;</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
</span><span id="L-96"><a href="#L-96"><span class="linenos">96</span></a> <span class="k">return</span> <span class="n">g</span>
</span></pre></div>
@ -186,18 +197,30 @@
</span><span id="epsilon_tensor-27"><a href="#epsilon_tensor-27"><span class="linenos">27</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-3 epsilon tensor</span>
</span><span id="epsilon_tensor-28"><a href="#epsilon_tensor-28"><span class="linenos">28</span></a>
</span><span id="epsilon_tensor-29"><a href="#epsilon_tensor-29"><span class="linenos">29</span></a><span class="sd"> Based on https://codegolf.stackexchange.com/a/160375</span>
</span><span id="epsilon_tensor-30"><a href="#epsilon_tensor-30"><span class="linenos">30</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="epsilon_tensor-31"><a href="#epsilon_tensor-31"><span class="linenos">31</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">))</span>
</span><span id="epsilon_tensor-32"><a href="#epsilon_tensor-32"><span class="linenos">32</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))):</span>
</span><span id="epsilon_tensor-33"><a href="#epsilon_tensor-33"><span class="linenos">33</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
</span><span id="epsilon_tensor-34"><a href="#epsilon_tensor-34"><span class="linenos">34</span></a>
</span><span id="epsilon_tensor-35"><a href="#epsilon_tensor-35"><span class="linenos">35</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
</span><span id="epsilon_tensor-30"><a href="#epsilon_tensor-30"><span class="linenos">30</span></a>
</span><span id="epsilon_tensor-31"><a href="#epsilon_tensor-31"><span class="linenos">31</span></a><span class="sd"> Returns</span>
</span><span id="epsilon_tensor-32"><a href="#epsilon_tensor-32"><span class="linenos">32</span></a><span class="sd"> -------</span>
</span><span id="epsilon_tensor-33"><a href="#epsilon_tensor-33"><span class="linenos">33</span></a><span class="sd"> elem : int</span>
</span><span id="epsilon_tensor-34"><a href="#epsilon_tensor-34"><span class="linenos">34</span></a><span class="sd"> Element (i,j,k) of the epsilon tensor of rank 3</span>
</span><span id="epsilon_tensor-35"><a href="#epsilon_tensor-35"><span class="linenos">35</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="epsilon_tensor-36"><a href="#epsilon_tensor-36"><span class="linenos">36</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">))</span>
</span><span id="epsilon_tensor-37"><a href="#epsilon_tensor-37"><span class="linenos">37</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">))):</span>
</span><span id="epsilon_tensor-38"><a href="#epsilon_tensor-38"><span class="linenos">38</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
</span><span id="epsilon_tensor-39"><a href="#epsilon_tensor-39"><span class="linenos">39</span></a>
</span><span id="epsilon_tensor-40"><a href="#epsilon_tensor-40"><span class="linenos">40</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">/</span> <span class="mi">2</span>
</span></pre></div>
<div class="docstring"><p>Rank-3 epsilon tensor</p>
<p>Based on <a href="https://codegolf.stackexchange.com/a/160375">https://codegolf.stackexchange.com/a/160375</a></p>
<h6 id="returns">Returns</h6>
<ul>
<li><strong>elem</strong> (int):
Element (i,j,k) of the epsilon tensor of rank 3</li>
</ul>
</div>
@ -213,22 +236,35 @@
</div>
<a class="headerlink" href="#epsilon_tensor_rank4"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor_rank4-38"><a href="#epsilon_tensor_rank4-38"><span class="linenos">38</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
</span><span id="epsilon_tensor_rank4-39"><a href="#epsilon_tensor_rank4-39"><span class="linenos">39</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="epsilon_tensor_rank4-40"><a href="#epsilon_tensor_rank4-40"><span class="linenos">40</span></a>
</span><span id="epsilon_tensor_rank4-41"><a href="#epsilon_tensor_rank4-41"><span class="linenos">41</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
</span><span id="epsilon_tensor_rank4-42"><a href="#epsilon_tensor_rank4-42"><span class="linenos">42</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="epsilon_tensor_rank4-43"><a href="#epsilon_tensor_rank4-43"><span class="linenos">43</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">))</span>
</span><span id="epsilon_tensor_rank4-44"><a href="#epsilon_tensor_rank4-44"><span class="linenos">44</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
</span><span id="epsilon_tensor_rank4-45"><a href="#epsilon_tensor_rank4-45"><span class="linenos">45</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">)</span>
</span><span id="epsilon_tensor_rank4-46"><a href="#epsilon_tensor_rank4-46"><span class="linenos">46</span></a>
</span><span id="epsilon_tensor_rank4-47"><a href="#epsilon_tensor_rank4-47"><span class="linenos">47</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="epsilon_tensor_rank4-43"><a href="#epsilon_tensor_rank4-43"><span class="linenos">43</span></a><span class="k">def</span> <span class="nf">epsilon_tensor_rank4</span><span class="p">(</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">):</span>
</span><span id="epsilon_tensor_rank4-44"><a href="#epsilon_tensor_rank4-44"><span class="linenos">44</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Rank-4 epsilon tensor</span>
</span><span id="epsilon_tensor_rank4-45"><a href="#epsilon_tensor_rank4-45"><span class="linenos">45</span></a>
</span><span id="epsilon_tensor_rank4-46"><a href="#epsilon_tensor_rank4-46"><span class="linenos">46</span></a><span class="sd"> Extension of https://codegolf.stackexchange.com/a/160375</span>
</span><span id="epsilon_tensor_rank4-47"><a href="#epsilon_tensor_rank4-47"><span class="linenos">47</span></a>
</span><span id="epsilon_tensor_rank4-48"><a href="#epsilon_tensor_rank4-48"><span class="linenos">48</span></a>
</span><span id="epsilon_tensor_rank4-49"><a href="#epsilon_tensor_rank4-49"><span class="linenos">49</span></a><span class="sd"> Returns</span>
</span><span id="epsilon_tensor_rank4-50"><a href="#epsilon_tensor_rank4-50"><span class="linenos">50</span></a><span class="sd"> -------</span>
</span><span id="epsilon_tensor_rank4-51"><a href="#epsilon_tensor_rank4-51"><span class="linenos">51</span></a><span class="sd"> elem : int</span>
</span><span id="epsilon_tensor_rank4-52"><a href="#epsilon_tensor_rank4-52"><span class="linenos">52</span></a><span class="sd"> Element (i,j,k,o) of the epsilon tensor of rank 4</span>
</span><span id="epsilon_tensor_rank4-53"><a href="#epsilon_tensor_rank4-53"><span class="linenos">53</span></a><span class="sd"> &quot;&quot;&quot;</span>
</span><span id="epsilon_tensor_rank4-54"><a href="#epsilon_tensor_rank4-54"><span class="linenos">54</span></a> <span class="n">test_set</span> <span class="o">=</span> <span class="nb">set</span><span class="p">((</span><span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">))</span>
</span><span id="epsilon_tensor_rank4-55"><a href="#epsilon_tensor_rank4-55"><span class="linenos">55</span></a> <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">4</span><span class="p">))</span> <span class="ow">or</span> <span class="n">test_set</span> <span class="o">&lt;=</span> <span class="nb">set</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">))):</span>
</span><span id="epsilon_tensor_rank4-56"><a href="#epsilon_tensor_rank4-56"><span class="linenos">56</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Unexpected input&quot;</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">o</span><span class="p">)</span>
</span><span id="epsilon_tensor_rank4-57"><a href="#epsilon_tensor_rank4-57"><span class="linenos">57</span></a>
</span><span id="epsilon_tensor_rank4-58"><a href="#epsilon_tensor_rank4-58"><span class="linenos">58</span></a> <span class="k">return</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">j</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">k</span> <span class="o">-</span> <span class="n">i</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">i</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">j</span> <span class="o">-</span> <span class="n">o</span><span class="p">)</span> <span class="o">*</span> <span class="p">(</span><span class="n">o</span> <span class="o">-</span> <span class="n">k</span><span class="p">)</span> <span class="o">/</span> <span class="mi">12</span>
</span></pre></div>
<div class="docstring"><p>Rank-4 epsilon tensor</p>
<p>Extension of <a href="https://codegolf.stackexchange.com/a/160375">https://codegolf.stackexchange.com/a/160375</a></p>
<h6 id="returns">Returns</h6>
<ul>
<li><strong>elem</strong> (int):
Element (i,j,k,o) of the epsilon tensor of rank 4</li>
</ul>
</div>
@ -244,43 +280,43 @@
</div>
<a class="headerlink" href="#Grid_gamma"></a>
<div class="pdoc-code codehilite"><pre><span></span><span id="Grid_gamma-50"><a href="#Grid_gamma-50"><span class="linenos">50</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
</span><span id="Grid_gamma-51"><a href="#Grid_gamma-51"><span class="linenos">51</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="Grid_gamma-52"><a href="#Grid_gamma-52"><span class="linenos">52</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Identity&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-53"><a href="#Grid_gamma-53"><span class="linenos">53</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
</span><span id="Grid_gamma-54"><a href="#Grid_gamma-54"><span class="linenos">54</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Gamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-55"><a href="#Grid_gamma-55"><span class="linenos">55</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-56"><a href="#Grid_gamma-56"><span class="linenos">56</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaX&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-57"><a href="#Grid_gamma-57"><span class="linenos">57</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="Grid_gamma-58"><a href="#Grid_gamma-58"><span class="linenos">58</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaY&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-59"><a href="#Grid_gamma-59"><span class="linenos">59</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
</span><span id="Grid_gamma-60"><a href="#Grid_gamma-60"><span class="linenos">60</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZ&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-61"><a href="#Grid_gamma-61"><span class="linenos">61</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
</span><span id="Grid_gamma-62"><a href="#Grid_gamma-62"><span class="linenos">62</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-63"><a href="#Grid_gamma-63"><span class="linenos">63</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
</span><span id="Grid_gamma-64"><a href="#Grid_gamma-64"><span class="linenos">64</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaXGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-65"><a href="#Grid_gamma-65"><span class="linenos">65</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-66"><a href="#Grid_gamma-66"><span class="linenos">66</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaYGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-67"><a href="#Grid_gamma-67"><span class="linenos">67</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-68"><a href="#Grid_gamma-68"><span class="linenos">68</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-69"><a href="#Grid_gamma-69"><span class="linenos">69</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-70"><a href="#Grid_gamma-70"><span class="linenos">70</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaTGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-71"><a href="#Grid_gamma-71"><span class="linenos">71</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-72"><a href="#Grid_gamma-72"><span class="linenos">72</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-73"><a href="#Grid_gamma-73"><span class="linenos">73</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="Grid_gamma-74"><a href="#Grid_gamma-74"><span class="linenos">74</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXY&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-75"><a href="#Grid_gamma-75"><span class="linenos">75</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="Grid_gamma-76"><a href="#Grid_gamma-76"><span class="linenos">76</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXZ&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-77"><a href="#Grid_gamma-77"><span class="linenos">77</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="Grid_gamma-78"><a href="#Grid_gamma-78"><span class="linenos">78</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-79"><a href="#Grid_gamma-79"><span class="linenos">79</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="Grid_gamma-80"><a href="#Grid_gamma-80"><span class="linenos">80</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYZ&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-81"><a href="#Grid_gamma-81"><span class="linenos">81</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="Grid_gamma-82"><a href="#Grid_gamma-82"><span class="linenos">82</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaZT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-83"><a href="#Grid_gamma-83"><span class="linenos">83</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span><span id="Grid_gamma-84"><a href="#Grid_gamma-84"><span class="linenos">84</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="Grid_gamma-85"><a href="#Grid_gamma-85"><span class="linenos">85</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Unkown gamma structure&#39;</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
</span><span id="Grid_gamma-86"><a href="#Grid_gamma-86"><span class="linenos">86</span></a> <span class="k">return</span> <span class="n">g</span>
<div class="pdoc-code codehilite"><pre><span></span><span id="Grid_gamma-61"><a href="#Grid_gamma-61"><span class="linenos">61</span></a><span class="k">def</span> <span class="nf">Grid_gamma</span><span class="p">(</span><span class="n">gamma_tag</span><span class="p">):</span>
</span><span id="Grid_gamma-62"><a href="#Grid_gamma-62"><span class="linenos">62</span></a><span class="w"> </span><span class="sd">&quot;&quot;&quot;Returns gamma matrix in Grid labeling.&quot;&quot;&quot;</span>
</span><span id="Grid_gamma-63"><a href="#Grid_gamma-63"><span class="linenos">63</span></a> <span class="k">if</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Identity&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-64"><a href="#Grid_gamma-64"><span class="linenos">64</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">identity</span>
</span><span id="Grid_gamma-65"><a href="#Grid_gamma-65"><span class="linenos">65</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;Gamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-66"><a href="#Grid_gamma-66"><span class="linenos">66</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-67"><a href="#Grid_gamma-67"><span class="linenos">67</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaX&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-68"><a href="#Grid_gamma-68"><span class="linenos">68</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
</span><span id="Grid_gamma-69"><a href="#Grid_gamma-69"><span class="linenos">69</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaY&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-70"><a href="#Grid_gamma-70"><span class="linenos">70</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
</span><span id="Grid_gamma-71"><a href="#Grid_gamma-71"><span class="linenos">71</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZ&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-72"><a href="#Grid_gamma-72"><span class="linenos">72</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
</span><span id="Grid_gamma-73"><a href="#Grid_gamma-73"><span class="linenos">73</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-74"><a href="#Grid_gamma-74"><span class="linenos">74</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
</span><span id="Grid_gamma-75"><a href="#Grid_gamma-75"><span class="linenos">75</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaXGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-76"><a href="#Grid_gamma-76"><span class="linenos">76</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-77"><a href="#Grid_gamma-77"><span class="linenos">77</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaYGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-78"><a href="#Grid_gamma-78"><span class="linenos">78</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-79"><a href="#Grid_gamma-79"><span class="linenos">79</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaZGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-80"><a href="#Grid_gamma-80"><span class="linenos">80</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-81"><a href="#Grid_gamma-81"><span class="linenos">81</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;GammaTGamma5&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-82"><a href="#Grid_gamma-82"><span class="linenos">82</span></a> <span class="n">g</span> <span class="o">=</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma5</span>
</span><span id="Grid_gamma-83"><a href="#Grid_gamma-83"><span class="linenos">83</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-84"><a href="#Grid_gamma-84"><span class="linenos">84</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="Grid_gamma-85"><a href="#Grid_gamma-85"><span class="linenos">85</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXY&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-86"><a href="#Grid_gamma-86"><span class="linenos">86</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="Grid_gamma-87"><a href="#Grid_gamma-87"><span class="linenos">87</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaXZ&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-88"><a href="#Grid_gamma-88"><span class="linenos">88</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
</span><span id="Grid_gamma-89"><a href="#Grid_gamma-89"><span class="linenos">89</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-90"><a href="#Grid_gamma-90"><span class="linenos">90</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="Grid_gamma-91"><a href="#Grid_gamma-91"><span class="linenos">91</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaYZ&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-92"><a href="#Grid_gamma-92"><span class="linenos">92</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
</span><span id="Grid_gamma-93"><a href="#Grid_gamma-93"><span class="linenos">93</span></a> <span class="k">elif</span> <span class="n">gamma_tag</span> <span class="o">==</span> <span class="s1">&#39;SigmaZT&#39;</span><span class="p">:</span>
</span><span id="Grid_gamma-94"><a href="#Grid_gamma-94"><span class="linenos">94</span></a> <span class="n">g</span> <span class="o">=</span> <span class="mf">0.5</span> <span class="o">*</span> <span class="p">(</span><span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">-</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span> <span class="o">@</span> <span class="n">gamma</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
</span><span id="Grid_gamma-95"><a href="#Grid_gamma-95"><span class="linenos">95</span></a> <span class="k">else</span><span class="p">:</span>
</span><span id="Grid_gamma-96"><a href="#Grid_gamma-96"><span class="linenos">96</span></a> <span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s1">&#39;Unkown gamma structure&#39;</span><span class="p">,</span> <span class="n">gamma_tag</span><span class="p">)</span>
</span><span id="Grid_gamma-97"><a href="#Grid_gamma-97"><span class="linenos">97</span></a> <span class="k">return</span> <span class="n">g</span>
</span></pre></div>