mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-16 07:10:24 +01:00
Documentation updated
This commit is contained in:
parent
6ed4e363cc
commit
413642da92
2 changed files with 99 additions and 30 deletions
|
@ -316,7 +316,7 @@
|
|||
<span class="k">return</span> <span class="n">result_dict</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">"VA"</span><span class="p">,</span> <span class="s2">"AV"</span><span class="p">]):</span>
|
||||
<span class="sd">"""Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
|
@ -329,6 +329,8 @@
|
|||
<span class="sd"> name of the ensemble, required for internal bookkeeping</span>
|
||||
<span class="sd"> idl : range</span>
|
||||
<span class="sd"> If specified only configurations in the given range are read in.</span>
|
||||
<span class="sd"> vertices : list</span>
|
||||
<span class="sd"> Vertex functions to be extracted.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">files</span><span class="p">,</span> <span class="n">idx</span> <span class="o">=</span> <span class="n">_get_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">idl</span><span class="p">)</span>
|
||||
|
@ -336,6 +338,11 @@
|
|||
<span class="n">mom_in</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="n">mom_out</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="n">vertex_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">vertex</span> <span class="ow">in</span> <span class="n">vertices</span><span class="p">:</span>
|
||||
<span class="n">vertex_names</span> <span class="o">+=</span> <span class="n">_get_lorentz_names</span><span class="p">(</span><span class="n">vertex</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">vertex_names</span><span class="p">)</span>
|
||||
|
||||
<span class="n">corr_data</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="n">tree</span> <span class="o">=</span> <span class="s1">'FourQuarkFullyConnected/FourQuarkFullyConnected_'</span>
|
||||
|
@ -343,25 +350,35 @@
|
|||
<span class="k">for</span> <span class="n">hd5_file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
|
||||
<span class="n">file</span> <span class="o">=</span> <span class="n">h5py</span><span class="o">.</span><span class="n">File</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">hd5_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaA'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'_'</span> <span class="o">+</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaB'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="p">:</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">raw_data</span> <span class="o">=</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/corr'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="s1">'complex'</span><span class="p">)</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">raw_data</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_in</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_in</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pIn'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_out</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_out</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pOut'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">32</span><span class="p">):</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaA'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">),</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaB'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">vertex_names</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="p">:</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">raw_data</span> <span class="o">=</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/corr'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="s1">'complex'</span><span class="p">)</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">raw_data</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_in</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_in</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pIn'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_out</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_out</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pOut'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
|
||||
<span class="n">file</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
|
||||
<span class="n">intermediate_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">vertex</span> <span class="ow">in</span> <span class="n">vertices</span><span class="p">:</span>
|
||||
<span class="n">lorentz_names</span> <span class="o">=</span> <span class="n">_get_lorentz_names</span><span class="p">(</span><span class="n">vertex</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">v_name</span> <span class="ow">in</span> <span class="n">lorentz_names</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">vertex</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">intermediate_dict</span><span class="p">:</span>
|
||||
<span class="n">intermediate_dict</span><span class="p">[</span><span class="n">vertex</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">corr_data</span><span class="p">[</span><span class="n">v_name</span><span class="p">])</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">intermediate_dict</span><span class="p">[</span><span class="n">vertex</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">corr_data</span><span class="p">[</span><span class="n">v_name</span><span class="p">])</span>
|
||||
|
||||
<span class="n">result_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="n">local_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">intermediate_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
|
||||
<span class="n">rolled_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">moveaxis</span><span class="p">(</span><span class="n">local_data</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">8</span><span class="p">)</span>
|
||||
<span class="n">rolled_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">moveaxis</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">8</span><span class="p">)</span>
|
||||
|
||||
<span class="n">matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">((</span><span class="n">rolled_array</span><span class="o">.</span><span class="n">shape</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndindex</span><span class="p">(</span><span class="n">rolled_array</span><span class="o">.</span><span class="n">shape</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]):</span>
|
||||
|
@ -373,6 +390,39 @@
|
|||
<span class="c1"># result_dict[key] = Npr_matrix(matrix.swapaxes(1, 2).reshape((12, 12), order='F'), mom_in=mom_in, mom_out=mom_out)</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">result_dict</span>
|
||||
|
||||
|
||||
<span class="k">def</span> <span class="nf">_get_lorentz_names</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
|
||||
<span class="k">assert</span> <span class="nb">len</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o">==</span> <span class="mi">2</span>
|
||||
|
||||
<span class="n">res</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">([</span><span class="s1">'S'</span><span class="p">,</span> <span class="s1">'P'</span><span class="p">,</span> <span class="s1">'V'</span><span class="p">,</span> <span class="s1">'A'</span><span class="p">,</span> <span class="s1">'T'</span><span class="p">]):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Name can only contain 'S', 'P', 'V', 'A' or 'T'"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">if</span> <span class="s1">'S'</span> <span class="ow">in</span> <span class="n">name</span> <span class="ow">or</span> <span class="s1">'P'</span> <span class="ow">in</span> <span class="n">name</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">([</span><span class="s1">'S'</span><span class="p">,</span> <span class="s1">'P'</span><span class="p">]):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"'"</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s2">"' is not a Lorentz scalar"</span><span class="p">)</span>
|
||||
|
||||
<span class="n">g_names</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'S'</span><span class="p">:</span> <span class="s1">'Identity'</span><span class="p">,</span>
|
||||
<span class="s1">'P'</span><span class="p">:</span> <span class="s1">'Gamma5'</span><span class="p">}</span>
|
||||
|
||||
<span class="n">res</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="n">g_names</span><span class="p">[</span><span class="n">name</span><span class="p">[</span><span class="mi">0</span><span class="p">]],</span> <span class="n">g_names</span><span class="p">[</span><span class="n">name</span><span class="p">[</span><span class="mi">1</span><span class="p">]]))</span>
|
||||
|
||||
<span class="k">elif</span> <span class="s1">'T'</span> <span class="ow">in</span> <span class="n">name</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">([</span><span class="s1">'T'</span><span class="p">]):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"'"</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s2">"' is not a Lorentz scalar"</span><span class="p">)</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"Tensor operators not yet implemented."</span><span class="p">)</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="ow">not</span> <span class="nb">set</span><span class="p">(</span><span class="n">name</span><span class="p">)</span> <span class="o"><=</span> <span class="nb">set</span><span class="p">([</span><span class="s1">'V'</span><span class="p">,</span> <span class="s1">'A'</span><span class="p">]):</span>
|
||||
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">"'"</span> <span class="o">+</span> <span class="n">name</span> <span class="o">+</span> <span class="s2">"' is not a Lorentz scalar"</span><span class="p">)</span>
|
||||
<span class="n">lorentz_index</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'X'</span><span class="p">,</span> <span class="s1">'Y'</span><span class="p">,</span> <span class="s1">'Z'</span><span class="p">,</span> <span class="s1">'T'</span><span class="p">]</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">ind</span> <span class="ow">in</span> <span class="n">lorentz_index</span><span class="p">:</span>
|
||||
<span class="n">res</span><span class="o">.</span><span class="n">append</span><span class="p">((</span><span class="s1">'Gamma'</span> <span class="o">+</span> <span class="n">ind</span> <span class="o">+</span> <span class="p">(</span><span class="n">name</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'A'</span><span class="p">)</span> <span class="o">*</span> <span class="s1">'Gamma5'</span><span class="p">,</span>
|
||||
<span class="s1">'Gamma'</span> <span class="o">+</span> <span class="n">ind</span> <span class="o">+</span> <span class="p">(</span><span class="n">name</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="o">==</span> <span class="s1">'A'</span><span class="p">)</span> <span class="o">*</span> <span class="s1">'Gamma5'</span><span class="p">))</span>
|
||||
|
||||
<span class="k">return</span> <span class="n">res</span>
|
||||
</pre></div>
|
||||
|
||||
</details>
|
||||
|
@ -906,12 +956,12 @@ If specified only configurations in the given range are read in.</li>
|
|||
|
||||
|
||||
<span class="def">def</span>
|
||||
<span class="name">read_Fourquark_hd5</span><span class="signature">(path, filestem, ens_id, idl=None)</span>:
|
||||
<span class="name">read_Fourquark_hd5</span><span class="signature">(path, filestem, ens_id, idl=None, vertices=['VA', 'AV'])</span>:
|
||||
</div>
|
||||
|
||||
<details>
|
||||
<summary>View Source</summary>
|
||||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
|
||||
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">read_Fourquark_hd5</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">ens_id</span><span class="p">,</span> <span class="n">idl</span><span class="o">=</span><span class="kc">None</span><span class="p">,</span> <span class="n">vertices</span><span class="o">=</span><span class="p">[</span><span class="s2">"VA"</span><span class="p">,</span> <span class="s2">"AV"</span><span class="p">]):</span>
|
||||
<span class="sd">"""Read hadrons FourquarkFullyConnected hdf5 file and output an array of CObs</span>
|
||||
|
||||
<span class="sd"> Parameters</span>
|
||||
|
@ -924,6 +974,8 @@ If specified only configurations in the given range are read in.</li>
|
|||
<span class="sd"> name of the ensemble, required for internal bookkeeping</span>
|
||||
<span class="sd"> idl : range</span>
|
||||
<span class="sd"> If specified only configurations in the given range are read in.</span>
|
||||
<span class="sd"> vertices : list</span>
|
||||
<span class="sd"> Vertex functions to be extracted.</span>
|
||||
<span class="sd"> """</span>
|
||||
|
||||
<span class="n">files</span><span class="p">,</span> <span class="n">idx</span> <span class="o">=</span> <span class="n">_get_files</span><span class="p">(</span><span class="n">path</span><span class="p">,</span> <span class="n">filestem</span><span class="p">,</span> <span class="n">idl</span><span class="p">)</span>
|
||||
|
@ -931,6 +983,11 @@ If specified only configurations in the given range are read in.</li>
|
|||
<span class="n">mom_in</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
<span class="n">mom_out</span> <span class="o">=</span> <span class="kc">None</span>
|
||||
|
||||
<span class="n">vertex_names</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="k">for</span> <span class="n">vertex</span> <span class="ow">in</span> <span class="n">vertices</span><span class="p">:</span>
|
||||
<span class="n">vertex_names</span> <span class="o">+=</span> <span class="n">_get_lorentz_names</span><span class="p">(</span><span class="n">vertex</span><span class="p">)</span>
|
||||
<span class="nb">print</span><span class="p">(</span><span class="n">vertex_names</span><span class="p">)</span>
|
||||
|
||||
<span class="n">corr_data</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="n">tree</span> <span class="o">=</span> <span class="s1">'FourQuarkFullyConnected/FourQuarkFullyConnected_'</span>
|
||||
|
@ -938,25 +995,35 @@ If specified only configurations in the given range are read in.</li>
|
|||
<span class="k">for</span> <span class="n">hd5_file</span> <span class="ow">in</span> <span class="n">files</span><span class="p">:</span>
|
||||
<span class="n">file</span> <span class="o">=</span> <span class="n">h5py</span><span class="o">.</span><span class="n">File</span><span class="p">(</span><span class="n">path</span> <span class="o">+</span> <span class="s1">'/'</span> <span class="o">+</span> <span class="n">hd5_file</span><span class="p">,</span> <span class="s2">"r"</span><span class="p">)</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">1</span><span class="p">):</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaA'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'_'</span> <span class="o">+</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaB'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="p">:</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">raw_data</span> <span class="o">=</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/corr'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="s1">'complex'</span><span class="p">)</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">raw_data</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_in</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_in</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pIn'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_out</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_out</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pOut'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="mi">32</span><span class="p">):</span>
|
||||
<span class="n">name</span> <span class="o">=</span> <span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaA'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">),</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'gammaB'</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">decode</span><span class="p">(</span><span class="s1">'UTF-8'</span><span class="p">))</span>
|
||||
<span class="k">if</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">vertex_names</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">name</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="p">:</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span> <span class="o">=</span> <span class="p">[]</span>
|
||||
<span class="n">raw_data</span> <span class="o">=</span> <span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/corr'</span><span class="p">][</span><span class="mi">0</span><span class="p">][</span><span class="mi">0</span><span class="p">]</span><span class="o">.</span><span class="n">view</span><span class="p">(</span><span class="s1">'complex'</span><span class="p">)</span>
|
||||
<span class="n">corr_data</span><span class="p">[</span><span class="n">name</span><span class="p">]</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="n">raw_data</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_in</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_in</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pIn'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
<span class="k">if</span> <span class="n">mom_out</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
|
||||
<span class="n">mom_out</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">str</span><span class="p">(</span><span class="n">file</span><span class="p">[</span><span class="n">tree</span> <span class="o">+</span> <span class="nb">str</span><span class="p">(</span><span class="n">i</span><span class="p">)</span> <span class="o">+</span> <span class="s1">'/info'</span><span class="p">]</span><span class="o">.</span><span class="n">attrs</span><span class="p">[</span><span class="s1">'pOut'</span><span class="p">])[</span><span class="mi">3</span><span class="p">:</span><span class="o">-</span><span class="mi">2</span><span class="p">]</span><span class="o">.</span><span class="n">strip</span><span class="p">()</span><span class="o">.</span><span class="n">split</span><span class="p">(</span><span class="s1">' '</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">)</span>
|
||||
|
||||
<span class="n">file</span><span class="o">.</span><span class="n">close</span><span class="p">()</span>
|
||||
|
||||
<span class="n">intermediate_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">vertex</span> <span class="ow">in</span> <span class="n">vertices</span><span class="p">:</span>
|
||||
<span class="n">lorentz_names</span> <span class="o">=</span> <span class="n">_get_lorentz_names</span><span class="p">(</span><span class="n">vertex</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">v_name</span> <span class="ow">in</span> <span class="n">lorentz_names</span><span class="p">:</span>
|
||||
<span class="k">if</span> <span class="n">vertex</span> <span class="ow">not</span> <span class="ow">in</span> <span class="n">intermediate_dict</span><span class="p">:</span>
|
||||
<span class="n">intermediate_dict</span><span class="p">[</span><span class="n">vertex</span><span class="p">]</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">corr_data</span><span class="p">[</span><span class="n">v_name</span><span class="p">])</span>
|
||||
<span class="k">else</span><span class="p">:</span>
|
||||
<span class="n">intermediate_dict</span><span class="p">[</span><span class="n">vertex</span><span class="p">]</span> <span class="o">+=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">corr_data</span><span class="p">[</span><span class="n">v_name</span><span class="p">])</span>
|
||||
|
||||
<span class="n">result_dict</span> <span class="o">=</span> <span class="p">{}</span>
|
||||
|
||||
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">corr_data</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
<span class="n">local_data</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">key</span><span class="p">,</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">intermediate_dict</span><span class="o">.</span><span class="n">items</span><span class="p">():</span>
|
||||
|
||||
<span class="n">rolled_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">moveaxis</span><span class="p">(</span><span class="n">local_data</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">8</span><span class="p">)</span>
|
||||
<span class="n">rolled_array</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">moveaxis</span><span class="p">(</span><span class="n">data</span><span class="p">,</span> <span class="mi">0</span><span class="p">,</span> <span class="mi">8</span><span class="p">)</span>
|
||||
|
||||
<span class="n">matrix</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">empty</span><span class="p">((</span><span class="n">rolled_array</span><span class="o">.</span><span class="n">shape</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]),</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">object</span><span class="p">)</span>
|
||||
<span class="k">for</span> <span class="n">index</span> <span class="ow">in</span> <span class="n">np</span><span class="o">.</span><span class="n">ndindex</span><span class="p">(</span><span class="n">rolled_array</span><span class="o">.</span><span class="n">shape</span><span class="p">[:</span><span class="o">-</span><span class="mi">1</span><span class="p">]):</span>
|
||||
|
@ -985,6 +1052,8 @@ namestem of the files to read</li>
|
|||
name of the ensemble, required for internal bookkeeping</li>
|
||||
<li><strong>idl</strong> (range):
|
||||
If specified only configurations in the given range are read in.</li>
|
||||
<li><strong>vertices</strong> (list):
|
||||
Vertex functions to be extracted.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
Loading…
Add table
Reference in a new issue