intel-qs/docs/html/qureg_8hpp.html

249 lines
17 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Intel qHiPSTER: qureg/qureg.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Intel qHiPSTER
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_4ab131b591b993d07872bcc398a0ac1c.html">qureg</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#typedef-members">Typedefs</a> </div>
<div class="headertitle">
<div class="title">qureg.hpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="permute_8hpp_source.html">permute.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utils_8hpp_source.html">util/utils.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="timer_8hpp_source.html">util/timer.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="alignedallocator_8hpp_source.html">util/alignedallocator.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="mpi_8hpp_source.html">util/mpi.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="bitops_8hpp_source.html">util/bitops.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="conversion_8hpp_source.html">util/conversion.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tinymatrix_8hpp_source.html">util/tinymatrix.hpp</a>&quot;</code><br />
<code>#include &lt;cassert&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;map&gt;</code><br />
<code>#include &lt;limits&gt;</code><br />
<code>#include &lt;fstream&gt;</code><br />
<code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
<code>#include &lt;numeric&gt;</code><br />
<code>#include &lt;functional&gt;</code><br />
<code>#include &lt;tuple&gt;</code><br />
<code>#include &quot;<a class="el" href="QbitRegisterMetric_8hpp_source.html">QbitRegisterMetric.hpp</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for qureg.hpp:</div>
<div class="dyncontent">
<div class="center"><img src="qureg_8hpp__incl.png" border="0" usemap="#qureg_2qureg_8hpp" alt=""/></div>
<map name="qureg_2qureg_8hpp" id="qureg_2qureg_8hpp">
<area shape="rect" id="node2" href="permute_8hpp.html" title="permute.hpp" alt="" coords="1236,80,1331,107"/>
<area shape="rect" id="node3" href="utils_8hpp.html" title="util/utils.hpp" alt="" coords="1223,155,1315,181"/>
<area shape="rect" id="node4" href="mpi_8hpp.html" title="util/mpi.hpp" alt="" coords="1029,229,1119,256"/>
<area shape="rect" id="node21" href="conversion_8hpp.html" title="util/conversion.hpp" alt="" coords="947,155,1078,181"/>
<area shape="rect" id="node24" href="timer_8hpp.html" title="util/timer.hpp" alt="" coords="1012,80,1109,107"/>
<area shape="rect" id="node26" href="alignedallocator_8hpp.html" title="util/alignedallocator.hpp" alt="" coords="189,80,348,107"/>
<area shape="rect" id="node27" href="bitops_8hpp.html" title="util/bitops.hpp" alt="" coords="5,155,108,181"/>
<area shape="rect" id="node33" href="tinymatrix_8hpp.html" title="util/tinymatrix.hpp" alt="" coords="630,80,755,107"/>
<area shape="rect" id="node40" href="QbitRegisterMetric_8hpp.html" title="QbitRegisterMetric.hpp" alt="" coords="1508,80,1664,107"/>
<area shape="rect" id="node41" href="NoisyQureg_8hpp.html" title="NoisyQureg.hpp" alt="" coords="1688,80,1804,107"/>
<area shape="rect" id="node5" href="openmp__affinity__noomp_8hpp.html" title="openmp_affinity_noomp.hpp" alt="" coords="892,304,1077,331"/>
<area shape="rect" id="node6" href="openmp__affinity__v1_8hpp.html" title="openmp_affinity_v1.hpp" alt="" coords="905,379,1065,405"/>
</map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="qureg_8hpp__dep__incl.png" border="0" usemap="#qureg_2qureg_8hppdep" alt=""/></div>
<map name="qureg_2qureg_8hppdep" id="qureg_2qureg_8hppdep">
<area shape="rect" id="node2" href="interface__api__memory_8cpp.html" title="interface/interface\l_api_memory.cpp" alt="" coords="119,80,246,121"/>
<area shape="rect" id="node3" href="interface__api__qasm_8cpp.html" title="interface/interface\l_api_qasm.cpp" alt="" coords="270,80,397,121"/>
<area shape="rect" id="node4" href="qhipster__interface__main_8cpp.html" title="interface/qhipster\l_interface_main.cpp" alt="" coords="421,80,560,121"/>
<area shape="rect" id="node5" href="highperfkernels_8hpp.html" title="qureg/highperfkernels.hpp" alt="" coords="736,87,907,114"/>
<area shape="rect" id="node7" href="qureg__apply1qubitgate_8cpp.html" title="Define the QbitRegister methods corresponding to the application of single&#45;qubit gates. " alt="" coords="5,169,219,196"/>
<area shape="rect" id="node8" href="qureg__apply2qubitgate_8cpp.html" title="qureg/qureg_apply2qubitgate.cpp" alt="" coords="243,169,456,196"/>
<area shape="rect" id="node9" href="qureg__applyctrl1qubitgate_8cpp.html" title="qureg/qureg_applyctrl1qubitgate.cpp" alt="" coords="481,169,711,196"/>
<area shape="rect" id="node10" href="qureg__applydiag_8cpp.html" title="qureg/qureg_applydiag.cpp" alt="" coords="931,169,1109,196"/>
<area shape="rect" id="node11" href="qureg__applyswap_8cpp.html" title="qureg/qureg_applyswap.cpp" alt="" coords="1133,169,1317,196"/>
<area shape="rect" id="node12" href="qureg__applytoffoli_8cpp.html" title="qureg/qureg_applytoffoli.cpp" alt="" coords="1342,169,1527,196"/>
<area shape="rect" id="node13" href="qureg__expectval_8cpp.html" title="Define the QbitRegister methods related to expectation values of Pauli strings. " alt="" coords="1083,87,1261,114"/>
<area shape="rect" id="node14" href="qureg__fusion_8cpp.html" title="qureg/qureg_fusion.cpp" alt="" coords="1285,87,1443,114"/>
<area shape="rect" id="node15" href="qureg__init_8cpp.html" title="qureg/qureg_init.cpp" alt="" coords="1467,87,1605,114"/>
<area shape="rect" id="node16" href="qureg__measure_8cpp.html" title="Define the QbitRegister methods related to measurement operations. " alt="" coords="1630,87,1802,114"/>
<area shape="rect" id="node17" href="qureg__permute_8cpp.html" title="qureg/qureg_permute.cpp" alt="" coords="1826,87,1995,114"/>
<area shape="rect" id="node18" href="qureg__utils_8cpp.html" title="Define the QbitRegister methods used as basic operations. " alt="" coords="2020,87,2167,114"/>
<area shape="rect" id="node19" href="benchgates_8cpp.html" title="tests/benchgates.cpp" alt="" coords="2191,87,2337,114"/>
<area shape="rect" id="node20" href="expect__value__test_8cpp.html" title="tests/expect_value\l_test.cpp" alt="" coords="2362,80,2494,121"/>
<area shape="rect" id="node21" href="noisy__circuit__test_8cpp.html" title="tests/noisy_circuit\l_test.cpp" alt="" coords="2519,80,2647,121"/>
<area shape="rect" id="node22" href="qft__test_8cpp.html" title="tests/qft_test.cpp" alt="" coords="2671,87,2795,114"/>
<area shape="rect" id="node23" href="testgates_8cpp.html" title="tests/testgates.cpp" alt="" coords="2819,87,2954,114"/>
<area shape="rect" id="node6" href="highperfkernels_8cpp.html" title="qureg/highperfkernels.cpp" alt="" coords="736,169,907,196"/>
</map>
</div>
</div>
<p><a href="qureg_8hpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structextract__value__type.html">extract_value_type&lt; T &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structextract__value__type_3_01X_3_01T_01_4_01_4.html">extract_value_type&lt; X&lt; T &gt; &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQbitRegister.html">QbitRegister&lt; Type &gt;</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a90e805eec5b19800f0df2ec75985bfc9"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:a90e805eec5b19800f0df2ec75985bfc9"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a> = <a class="el" href="classopenqu_1_1TinyMatrix.html">openqu::TinyMatrix</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>, 2, 2, 32 &gt;</td></tr>
<tr class="separator:a90e805eec5b19800f0df2ec75985bfc9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a8b3d4b1123d5c92537e0d336bb57b1"><td class="memTemplParams" colspan="2">template&lt;class Type &gt; </td></tr>
<tr class="memitem:a9a8b3d4b1123d5c92537e0d336bb57b1"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="qureg_8hpp.html#a9a8b3d4b1123d5c92537e0d336bb57b1">TM4x4</a> = <a class="el" href="classopenqu_1_1TinyMatrix.html">openqu::TinyMatrix</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>, 4, 4, 32 &gt;</td></tr>
<tr class="separator:a9a8b3d4b1123d5c92537e0d336bb57b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19754d587147d11fe79de98c00966060"><td class="memTemplParams" colspan="2">template&lt;typename Type &gt; </td></tr>
<tr class="memitem:a19754d587147d11fe79de98c00966060"><td class="memTemplItemLeft" align="right" valign="top">using&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a> = typename <a class="el" href="classQbitRegister.html">QbitRegister</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::<a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a></td></tr>
<tr class="separator:a19754d587147d11fe79de98c00966060"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a19754d587147d11fe79de98c00966060"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a> = typename <a class="el" href="classQbitRegister.html">QbitRegister</a>&lt;<a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>&gt;::<a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="qureg_8hpp_source.html#l00237">237</a> of file <a class="el" href="qureg_8hpp_source.html">qureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a90e805eec5b19800f0df2ec75985bfc9"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="qureg_8hpp.html#a90e805eec5b19800f0df2ec75985bfc9">TM2x2</a> = <a class="el" href="classopenqu_1_1TinyMatrix.html">openqu::TinyMatrix</a>&lt;<a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>, 2, 2, 32&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="qureg_8hpp_source.html#l00061">61</a> of file <a class="el" href="qureg_8hpp_source.html">qureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="a9a8b3d4b1123d5c92537e0d336bb57b1"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="qureg_8hpp.html#a9a8b3d4b1123d5c92537e0d336bb57b1">TM4x4</a> = <a class="el" href="classopenqu_1_1TinyMatrix.html">openqu::TinyMatrix</a>&lt;<a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a>, 4, 4, 32&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="qureg_8hpp_source.html#l00064">64</a> of file <a class="el" href="qureg_8hpp_source.html">qureg.hpp</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 6 2017 10:53:55 for Intel qHiPSTER by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>