intel-qs/docs/html/group__NoisyQureg.html

691 lines
38 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: NoisyQureg</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 class="current"><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><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><!-- top -->
<!-- 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 class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">NoisyQureg</div> </div>
</div><!--header-->
<div class="contents">
<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">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classNoisyQureg.html">NoisyQureg&lt; Type &gt;</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that expand <code>QitRegister</code> states by adding noise between "logical" gates. <a href="classNoisyQureg.html#details">More...</a><br /></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="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gafb6d8bf729cb0e7c6bfb02252dcd4f8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#gafb6d8bf729cb0e7c6bfb02252dcd4f8b">NoisyQureg&lt; Type &gt;::reset_time_for_all_qubits</a> ()</td></tr>
<tr class="memdesc:gafb6d8bf729cb0e7c6bfb02252dcd4f8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset to zero the time elapsed for each and every qubit in the register. <a href="#gafb6d8bf729cb0e7c6bfb02252dcd4f8b">More...</a><br /></td></tr>
<tr class="separator:gafb6d8bf729cb0e7c6bfb02252dcd4f8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2bb7cbe497b4dffd087dd0baa2d96a1e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga2bb7cbe497b4dffd087dd0baa2d96a1e">NoisyQureg&lt; Type &gt;::apply_noise_gates_on_all_qubits</a> ()</td></tr>
<tr class="memdesc:ga2bb7cbe497b4dffd087dd0baa2d96a1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply the noise gates on each and every qubit. Then reset to time counter. <a href="#ga2bb7cbe497b4dffd087dd0baa2d96a1e">More...</a><br /></td></tr>
<tr class="separator:ga2bb7cbe497b4dffd087dd0baa2d96a1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4efd9bdc3f9f89107865bb049fe544a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga4efd9bdc3f9f89107865bb049fe544a5">NoisyQureg&lt; Type &gt;::update_noise_model</a> (<a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a>, <a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a>)</td></tr>
<tr class="memdesc:ga4efd9bdc3f9f89107865bb049fe544a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the T_1 and T_2 values in accordance to the new noise model. <a href="#ga4efd9bdc3f9f89107865bb049fe544a5">More...</a><br /></td></tr>
<tr class="separator:ga4efd9bdc3f9f89107865bb049fe544a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga646878f480e8a03e8cf8c55031fad811"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga646878f480e8a03e8cf8c55031fad811">NoisyQureg&lt; Type &gt;::GetOneQubitLogicalGateCount</a> ()</td></tr>
<tr class="memdesc:ga646878f480e8a03e8cf8c55031fad811"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current number of (logical) single-qubit gates. <a href="#ga646878f480e8a03e8cf8c55031fad811">More...</a><br /></td></tr>
<tr class="separator:ga646878f480e8a03e8cf8c55031fad811"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4bc7f02be030b1f9bab26fc25e6a65f2"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga4bc7f02be030b1f9bab26fc25e6a65f2">NoisyQureg&lt; Type &gt;::GetTwoQubitLogicalGateCount</a> ()</td></tr>
<tr class="memdesc:ga4bc7f02be030b1f9bab26fc25e6a65f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current number of (logical) two-qubit gates. <a href="#ga4bc7f02be030b1f9bab26fc25e6a65f2">More...</a><br /></td></tr>
<tr class="separator:ga4bc7f02be030b1f9bab26fc25e6a65f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4086f54e5138e198cfdedb131b3c3c15"><td class="memItemLeft" align="right" valign="top">unsigned&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga4086f54e5138e198cfdedb131b3c3c15">NoisyQureg&lt; Type &gt;::GetTotalQubitLogicalGateCount</a> ()</td></tr>
<tr class="memdesc:ga4086f54e5138e198cfdedb131b3c3c15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current number of (logical) 1- and 2-qubit gates. <a href="#ga4086f54e5138e198cfdedb131b3c3c15">More...</a><br /></td></tr>
<tr class="separator:ga4086f54e5138e198cfdedb131b3c3c15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9f881a9257b830853c0a175ef93b4ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#gac9f881a9257b830853c0a175ef93b4ee">NoisyQureg&lt; Type &gt;::AddNoiseOneQubitGate</a> (unsigned const)</td></tr>
<tr class="memdesc:gac9f881a9257b830853c0a175ef93b4ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Include and execute the noise gate corresponding to the idle time of a single qubit. <a href="#gac9f881a9257b830853c0a175ef93b4ee">More...</a><br /></td></tr>
<tr class="separator:gac9f881a9257b830853c0a175ef93b4ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6e20dc06d550b29e5bd596f22d071c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#gac6e20dc06d550b29e5bd596f22d071c8">NoisyQureg&lt; Type &gt;::AddNoiseTwoQubitGate</a> (unsigned const, unsigned const)</td></tr>
<tr class="memdesc:gac6e20dc06d550b29e5bd596f22d071c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Include and execute the noise gate corresponding to the idle time of two qubits. <a href="#gac6e20dc06d550b29e5bd596f22d071c8">More...</a><br /></td></tr>
<tr class="separator:gac6e20dc06d550b29e5bd596f22d071c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3729907931febea597bdcdeb11d49ef4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga3729907931febea597bdcdeb11d49ef4">NoisyQureg&lt; Type &gt;::NoiseGate</a> (unsigned const)</td></tr>
<tr class="separator:ga3729907931febea597bdcdeb11d49ef4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03c6f2bd90c251f33763a1249da4d63f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga03c6f2bd90c251f33763a1249da4d63f">NoisyQureg&lt; Type &gt;::apply1QubitGate</a> (unsigned const, <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:ga03c6f2bd90c251f33763a1249da4d63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29547c5326b5894f4763e455526d32e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga29547c5326b5894f4763e455526d32e7">NoisyQureg&lt; Type &gt;::applyHadamard</a> (unsigned const)</td></tr>
<tr class="separator:ga29547c5326b5894f4763e455526d32e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf192b40caddac96eb913424f6e4727c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#gaf192b40caddac96eb913424f6e4727c3">NoisyQureg&lt; Type &gt;::applyRotationX</a> (unsigned const, <a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a>)</td></tr>
<tr class="separator:gaf192b40caddac96eb913424f6e4727c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1c3f0d288b61822a9c5816e6b8ed98a8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga1c3f0d288b61822a9c5816e6b8ed98a8">NoisyQureg&lt; Type &gt;::applyRotationY</a> (unsigned const, <a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a>)</td></tr>
<tr class="separator:ga1c3f0d288b61822a9c5816e6b8ed98a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaedeff415af221fe6739146c5f79ba05a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#gaedeff415af221fe6739146c5f79ba05a">NoisyQureg&lt; Type &gt;::applyRotationZ</a> (unsigned const, <a class="el" href="qureg_8hpp.html#a19754d587147d11fe79de98c00966060">BaseType</a>)</td></tr>
<tr class="separator:gaedeff415af221fe6739146c5f79ba05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab153ce4fb024d797032d21481dd3d47a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#gab153ce4fb024d797032d21481dd3d47a">NoisyQureg&lt; Type &gt;::applyCPauliX</a> (unsigned const, unsigned const)</td></tr>
<tr class="separator:gab153ce4fb024d797032d21481dd3d47a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e8ae891441c06ada5a31d12d103841b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__NoisyQureg.html#ga0e8ae891441c06ada5a31d12d103841b">NoisyQureg&lt; Type &gt;::applyControlled1QubitGate</a> (unsigned const, unsigned const, <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:ga0e8ae891441c06ada5a31d12d103841b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gac9f881a9257b830853c0a175ef93b4ee"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::AddNoiseOneQubitGate </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>qubit</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Include and execute the noise gate corresponding to the idle time of a single qubit. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00171">171</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="gac6e20dc06d550b29e5bd596f22d071c8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::AddNoiseTwoQubitGate </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Include and execute the noise gate corresponding to the idle time of two qubits. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00188">188</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ga03c6f2bd90c251f33763a1249da4d63f"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::apply1QubitGate </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><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;&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00287">287</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_cgraph.png" border="0" usemap="#group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_cgraph" alt=""/></div>
<map name="group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_cgraph" id="group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_cgraph">
<area shape="rect" id="node2" href="group__qureg.html#gafc50c9735e592dafbe8e5e49e196e2a0" title="QbitRegister::apply1QubitGate" alt="" coords="249,5,449,32"/>
<area shape="rect" id="node3" href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d" title="assert" alt="" coords="497,5,556,32"/>
</map>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_icgraph.png" border="0" usemap="#group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_icgraph" alt=""/></div>
<map name="group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_icgraph" id="group__NoisyQureg_ga03c6f2bd90c251f33763a1249da4d63f_icgraph">
<area shape="rect" id="node2" href="noisy__circuit__test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="249,5,300,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga2bb7cbe497b4dffd087dd0baa2d96a1e"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::apply_noise_gates_on_all_qubits </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Apply the noise gates on each and every qubit. Then reset to time counter. </p>
<p>This is useful, for example, at the end of a circuit before measuring the quantities of interest: One has to apply the noise corresponding to the idle evolution between the last logical gate and the final time. The time from last logical gate is then resetted to zero for every qubit. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00126">126</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga2bb7cbe497b4dffd087dd0baa2d96a1e_icgraph.png" border="0" usemap="#group__NoisyQureg_ga2bb7cbe497b4dffd087dd0baa2d96a1e_icgraph" alt=""/></div>
<map name="group__NoisyQureg_ga2bb7cbe497b4dffd087dd0baa2d96a1e_icgraph" id="group__NoisyQureg_ga2bb7cbe497b4dffd087dd0baa2d96a1e_icgraph">
<area shape="rect" id="node2" href="noisy__circuit__test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="221,13,272,39"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga0e8ae891441c06ada5a31d12d103841b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::applyControlled1QubitGate </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><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;&#160;</td>
<td class="paramname"><em>V</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00330">330</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_cgraph.png" border="0" usemap="#group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_cgraph" alt=""/></div>
<map name="group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_cgraph" id="group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_cgraph">
<area shape="rect" id="node2" href="classQbitRegister.html#a7d76a5abd3cf6bce62238d7244160423" title="QbitRegister::applyControlled1\lQubitGate" alt="" coords="249,5,449,47"/>
<area shape="rect" id="node3" href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d" title="assert" alt="" coords="497,13,556,39"/>
</map>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_icgraph.png" border="0" usemap="#group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_icgraph" alt=""/></div>
<map name="group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_icgraph" id="group__NoisyQureg_ga0e8ae891441c06ada5a31d12d103841b_icgraph">
<area shape="rect" id="node2" href="noisy__circuit__test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="249,13,300,39"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gab153ce4fb024d797032d21481dd3d47a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::applyCPauliX </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00323">323</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_gab153ce4fb024d797032d21481dd3d47a_cgraph.png" border="0" usemap="#group__NoisyQureg_gab153ce4fb024d797032d21481dd3d47a_cgraph" alt=""/></div>
<map name="group__NoisyQureg_gab153ce4fb024d797032d21481dd3d47a_cgraph" id="group__NoisyQureg_gab153ce4fb024d797032d21481dd3d47a_cgraph">
<area shape="rect" id="node2" href="classQbitRegister.html#a57c6850d6153cf151ac1e6c887ee854d" title="QbitRegister::applyCPauliX" alt="" coords="232,5,415,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga29547c5326b5894f4763e455526d32e7"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::applyHadamard </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00295">295</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga29547c5326b5894f4763e455526d32e7_cgraph.png" border="0" usemap="#group__NoisyQureg_ga29547c5326b5894f4763e455526d32e7_cgraph" alt=""/></div>
<map name="group__NoisyQureg_ga29547c5326b5894f4763e455526d32e7_cgraph" id="group__NoisyQureg_ga29547c5326b5894f4763e455526d32e7_cgraph">
<area shape="rect" id="node2" href="group__qureg.html#gafd9c5e1fa79803b89f2ce84a7647e206" title="Apply Hadamard gate. " alt="" coords="244,5,439,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gaf192b40caddac96eb913424f6e4727c3"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::applyRotationX </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BaseType&#160;</td>
<td class="paramname"><em>theta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00302">302</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_gaf192b40caddac96eb913424f6e4727c3_cgraph.png" border="0" usemap="#group__NoisyQureg_gaf192b40caddac96eb913424f6e4727c3_cgraph" alt=""/></div>
<map name="group__NoisyQureg_gaf192b40caddac96eb913424f6e4727c3_cgraph" id="group__NoisyQureg_gaf192b40caddac96eb913424f6e4727c3_cgraph">
<area shape="rect" id="node2" href="group__qureg.html#gae38cc3d5c8f07aee843e9847d79a6917" title="Rotation around the X axis by an angle theta. " alt="" coords="241,5,433,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga1c3f0d288b61822a9c5816e6b8ed98a8"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::applyRotationY </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BaseType&#160;</td>
<td class="paramname"><em>theta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00309">309</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga1c3f0d288b61822a9c5816e6b8ed98a8_cgraph.png" border="0" usemap="#group__NoisyQureg_ga1c3f0d288b61822a9c5816e6b8ed98a8_cgraph" alt=""/></div>
<map name="group__NoisyQureg_ga1c3f0d288b61822a9c5816e6b8ed98a8_cgraph" id="group__NoisyQureg_ga1c3f0d288b61822a9c5816e6b8ed98a8_cgraph">
<area shape="rect" id="node2" href="group__qureg.html#ga14714f6f6e20aab056246562a6c782aa" title="Rotation around the Y axis by an angle theta. " alt="" coords="241,5,433,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gaedeff415af221fe6739146c5f79ba05a"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::applyRotationZ </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>q</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BaseType&#160;</td>
<td class="paramname"><em>theta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00316">316</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_gaedeff415af221fe6739146c5f79ba05a_cgraph.png" border="0" usemap="#group__NoisyQureg_gaedeff415af221fe6739146c5f79ba05a_cgraph" alt=""/></div>
<map name="group__NoisyQureg_gaedeff415af221fe6739146c5f79ba05a_cgraph" id="group__NoisyQureg_gaedeff415af221fe6739146c5f79ba05a_cgraph">
<area shape="rect" id="node2" href="group__qureg.html#gac1a448e75751f2e9ed219685d14ccda3" title="Rotation around the Z axis by an angle theta. " alt="" coords="240,5,431,32"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga646878f480e8a03e8cf8c55031fad811"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::GetOneQubitLogicalGateCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current number of (logical) single-qubit gates. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00147">147</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ga4086f54e5138e198cfdedb131b3c3c15"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::GetTotalQubitLogicalGateCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current number of (logical) 1- and 2-qubit gates. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00163">163</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ga4bc7f02be030b1f9bab26fc25e6a65f2"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">unsigned <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::GetTwoQubitLogicalGateCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Return the current number of (logical) two-qubit gates. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00155">155</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
</div>
</div>
<a class="anchor" id="ga3729907931febea597bdcdeb11d49ef4"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::NoiseGate </td>
<td>(</td>
<td class="paramtype">unsigned const&#160;</td>
<td class="paramname"><em>qubit</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Noise gate corresponding to single-qubit rotation with appropriate (stochastic) angle.</p>
<p>To obtain a single rotation around an arbitrary axis we use the relations: | a b c | | h-f | R = | d e f | &ndash;&gt; u = | c-g | &mdash;&gt; abs(u) = 2 sin( 'angle' ) | g h i | | d-b | &mdash;&gt; u/abs(u) = rotation axis </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00212">212</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_ga3729907931febea597bdcdeb11d49ef4_cgraph.png" border="0" usemap="#group__NoisyQureg_ga3729907931febea597bdcdeb11d49ef4_cgraph" alt=""/></div>
<map name="group__NoisyQureg_ga3729907931febea597bdcdeb11d49ef4_cgraph" id="group__NoisyQureg_ga3729907931febea597bdcdeb11d49ef4_cgraph">
<area shape="rect" id="node2" href="highperfkernels_8cpp.html#a3c5c1de356c65cc2bfca5046ecd71e6d" title="assert" alt="" coords="463,5,521,32"/>
<area shape="rect" id="node3" href="group__qureg.html#gafc50c9735e592dafbe8e5e49e196e2a0" title="QbitRegister::apply1QubitGate" alt="" coords="215,31,415,57"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="gafb6d8bf729cb0e7c6bfb02252dcd4f8b"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::reset_time_for_all_qubits </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Reset to zero the time elapsed for each and every qubit in the register. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00110">110</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.hpp</a>.</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="group__NoisyQureg_gafb6d8bf729cb0e7c6bfb02252dcd4f8b_icgraph.png" border="0" usemap="#group__NoisyQureg_gafb6d8bf729cb0e7c6bfb02252dcd4f8b_icgraph" alt=""/></div>
<map name="group__NoisyQureg_gafb6d8bf729cb0e7c6bfb02252dcd4f8b_icgraph" id="group__NoisyQureg_gafb6d8bf729cb0e7c6bfb02252dcd4f8b_icgraph">
<area shape="rect" id="node2" href="noisy__circuit__test_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627" title="main" alt="" coords="213,13,264,39"/>
</map>
</div>
</p>
</div>
</div>
<a class="anchor" id="ga4efd9bdc3f9f89107865bb049fe544a5"></a>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class Type &gt; </div>
<table class="memname">
<tr>
<td class="memname">void <a class="el" href="classNoisyQureg.html">NoisyQureg</a>&lt; <a class="el" href="interface__api__memory_8cpp.html#a8a7796dc492015686a15b44dfa64e347">Type</a> &gt;::update_noise_model </td>
<td>(</td>
<td class="paramtype">BaseType&#160;</td>
<td class="paramname"><em>T1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BaseType&#160;</td>
<td class="paramname"><em>T2</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Update the T_1 and T_2 values in accordance to the new noise model. </p>
<p>Definition at line <a class="el" href="NoisyQureg_8hpp_source.html#l00138">138</a> of file <a class="el" href="NoisyQureg_8hpp_source.html">NoisyQureg.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>