<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="vertical" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@vertical+block@Two-qubit_Clifford_circuits" data-runtime-version="1" data-init="VerticalStudentView">
<h2 class="hd hd-2 unit-title">Two-qubit Clifford circuits</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@The_Gottesman-Knill_theorem">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@The_Gottesman-Knill_theorem" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<p><big class="xxlarge">The Gottesman-Knill theorem</big></p><p>
Fault-tolerant quantum computation is made possible by computing on quantum codes. For stabilizer codes, the class of allowed gates is defined by the Clifford group. The Gottesman-Knill theorem asserts that circuits from gates in the Clifford group may be simulated efficiently on a classical computer. </p>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-2qubit-clifford" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-2qubit-clifford-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="2"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-2qubit-clifford-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford-problem-progress" tabindex="-1">
Two-qubit Clifford circuits
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford-problem-progress"></div>
<div class="problem">
<div>
<p>
We explore some properties of quantum circuits constructed from gates in the Clifford group. These are often called simply &#8220;Clifford circuits," for short, and here we are interested in two-qubit circuits. </p>
<ol class="enumerate">
<li value="1">
<p>
Recall that the CNOT gate acts on a two-qubit Pauli group element [mathjaxinline]g\in P_2[/mathjaxinline] in a simple way, according to this table (the control qubit is on the left, and the target on the right): </p>
<style>
.datagrid table { border-collapse: collapse; text-align: center; } .datagrid {font: normal 20px/150%; font-family:"Lucida Console", Monaco, monospace; background: #fff; overflow: hidden; border: none; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; }.datagrid table td, .datagrid table th { padding: 3px 10px; }.datagrid table thead th {background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #006699), color-stop(1, #00557F) );background:-moz-linear-gradient( center top, #006699 5%, #00557F 100% );filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006699', endColorstr='#00557F');background-color:#006699; color:#ffffff; font-size: 25px; font-weight: bold; border-left: 1px solid #0070A8; } .datagrid table thead th:first-child { border: none; }.datagrid table tbody td { color: #00496B; border-left: 1px solid #E1EEF4;font-size: 20px;font-weight: normal; }.datagrid table tbody .alt td { background: #E1EEF4; color: #00496B; }.datagrid table tbody td:first-child { border-left: none; }.datagrid table tbody tr:last-child td { border-bottom: none; }.datagrid table tfoot td div { border-top: 1px solid #006699;background: #E1EEF4;} .datagrid table tfoot td { padding: 0; font-size: 20px } .datagrid table tfoot td div{ padding: 2px; }.datagrid table tfoot td ul { margin: 0; padding:0; list-style: none; text-align: center; }.datagrid table tfoot li { display: inline; }.datagrid table tfoot li a { text-decoration: none; display: inline-block; padding: 2px 8px; margin: 1px;color: #FFFFFF;border: 1px solid #006699;-webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #006699), color-stop(1, #00557F) );background:-moz-linear-gradient( center top, #006699 5%, #00557F 100% );filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#006699', endColorstr='#00557F');background-color:#006699; }.datagrid table tfoot ul.active, .datagrid table tfoot ul a:hover { text-decoration: none;border-color: #006699; color: #FFFFFF; background: none; background-color:#00557F;}div.dhtmlx_window_active, div.dhx_modal_cover_dv { position: fixed !important; }
</style>
<center style="boder:none; padding:none">
<div class="datagrid">
<table>
<thead>
<tr>
<th>g</th>
<th>CNOT on g</th>
</tr>
</thead>
<tbody>
<tr>
<td>IX</td>
<td style="text-align:center">IX</td>
</tr>
<tr class="alt">
<td>IZ</td>
<td style="text-align:center">ZZ</td>
</tr>
<tr>
<td>XI</td>
<td style="text-align:center">XX</td>
</tr>
<tr class="alt">
<td>ZI</td>
<td style="text-align:center">ZI</td>
</tr>
</tbody>
</table>
</div>
</center>
<p>
This table can be expressed as a map, in which we say that CNOT maps the inputs <tt class="tt">[IX,IZ,XI,ZI]</tt> to the outputs <tt class="tt">[IX,ZZ,XX,ZI]</tt>. Following this notation, give a list which represents the result of the CNOT map acting on the inputs <tt class="tt">[XY,YY,ZY]</tt>: </p>
<p>
<p style="display:inline"><tt class="tt">[XY,YY,ZY]</tt>[mathjaxinline]\rightarrow[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-2qubit-clifford_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-2qubit-clifford_2_1" id="input_s12-wk6-2qubit-clifford_2_1" aria-describedby="status_s12-wk6-2qubit-clifford_2_1" value="" size="40"/>
<span class="trailing_text" id="trailing_text_s12-wk6-2qubit-clifford_2_1"/>
<span class="status unanswered" id="status_s12-wk6-2qubit-clifford_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-2qubit-clifford_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
<li value="2">
<p>
Consider the circuit <tt class="tt">[ CNOT(0,1), CNOT(1,0), CNOT(0,1) ]</tt>: </p>
<p>
<center>
<img src="/assets/courseware/v1/a345971905ec1ca0cb75839b12e87af6/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/images_threecnot.png" width="300"/>
</center>
</p>
<p>
Give the list which represents the output of this Clifford circuit acting on the inputs <tt class="tt">[IX,IZ,XI,ZI]</tt>: </p>
<p>
<p style="display:inline"><tt class="tt">[IX,IZ,XI,ZI]</tt>[mathjaxinline]\rightarrow[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 2" role="group"><div id="inputtype_s12-wk6-2qubit-clifford_3_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-2qubit-clifford_3_1" id="input_s12-wk6-2qubit-clifford_3_1" aria-describedby="status_s12-wk6-2qubit-clifford_3_1" value="" size="40"/>
<span class="trailing_text" id="trailing_text_s12-wk6-2qubit-clifford_3_1"/>
<span class="status unanswered" id="status_s12-wk6-2qubit-clifford_3_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-2qubit-clifford_3_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
</ol>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Two-qubit Clifford circuits" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-2qubit-clifford" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-2qubit-clifford">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-2qubit-clifford-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-2qubit-clifford-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-2qubit-clifford-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-2" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford2">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford2" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-2qubit-clifford2" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-2qubit-clifford2-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford2" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford2/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="2"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-2qubit-clifford2-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford2-problem-progress" tabindex="-1">
Two-qubit Clifford circuits II
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-2qubit-clifford2-problem-progress"></div>
<div class="problem">
<div>
<ol class="enumerate">
<li value="1">
<p>
All Clifford circuits may be constructed from just three gates: [mathjaxinline]H[/mathjaxinline], [mathjaxinline]S[/mathjaxinline], and CNOT. Let [mathjaxinline]C(U)[/mathjaxinline] denote a two-qubit controlled [mathjaxinline]U[/mathjaxinline] operation, with qubit [mathjaxinline]0[/mathjaxinline] being the target and qubit [mathjaxinline]1[/mathjaxinline] being the control, which acts as </p>
<table id="a0000000002" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto">
<tr>
<td class="equation" style="width:80%; border:none">[mathjax]C(U) = \left[ \begin{array}{cc}{I}&amp; {0}\\ {0}&amp; {U}\end{array}\right] \, ,[/mathjax]</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.1)</td>
</tr>
</table>
<p>
where [mathjaxinline]U[/mathjaxinline] is a single-qubit gate, and the entries in this matrix are each [mathjaxinline]2\times 2[/mathjaxinline] matrices, acting on qubit 0. Thus, for example, [mathjaxinline]C(X)[/mathjaxinline] is the CNOT gate <tt class="tt">CNOT(1,0)</tt>. </p>
<ul class="itemize">
<li>
<p>
Give a Clifford circuit for [mathjaxinline]C(Z)[/mathjaxinline]. Input your answer as a list of gates, eg <tt class="tt">[H(1),CNOT(1,0)]</tt>, where the gates in the circuit are applied in the order listed, from left to right. You may use <tt class="tt">X</tt>, <tt class="tt">Y</tt>, <tt class="tt">Z</tt>, <tt class="tt">H</tt>, <tt class="tt">S</tt>, and <tt class="tt">CNOT</tt> gates. For <tt class="tt">CNOT(1,0)</tt>, qubit [mathjaxinline]1[/mathjaxinline] is the control, and qubit [mathjaxinline]0[/mathjaxinline] is the target. </p>
<p>
<p style="display:inline">[mathjaxinline]C(Z) =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-2qubit-clifford2_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-2qubit-clifford2_2_1" id="input_s12-wk6-2qubit-clifford2_2_1" aria-describedby="status_s12-wk6-2qubit-clifford2_2_1" value="" size="60"/>
<span class="trailing_text" id="trailing_text_s12-wk6-2qubit-clifford2_2_1"/>
<span class="status unanswered" id="status_s12-wk6-2qubit-clifford2_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-2qubit-clifford2_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
<li>
<p>
Give a Clifford circuit for [mathjaxinline]C(Y)[/mathjaxinline]: </p>
<p>
<p style="display:inline">[mathjaxinline]C(Y) =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 2" role="group"><div id="inputtype_s12-wk6-2qubit-clifford2_3_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-2qubit-clifford2_3_1" id="input_s12-wk6-2qubit-clifford2_3_1" aria-describedby="status_s12-wk6-2qubit-clifford2_3_1" value="" size="60"/>
<span class="trailing_text" id="trailing_text_s12-wk6-2qubit-clifford2_3_1"/>
<span class="status unanswered" id="status_s12-wk6-2qubit-clifford2_3_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-2qubit-clifford2_3_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
</ul>
</li>
</ol>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Two-qubit Clifford circuits II" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-2qubit-clifford2" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-2qubit-clifford2">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-2qubit-clifford2-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-2qubit-clifford2-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-2qubit-clifford2-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-3" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018158">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018158" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
var add_site_search = function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
var search_module_url = "";
var get_search_module_ficus = function(){
var cid = $('div.xblock').data('course-id');
if (cid){
console.log("cid = ", cid);
// search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/courseware/welcome/Search_this_course/"; // automatically rewritten
console.log("3. search_module_url = ", search_module_url);
return;
}
var course_root_link = $('span.nav-item-course').find('a').attr('href');
if (course_root_link){
console.log("course_root_link = ", course_root_link);
search_module_url = course_root_link.replace("course/", "courseware/welcome/Search_this_course/");
console.log("2. search_module_url = ", search_module_url);
return
}
console.log("cannot determine search module url");
}
var get_search_module = function(){
// find search this module link
if (!($('div.course-index').length)){
return get_search_module_ficus();
}
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
}
var go_to_search = function(){
get_search_module();
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
var get = function(x){
return eval(x);
}
return {'course_static_url': course_static_url,
'jump_to_url': jump_to_url,
'go_to_search': go_to_search,
'get_search_module': get_search_module,
'get_search_module_ficus': get_search_module_ficus,
'get': get,
}
}
var the_site_search = add_site_search();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="vertical" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@vertical+block@Multi-qubit_Clifford_circuits" data-runtime-version="1" data-init="VerticalStudentView">
<h2 class="hd hd-2 unit-title">Multi-qubit Clifford circuits</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-multi-clifford" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-multi-clifford-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="3"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-multi-clifford-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford-problem-progress" tabindex="-1">
Multi-qubit Clifford circuits
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford-problem-progress"></div>
<div class="problem">
<div>
<p>
In seeking a systematic construction for arbitrary multi-qubit Clifford circuits, it is helpful to study the action of multi-qubit generalizations of the controlled-NOT gate, the [mathjaxinline]C(Z)[/mathjaxinline] gate, and the [mathjaxinline]C(Y)[/mathjaxinline] gate. </p>
<ol class="enumerate">
<li value="1">
<p>
Recall that the two-qubit controlled-[mathjaxinline]Z[/mathjaxinline] gate [mathjaxinline]C(Z)[/mathjaxinline] and controlled-[mathjaxinline]Y[/mathjaxinline] gate [mathjaxinline]C(Y)[/mathjaxinline] can be composed from [mathjaxinline]C(X)[/mathjaxinline] (CNOT), [mathjaxinline]H[/mathjaxinline] (Hadamard), and [mathjaxinline]S[/mathjaxinline] (phase) gates. </p>
<p>
A [mathjaxinline]n[/mathjaxinline]-qubit gate [mathjaxinline]C(g)[/mathjaxinline] can similarly be constructed from CNOT, [mathjaxinline]H[/mathjaxinline], and [mathjaxinline]S[/mathjaxinline] gates, where [mathjaxinline]g[/mathjaxinline] is an [mathjaxinline]n-1[/mathjaxinline] qubit Pauli operation (ie [mathjaxinline]g\in P_{n-1}[/mathjaxinline]). </p>
<p>
For example, Give a three-qubit Clifford circuit for [mathjaxinline]C(ZX)[/mathjaxinline], where [mathjaxinline]ZX = Z\otimes X[/mathjaxinline] is a two-qubit Pauli operation. Input your answer as a list of gates, eg <tt class="tt">[H(1),CNOT(1,0)]</tt>, where the gates in the circuit are applied in the order listed, from left to right. You may use <tt class="tt">X</tt>, <tt class="tt">Y</tt>, <tt class="tt">Z</tt>, <tt class="tt">H</tt>, <tt class="tt">S</tt>, and <tt class="tt">CNOT</tt> gates. For <tt class="tt">CNOT(1,0)</tt>, qubit [mathjaxinline]1[/mathjaxinline] is the control, and qubit [mathjaxinline]0[/mathjaxinline] is the target. Let qubit [mathjaxinline]2[/mathjaxinline] be the control qubit for your gate, and let [mathjaxinline]ZX[/mathjaxinline] act on qubits [mathjaxinline]1[/mathjaxinline] and [mathjaxinline]0[/mathjaxinline], in that order, from left to right. </p>
<p>
<p style="display:inline">[mathjaxinline]C(ZX) =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-multi-clifford_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-multi-clifford_2_1" id="input_s12-wk6-multi-clifford_2_1" aria-describedby="status_s12-wk6-multi-clifford_2_1" value="" size="60"/>
<span class="trailing_text" id="trailing_text_s12-wk6-multi-clifford_2_1"/>
<span class="status unanswered" id="status_s12-wk6-multi-clifford_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-multi-clifford_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-multi-clifford_solution_1"/>
</div></p>
</li>
<li value="2">
<p>
What is the action of [mathjaxinline]C(g)[/mathjaxinline] on the Pauli group elements <tt class="tt">Xg</tt> = [mathjaxinline]X\otimes g[/mathjaxinline] and <tt class="tt">Zh</tt> = [mathjaxinline]Z\otimes h[/mathjaxinline], where [mathjaxinline]g,h\in P_{n-1}[/mathjaxinline], assuming that [mathjaxinline][g,h]=0[/mathjaxinline]? </p>
<p>
Give each of your answers as a string of Pauli operators, eg <tt class="tt">XY</tt>: </p>
<ul class="itemize">
<li>
<p>
<p style="display:inline">[mathjaxinline]C(g) \left[ X\otimes g \right] C(g)^\dagger =[/mathjaxinline]</p>
<div class="inline" tabindex="-1" aria-label="Question 2" role="group"><div id="inputtype_s12-wk6-multi-clifford_3_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-multi-clifford_3_1" id="input_s12-wk6-multi-clifford_3_1" aria-describedby="status_s12-wk6-multi-clifford_3_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-multi-clifford_3_1"/>
<span class="status unanswered" id="status_s12-wk6-multi-clifford_3_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-multi-clifford_3_1" class="answer"/>
</div>
</div></div>
</p>
</li>
<li>
<p>
<p style="display:inline">[mathjaxinline]C(g) \left[ Z\otimes h \right] C(g)^\dagger =[/mathjaxinline]</p>
<div class="inline" tabindex="-1" aria-label="Question 3" role="group"><div id="inputtype_s12-wk6-multi-clifford_4_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-multi-clifford_4_1" id="input_s12-wk6-multi-clifford_4_1" aria-describedby="status_s12-wk6-multi-clifford_4_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-multi-clifford_4_1"/>
<span class="status unanswered" id="status_s12-wk6-multi-clifford_4_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-multi-clifford_4_1" class="answer"/>
</div>
</div></div>
</p>
</li>
</ul>
</li>
</ol>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Multi-qubit Clifford circuits" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-multi-clifford" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-multi-clifford">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-multi-clifford-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-multi-clifford-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-multi-clifford-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018159">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018159" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
var add_site_search = function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
var search_module_url = "";
var get_search_module_ficus = function(){
var cid = $('div.xblock').data('course-id');
if (cid){
console.log("cid = ", cid);
// search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/courseware/welcome/Search_this_course/"; // automatically rewritten
console.log("3. search_module_url = ", search_module_url);
return;
}
var course_root_link = $('span.nav-item-course').find('a').attr('href');
if (course_root_link){
console.log("course_root_link = ", course_root_link);
search_module_url = course_root_link.replace("course/", "courseware/welcome/Search_this_course/");
console.log("2. search_module_url = ", search_module_url);
return
}
console.log("cannot determine search module url");
}
var get_search_module = function(){
// find search this module link
if (!($('div.course-index').length)){
return get_search_module_ficus();
}
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
}
var go_to_search = function(){
get_search_module();
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
var get = function(x){
return eval(x);
}
return {'course_static_url': course_static_url,
'jump_to_url': jump_to_url,
'go_to_search': go_to_search,
'get_search_module': get_search_module,
'get_search_module_ficus': get_search_module_ficus,
'get': get,
}
}
var the_site_search = add_site_search();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="vertical" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@vertical+block@Multi-qubit_Clifford_circuits_II" data-runtime-version="1" data-init="VerticalStudentView">
<h2 class="hd hd-2 unit-title">Multi-qubit Clifford circuits II</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford2">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford2" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-multi-clifford2" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-multi-clifford2-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford2" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford2/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="3"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-multi-clifford2-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford2-problem-progress" tabindex="-1">
Multi-qubit Clifford circuits II
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-multi-clifford2-problem-progress"></div>
<div class="problem">
<div>
<ol class="enumerate">
<li value="1">
<p>
Consider the [mathjaxinline]n[/mathjaxinline] qubit Clifford circuit </p>
<table id="a0000000003" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto">
<tr>
<td class="equation" style="width:80%; border:none">[mathjax]V = C(h) \left[ H\otimes I_{n-1}\right] C(g) \, ,[/mathjax]</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.2)</td>
</tr>
</table>
<p>
where [mathjaxinline]h,g\in P_{n-1}[/mathjaxinline], [mathjaxinline]I_{n-1}[/mathjaxinline] is the identity operation in [mathjaxinline]P_{n-1}[/mathjaxinline], and [mathjaxinline]H[/mathjaxinline] acts on the control qubit of [mathjaxinline]C(h)[/mathjaxinline] and [mathjaxinline]C(g)[/mathjaxinline]. This is the circuit <center><img src="/assets/courseware/v1/663b4453ce3f5cde535a6c364e46acaf/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/images_clifford-circuit-reduction-v1a.png" width="400" style="size:300px"/></center> It is convenient to analyze this circuit by expressing each of its components as a [mathjaxinline]2\times 2[/mathjaxinline] block matrix. Specifically, </p>
<table id="a0000000004" class="eqnarray" cellspacing="0" cellpadding="7" width="100%" style="table-layout:auto">
<tr id="a0000000005">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle H[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle \frac{1}{\sqrt{2}} \left[ \begin{array}{cc}{I}&amp; {I}\\ {I}&amp; {-I}\end{array}\right][/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.3)</td>
</tr>
<tr id="a0000000006">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle C(g)[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle \left[ \begin{array}{cc}{I}&amp; {0}\\ {0}&amp; {g}\end{array}\right][/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.4)</td>
</tr>
<tr id="a0000000007">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle C(h)[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle \left[ \begin{array}{cc}{I}&amp; {0}\\ {0}&amp; {h}\end{array}\right] \, .[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.5)</td>
</tr>
</table>
<p>
Give the [mathjaxinline]2\times 2[/mathjaxinline] matrix for [mathjaxinline]\sqrt{2} V[/mathjaxinline]. Enter your result as a list of lists, eg <tt class="tt">[[1,-1],[1,1]]</tt>. </p>
<p>
Remember to explicitly include multiplication with <tt class="tt">*</tt>. Note that for convenience, the [mathjaxinline]\sqrt{2}[/mathjaxinline] factor from [mathjaxinline]H[/mathjaxinline] has already been taken out to the left hand side of the equation. Keep the proper ordering of symbols in your expressions, as if [mathjaxinline]g[/mathjaxinline] and [mathjaxinline]h[/mathjaxinline] were to not commute: </p>
<p>
<p style="display:inline">[mathjaxinline]\sqrt{2} V =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-multi-clifford2_2_1" class="text-input-dynamath capa_inputtype inline textline">
<div class="text-input-dynamath_data inline" data-preprocessor="MathjaxPreprocessorForQM"/>
<div class="script_placeholder" data-src="/assets/courseware/v1/dc8916af8ae257e4388dae38f570cb8b/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/mathjax_preprocessor_for_QM_subtext.js"/>
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-multi-clifford2_2_1" id="input_s12-wk6-multi-clifford2_2_1" aria-describedby="status_s12-wk6-multi-clifford2_2_1" value="" class="math" size="60"/>
<span class="trailing_text" id="trailing_text_s12-wk6-multi-clifford2_2_1"/>
<span class="status unanswered" id="status_s12-wk6-multi-clifford2_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-multi-clifford2_2_1" class="answer"/>
<div id="display_s12-wk6-multi-clifford2_2_1" class="equation">`{::}`</div>
<textarea style="display:none" id="input_s12-wk6-multi-clifford2_2_1_dynamath" name="input_s12-wk6-multi-clifford2_2_1_dynamath"/>
</div>
</div></div>
</span>
</p>
</li>
<li value="2">
<p>
What is the action of [mathjaxinline]V[/mathjaxinline] on the Pauli group elements <tt class="tt">Xg</tt> = [mathjaxinline]X\otimes g[/mathjaxinline] and <tt class="tt">Zh</tt> = [mathjaxinline]Z\otimes h[/mathjaxinline], where [mathjaxinline]g,h\in P_{n-1}[/mathjaxinline], assuming that [mathjaxinline][g,h]=0[/mathjaxinline]? </p>
<p>
Give each of your answers as a string of Pauli operators, eg <tt class="tt">XY</tt>: </p>
<ul class="itemize">
<li>
<p>
<p style="display:inline">[mathjaxinline]V \left[ X\otimes g \right] V^\dagger =[/mathjaxinline]</p>
<div class="inline" tabindex="-1" aria-label="Question 2" role="group"><div id="inputtype_s12-wk6-multi-clifford2_3_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-multi-clifford2_3_1" id="input_s12-wk6-multi-clifford2_3_1" aria-describedby="status_s12-wk6-multi-clifford2_3_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-multi-clifford2_3_1"/>
<span class="status unanswered" id="status_s12-wk6-multi-clifford2_3_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-multi-clifford2_3_1" class="answer"/>
</div>
</div></div>
</p>
</li>
<li>
<p>
<p style="display:inline">[mathjaxinline]V \left[ Z\otimes h \right] V^\dagger =[/mathjaxinline]</p>
<div class="inline" tabindex="-1" aria-label="Question 3" role="group"><div id="inputtype_s12-wk6-multi-clifford2_4_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-multi-clifford2_4_1" id="input_s12-wk6-multi-clifford2_4_1" aria-describedby="status_s12-wk6-multi-clifford2_4_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-multi-clifford2_4_1"/>
<span class="status unanswered" id="status_s12-wk6-multi-clifford2_4_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-multi-clifford2_4_1" class="answer"/>
</div>
</div></div>
</p>
</li>
</ul>
</li>
</ol>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Multi-qubit Clifford circuits II" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-multi-clifford2" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-multi-clifford2">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-multi-clifford2-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-multi-clifford2-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-multi-clifford2-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018160">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018160" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
var add_site_search = function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
var search_module_url = "";
var get_search_module_ficus = function(){
var cid = $('div.xblock').data('course-id');
if (cid){
console.log("cid = ", cid);
// search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/courseware/welcome/Search_this_course/"; // automatically rewritten
console.log("3. search_module_url = ", search_module_url);
return;
}
var course_root_link = $('span.nav-item-course').find('a').attr('href');
if (course_root_link){
console.log("course_root_link = ", course_root_link);
search_module_url = course_root_link.replace("course/", "courseware/welcome/Search_this_course/");
console.log("2. search_module_url = ", search_module_url);
return
}
console.log("cannot determine search module url");
}
var get_search_module = function(){
// find search this module link
if (!($('div.course-index').length)){
return get_search_module_ficus();
}
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
}
var go_to_search = function(){
get_search_module();
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
var get = function(x){
return eval(x);
}
return {'course_static_url': course_static_url,
'jump_to_url': jump_to_url,
'go_to_search': go_to_search,
'get_search_module': get_search_module,
'get_search_module_ficus': get_search_module_ficus,
'get': get,
}
}
var the_site_search = add_site_search();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="vertical" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@vertical+block@Decomposing_Clifford_operations" data-runtime-version="1" data-init="VerticalStudentView">
<h2 class="hd hd-2 unit-title">Decomposing Clifford operations</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-clifford-decomposition">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-clifford-decomposition" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-clifford-decomposition" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-clifford-decomposition-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-clifford-decomposition" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-clifford-decomposition/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="5"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-clifford-decomposition-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-clifford-decomposition-problem-progress" tabindex="-1">
Decomposing Clifford operations
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-clifford-decomposition-problem-progress"></div>
<div class="problem">
<div>
<p>
Recall that [mathjaxinline]P_ n[/mathjaxinline] is the group of [mathjaxinline]n[/mathjaxinline]-qubit Pauli operations. The set of unitary transforms [mathjaxinline]U[/mathjaxinline] such that [mathjaxinline]U P_ n U^{\dagger } = P_ n[/mathjaxinline] is the <em>normalizer</em> of [mathjaxinline]P_ n[/mathjaxinline] in [mathjaxinline]SU(2^ n)[/mathjaxinline], denoted by [mathjaxinline]N(P_ n)[/mathjaxinline]. [mathjaxinline]N(P_ n)[/mathjaxinline] is known as the Clifford group. </p>
<p>
In this problem, we shall prove the following theorem about Clifford group operations: </p>
<blockquote class="quote"> Suppose [mathjaxinline]U[/mathjaxinline] is any unitary operator on [mathjaxinline]n[/mathjaxinline] qubits with the property that if [mathjaxinline]g \in P_ n[/mathjaxinline] then [mathjaxinline]U g U^{\dagger } \in P_ n[/mathjaxinline]. Then up to a global phase [mathjaxinline]U[/mathjaxinline] may be composed from [mathjaxinline]O(n^2)[/mathjaxinline] Hadamard, phase and CNOT gates. </blockquote>
<p>
Let us prove the theorem in a few steps, below. </p>
<ol class="enumerate">
<li value="1">
<p>
Suppose that the [mathjaxinline]n[/mathjaxinline]-qubit Clifford operation [mathjaxinline]U[/mathjaxinline] satisfies these two equations: </p>
<table id="a0000000008" class="eqnarray" cellspacing="0" cellpadding="7" width="100%" style="table-layout:auto">
<tr id="eqn1p6">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U \left[ Z\otimes I_{n-1} \right] U^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle X\otimes g [/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.6)</td>
</tr>
<tr id="eqn1p7">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U \left[ X\otimes I_{n-1} \right] U^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle Z\otimes h \, .[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.7)</td>
</tr>
</table>
<p>
Note that one can always arrange for this to be true (except in trivial cases) by replacing [mathjaxinline]U[/mathjaxinline] with [mathjaxinline]U_ r U[/mathjaxinline], where [mathjaxinline]U_ r[/mathjaxinline] involves at most swap gates and local Clifford gates. This is because [mathjaxinline]U[/mathjaxinline] must map [mathjaxinline]X[/mathjaxinline] and [mathjaxinline]Z[/mathjaxinline] on the [mathjaxinline]n^{th}[/mathjaxinline] qubit to some nontrivial Pauli operations on at least one other qubit, and these can be turned into [mathjaxinline]X[/mathjaxinline] and [mathjaxinline]Z[/mathjaxinline] using [mathjaxinline]H[/mathjaxinline] and [mathjaxinline]S[/mathjaxinline] operations (which permute among [mathjaxinline]X[/mathjaxinline], [mathjaxinline]Y[/mathjaxinline], and [mathjaxinline]Z[/mathjaxinline]). </p>
<p>
Let us express [mathjaxinline]U[/mathjaxinline] in block matrix form, as </p>
<table id="a0000000011" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto">
<tr>
<td class="equation" style="width:80%; border:none">[mathjax]U = \frac{1}{\sqrt{2}} \left[ \begin{array}{cc}{A}&amp; {B}\\ {C}&amp; {D}\end{array}\right] \, ,[/mathjax]</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.8)</td>
</tr>
</table>
<p>
where [mathjaxinline]A[/mathjaxinline], [mathjaxinline]B[/mathjaxinline], [mathjaxinline]C[/mathjaxinline], and [mathjaxinline]D[/mathjaxinline] are operators on the right-most [mathjaxinline]n-1[/mathjaxinline] qubits. Using the constraints of Eq.(1.6&#8211;1.7), and the unitarity of [mathjaxinline]U[/mathjaxinline], express [mathjaxinline]B[/mathjaxinline], [mathjaxinline]C[/mathjaxinline], and [mathjaxinline]D[/mathjaxinline] in terms of [mathjaxinline]g[/mathjaxinline], [mathjaxinline]h[/mathjaxinline], and [mathjaxinline]A[/mathjaxinline]. Keep in mind that the order of symbols in your expressions matters: </p>
<ul class="itemize">
<li>
<p>
<p style="display:inline">[mathjaxinline]B =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-clifford-decomposition_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-clifford-decomposition_2_1" id="input_s12-wk6-clifford-decomposition_2_1" aria-describedby="status_s12-wk6-clifford-decomposition_2_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-clifford-decomposition_2_1"/>
<span class="status unanswered" id="status_s12-wk6-clifford-decomposition_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-clifford-decomposition_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
<li>
<p>
<p style="display:inline">[mathjaxinline]C =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 2" role="group"><div id="inputtype_s12-wk6-clifford-decomposition_3_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-clifford-decomposition_3_1" id="input_s12-wk6-clifford-decomposition_3_1" aria-describedby="status_s12-wk6-clifford-decomposition_3_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-clifford-decomposition_3_1"/>
<span class="status unanswered" id="status_s12-wk6-clifford-decomposition_3_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-clifford-decomposition_3_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
<li>
<p>
<p style="display:inline">[mathjaxinline]D =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 3" role="group"><div id="inputtype_s12-wk6-clifford-decomposition_4_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-clifford-decomposition_4_1" id="input_s12-wk6-clifford-decomposition_4_1" aria-describedby="status_s12-wk6-clifford-decomposition_4_1" value="" size="20"/>
<span class="trailing_text" id="trailing_text_s12-wk6-clifford-decomposition_4_1"/>
<span class="status unanswered" id="status_s12-wk6-clifford-decomposition_4_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-clifford-decomposition_4_1" class="answer"/>
</div>
</div></div>
</span>
</p>
</li>
</ul>
</li>
<li value="2">
<p>
<p style="display:inline">What is [mathjaxinline]A^\dagger A[/mathjaxinline]?&#160;&#160;</p>
<div class="inline" tabindex="-1" aria-label="Question 4" role="group"><div id="inputtype_s12-wk6-clifford-decomposition_5_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-clifford-decomposition_5_1" id="input_s12-wk6-clifford-decomposition_5_1" aria-describedby="status_s12-wk6-clifford-decomposition_5_1" value=""/>
<span class="trailing_text" id="trailing_text_s12-wk6-clifford-decomposition_5_1"/>
<span class="status unanswered" id="status_s12-wk6-clifford-decomposition_5_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-clifford-decomposition_5_1" class="answer"/>
</div>
</div></div>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-clifford-decomposition_solution_1"/>
</div></p>
</li>
<li value="3">
<p>
Recall the [mathjaxinline]n[/mathjaxinline] qubit Clifford circuit </p>
<table id="a0000000012" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto">
<tr>
<td class="equation" style="width:80%; border:none">[mathjax]V = C(h) \left[ H\otimes I_{n-1}\right] C(g) \, ,[/mathjax]</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.9)</td>
</tr>
</table>
<p>
where [mathjaxinline]h,g\in P_{n-1}[/mathjaxinline], [mathjaxinline]I_{n-1}[/mathjaxinline] is the identity operation in [mathjaxinline]P_{n-1}[/mathjaxinline], and [mathjaxinline]H[/mathjaxinline] acts on the control qubit of [mathjaxinline]C(h)[/mathjaxinline] and [mathjaxinline]C(g)[/mathjaxinline]. This is the circuit <center><img src="/assets/courseware/v1/663b4453ce3f5cde535a6c364e46acaf/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/images_clifford-circuit-reduction-v1a.png" width="400" style="size:300px"/></center> </p>
<p>
Give the block matrix for [mathjaxinline]U' = VU[/mathjaxinline] (in terms of [mathjaxinline]A[/mathjaxinline], [mathjaxinline]B[/mathjaxinline], [mathjaxinline]C[/mathjaxinline], [mathjaxinline]D[/mathjaxinline] and any necessary constants): </p>
<p>
<p style="display:inline">[mathjaxinline]U' =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 5" role="group"><div id="inputtype_s12-wk6-clifford-decomposition_6_1" class="text-input-dynamath capa_inputtype inline textline">
<div class="text-input-dynamath_data inline" data-preprocessor="MathjaxPreprocessorForQM"/>
<div class="script_placeholder" data-src="/assets/courseware/v1/dc8916af8ae257e4388dae38f570cb8b/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/mathjax_preprocessor_for_QM_subtext.js"/>
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-clifford-decomposition_6_1" id="input_s12-wk6-clifford-decomposition_6_1" aria-describedby="status_s12-wk6-clifford-decomposition_6_1" value="" class="math" size="50"/>
<span class="trailing_text" id="trailing_text_s12-wk6-clifford-decomposition_6_1"/>
<span class="status unanswered" id="status_s12-wk6-clifford-decomposition_6_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-clifford-decomposition_6_1" class="answer"/>
<div id="display_s12-wk6-clifford-decomposition_6_1" class="equation">`{::}`</div>
<textarea style="display:none" id="input_s12-wk6-clifford-decomposition_6_1_dynamath" name="input_s12-wk6-clifford-decomposition_6_1_dynamath"/>
</div>
</div></div>
</span>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-clifford-decomposition_solution_2"/>
</div></p>
</li>
</ol>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Decomposing Clifford operations" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-clifford-decomposition" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-clifford-decomposition">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-clifford-decomposition-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-clifford-decomposition-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-clifford-decomposition-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018161">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018161" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
var add_site_search = function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
var search_module_url = "";
var get_search_module_ficus = function(){
var cid = $('div.xblock').data('course-id');
if (cid){
console.log("cid = ", cid);
// search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/courseware/welcome/Search_this_course/"; // automatically rewritten
console.log("3. search_module_url = ", search_module_url);
return;
}
var course_root_link = $('span.nav-item-course').find('a').attr('href');
if (course_root_link){
console.log("course_root_link = ", course_root_link);
search_module_url = course_root_link.replace("course/", "courseware/welcome/Search_this_course/");
console.log("2. search_module_url = ", search_module_url);
return
}
console.log("cannot determine search module url");
}
var get_search_module = function(){
// find search this module link
if (!($('div.course-index').length)){
return get_search_module_ficus();
}
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
}
var go_to_search = function(){
get_search_module();
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
var get = function(x){
return eval(x);
}
return {'course_static_url': course_static_url,
'jump_to_url': jump_to_url,
'go_to_search': go_to_search,
'get_search_module': get_search_module,
'get_search_module_ficus': get_search_module_ficus,
'get': get,
}
}
var the_site_search = add_site_search();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="vertical" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@vertical+block@Decomposition_exercise_2-qubit_Clifford_circuit" data-runtime-version="1" data-init="VerticalStudentView">
<h2 class="hd hd-2 unit-title">Decomposition exercise: 2-qubit Clifford circuit</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-cg-decomp1" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-cg-decomp1-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-cg-decomp1-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-problem-progress" tabindex="-1">
Decomposition exercise: 2-qubit Clifford circuit
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-problem-progress"></div>
<div class="problem">
<div>
<p>
[mathjaxinline]U[/mathjaxinline] is a two-qubit Clifford circuit which maps these Pauli operators: </p>
<table id="a0000000013" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto">
<tr>
<td class="equation" style="width:80%; border:none">[mathjax]{\tt [IX,IZ,XI,ZI]} \longrightarrow {\tt [-YY,ZI,ZZ,ZX]} \, .[/mathjax]</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.10)</td>
</tr>
</table>
<p>
Let us systematically construct a circuit for [mathjaxinline]U[/mathjaxinline] using CNOT, SWAP, [mathjaxinline]H[/mathjaxinline], and [mathjaxinline]S[/mathjaxinline], using the procedure from <a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/s12-wk6-clifford-decomposition" target="_blank">the previous problem</a>. </p>
<p>
Start with qubit [mathjaxinline]0[/mathjaxinline] (the right-most label). Give a Clifford circuit [mathjaxinline]W_1[/mathjaxinline], using just SWAP, [mathjaxinline]H[/mathjaxinline], and [mathjaxinline]S[/mathjaxinline] gates, to bring the set of Pauli operators into a form such that for [mathjaxinline]U_1 = W_1 U[/mathjaxinline], </p>
<table id="a0000000014" class="eqnarray" cellspacing="0" cellpadding="7" width="100%" style="table-layout:auto">
<tr id="a0000000015">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U_1 {\tt IX}\, U_1^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle h \otimes {\tt Z}[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.11)</td>
</tr>
<tr id="a0000000016">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U_1 {\tt IZ}\, U_1^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle g \otimes {\tt X} \, .[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.12)</td>
</tr>
</table>
<p>
where [mathjaxinline]h[/mathjaxinline] and [mathjaxinline]g[/mathjaxinline] are single qubit Pauli operators acting on qubit [mathjaxinline]1[/mathjaxinline]. </p>
<p>
Enter your answer as a list of gates, in the form <big class="xlarge"><tt class="tt">[H(0),SWAP(0,1)]</tt></big>: </p>
<p>
<p style="display:inline">[mathjaxinline]W_1 =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-cg-decomp1_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-cg-decomp1_2_1" id="input_s12-wk6-cg-decomp1_2_1" aria-describedby="status_s12-wk6-cg-decomp1_2_1" value="" size="50"/>
<span class="trailing_text" id="trailing_text_s12-wk6-cg-decomp1_2_1"/>
<span class="status unanswered" id="status_s12-wk6-cg-decomp1_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-cg-decomp1_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-cg-decomp1_solution_1"/>
</div></p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Decomposition exercise: 2-qubit Clifford circuit" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-cg-decomp1" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-cg-decomp1">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-2">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-2" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-cg-decomp1-2" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-cg-decomp1-2-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-2" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-2/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-cg-decomp1-2-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-2-problem-progress" tabindex="-1">
Decomposition exercise: 2-qubit Clifford circuit II
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-2-problem-progress"></div>
<div class="problem">
<div>
<p>
Give a Clifford circuit for [mathjaxinline]V[/mathjaxinline], such that for [mathjaxinline]U_2 = V U_1[/mathjaxinline], </p>
<table id="a0000000018" class="eqnarray" cellspacing="0" cellpadding="7" width="100%" style="table-layout:auto">
<tr id="a0000000019">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U_2 {\tt IX}\, U_2^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle {\tt IX}[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.14)</td>
</tr>
<tr id="a0000000020">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U_2 {\tt IZ}\, U_2^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle {\tt IZ} \, .[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.15)</td>
</tr>
</table>
<p>
Enter your answer as a list of gates, in the form <big class="xlarge"><tt class="tt">[H(0),SWAP(0,1)]</tt></big>. You may use CNOT, SWAP, [mathjaxinline]H[/mathjaxinline], and [mathjaxinline]S[/mathjaxinline]: </p>
<p>
<p style="display:inline">[mathjaxinline]V =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-cg-decomp1-2_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-cg-decomp1-2_2_1" id="input_s12-wk6-cg-decomp1-2_2_1" aria-describedby="status_s12-wk6-cg-decomp1-2_2_1" value="" size="50"/>
<span class="trailing_text" id="trailing_text_s12-wk6-cg-decomp1-2_2_1"/>
<span class="status unanswered" id="status_s12-wk6-cg-decomp1-2_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-cg-decomp1-2_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-cg-decomp1-2_solution_1"/>
</div></p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Decomposition exercise: 2-qubit Clifford circuit II" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-cg-decomp1-2" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-cg-decomp1-2">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-2-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-2-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-2-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-2" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-3">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-3" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-cg-decomp1-3" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-cg-decomp1-3-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-3" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-3/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-cg-decomp1-3-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-3-problem-progress" tabindex="-1">
Decomposition exercise: 2-qubit Clifford circuit III
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp1-3-problem-progress"></div>
<div class="problem">
<div>
<p>
There remains at most a single qubit Clifford circuit operation [mathjaxinline]W_2[/mathjaxinline], which is needed to complete the transformation such that for [mathjaxinline]U_3 = W_2 U_2[/mathjaxinline], </p>
<table id="a0000000022" class="eqnarray" cellspacing="0" cellpadding="7" width="100%" style="table-layout:auto">
<tr id="a0000000023">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U_3 {\tt XI}\, U_3^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle {\tt XI}[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.17)</td>
</tr>
<tr id="a0000000024">
<td style="width:40%; border:none">&#160;</td>
<td style="vertical-align:middle; text-align:right; border:none">
[mathjaxinline]\displaystyle U_3 {\tt ZI}\, U_3^\dagger[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:center; border:none">
[mathjaxinline]\displaystyle =[/mathjaxinline]
</td>
<td style="vertical-align:middle; text-align:left; border:none">
[mathjaxinline]\displaystyle {\tt ZI} \, .[/mathjaxinline]
</td>
<td style="width:40%; border:none">&#160;</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.18)</td>
</tr>
</table>
<p>
Enter your answer as a list of gates, in the form <big class="xlarge"><tt class="tt">[H(0),SWAP(0,1)]</tt></big>. You may use CNOT, SWAP, [mathjaxinline]H[/mathjaxinline], and [mathjaxinline]S[/mathjaxinline]: </p>
<p>
<p style="display:inline">[mathjaxinline]W_2 =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-cg-decomp1-3_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-cg-decomp1-3_2_1" id="input_s12-wk6-cg-decomp1-3_2_1" aria-describedby="status_s12-wk6-cg-decomp1-3_2_1" value="" size="50"/>
<span class="trailing_text" id="trailing_text_s12-wk6-cg-decomp1-3_2_1"/>
<span class="status unanswered" id="status_s12-wk6-cg-decomp1-3_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-cg-decomp1-3_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-cg-decomp1-3_solution_1"/>
</div></p>
<p>
As a result, [mathjaxinline]W_2 V W_1 U = I[/mathjaxinline], (you may wish to prove for yourself that any unitary operation which maps [mathjaxinline]{\tt [IX,IZ,XI,ZI]} \longrightarrow {\tt [IX,IZ,XI,ZI]}[/mathjaxinline] must be identity). </p>
<p>
And thus you now have a Clifford circuit for [mathjaxinline]U[/mathjaxinline], namely [mathjaxinline]W_1^\dagger V^\dagger W_2^\dagger = U[/mathjaxinline]. </p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Decomposition exercise: 2-qubit Clifford circuit III" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-cg-decomp1-3" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-cg-decomp1-3">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-3-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-3-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp1-3-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-3" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018162">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018162" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
var add_site_search = function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
var search_module_url = "";
var get_search_module_ficus = function(){
var cid = $('div.xblock').data('course-id');
if (cid){
console.log("cid = ", cid);
// search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/courseware/welcome/Search_this_course/"; // automatically rewritten
console.log("3. search_module_url = ", search_module_url);
return;
}
var course_root_link = $('span.nav-item-course').find('a').attr('href');
if (course_root_link){
console.log("course_root_link = ", course_root_link);
search_module_url = course_root_link.replace("course/", "courseware/welcome/Search_this_course/");
console.log("2. search_module_url = ", search_module_url);
return
}
console.log("cannot determine search module url");
}
var get_search_module = function(){
// find search this module link
if (!($('div.course-index').length)){
return get_search_module_ficus();
}
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
}
var go_to_search = function(){
get_search_module();
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
var get = function(x){
return eval(x);
}
return {'course_static_url': course_static_url,
'jump_to_url': jump_to_url,
'go_to_search': go_to_search,
'get_search_module': get_search_module,
'get_search_module_ficus': get_search_module_ficus,
'get': get,
}
}
var the_site_search = add_site_search();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
<div class="xblock xblock-public_view xblock-public_view-vertical" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="vertical" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@vertical+block@Decomposition_exercise_3-qubit_Clifford_circuit" data-runtime-version="1" data-init="VerticalStudentView">
<h2 class="hd hd-2 unit-title">Decomposition exercise: 3-qubit Clifford circuit</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp2">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="problem" data-has-score="True" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp2" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_s12-wk6-cg-decomp2" class="problems-wrapper" role="group"
aria-labelledby="s12-wk6-cg-decomp2-problem-title"
data-problem-id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp2" data-url="/courses/course-v1:MITx+8.371.1x+2T2018/xblock/block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp2/handler/xmodule_handler"
data-problem-score="0"
data-problem-total-possible="1"
data-attempts-used="0"
data-content="
<h3 class="hd hd-3 problem-header" id="s12-wk6-cg-decomp2-problem-title" aria-describedby="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp2-problem-progress" tabindex="-1">
Decomposition exercise: 3-qubit Clifford circuit
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.1x+2T2018+type@problem+block@s12-wk6-cg-decomp2-problem-progress"></div>
<div class="problem">
<div>
<p>
[mathjaxinline]U[/mathjaxinline] is a three-qubit Clifford circuit which maps these Pauli operators: </p>
<table id="a0000000026" class="equation" width="100%" cellspacing="0" cellpadding="7" style="table-layout:auto">
<tr>
<td class="equation" style="width:80%; border:none">[mathjax]{\tt [IIX, IIZ, IXI, IZI, XII, ZII]} \longrightarrow {\tt [IZX, IIZ, ZYZ, IZI, ZII, XZI]} \, .[/mathjax]</td>
<td class="eqnnum" style="width:20%; border:none;text-align:right">(1.20)</td>
</tr>
</table>
<p>
Construct a circuit for [mathjaxinline]U[/mathjaxinline] using CNOT, SWAP, [mathjaxinline]H[/mathjaxinline], and [mathjaxinline]S[/mathjaxinline]. You may use the procedure from <a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/s12-wk6-clifford-decomposition" target="_blank">the previous problem on decomposing Clifford operations</a>, or any other method you wish. </p>
<p>
<p style="display:inline">[mathjaxinline]U =[/mathjaxinline]</p>
<span>
<div class="inline" tabindex="-1" aria-label="Question 1" role="group"><div id="inputtype_s12-wk6-cg-decomp2_2_1" class=" capa_inputtype inline textline">
<div class="unanswered inline">
<input type="text" name="input_s12-wk6-cg-decomp2_2_1" id="input_s12-wk6-cg-decomp2_2_1" aria-describedby="status_s12-wk6-cg-decomp2_2_1" value="" size="60"/>
<span class="trailing_text" id="trailing_text_s12-wk6-cg-decomp2_2_1"/>
<span class="status unanswered" id="status_s12-wk6-cg-decomp2_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
<p id="answer_s12-wk6-cg-decomp2_2_1" class="answer"/>
</div>
</div></div>
</span>
</p>
<p>
<div class="solution-span">
<span id="solution_s12-wk6-cg-decomp2_solution_1"/>
</div></p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Decomposition exercise: 3-qubit Clifford circuit" />
<div class="submit-attempt-container">
<button type="button" class="submit btn-brand" data-submitting="Submitting" data-value="Submit" data-should-enable-submit-button="True" aria-describedby="submission_feedback_s12-wk6-cg-decomp2" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_s12-wk6-cg-decomp2">
<span class="sr">Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.</span>
</div>
</div>
<div class="problem-action-buttons-wrapper">
<span class="problem-action-button-wrapper">
<button type="button" class="save problem-action-btn btn-default btn-small" data-value="Save">
<span class="icon fa fa-floppy-o" aria-hidden="true"></span>
<span aria-hidden="true">Save</span>
<span class="sr">Save your answer</span>
</button>
</span>
</div>
</div>
<div class="notification warning notification-gentle-alert
is-hidden"
tabindex="-1">
<span class="icon fa fa-exclamation-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp2-problem-title">
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification warning notification-save
is-hidden"
tabindex="-1">
<span class="icon fa fa-save" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp2-problem-title">None
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
<div class="notification general notification-show-answer
is-hidden"
tabindex="-1">
<span class="icon fa fa-info-circle" aria-hidden="true"></span>
<span class="notification-message" aria-describedby="s12-wk6-cg-decomp2-problem-title">Answers are displayed within the problem
</span>
<div class="notification-btn-wrapper">
<button type="button" class="btn btn-default btn-small notification-btn review-btn sr">Review</button>
</div>
</div>
</div>
"
data-graded="True">
<p class="loading-spinner">
<i class="fa fa-spinner fa-pulse fa-2x fa-fw"></i>
<span class="sr">Loading…</span>
</p>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018163">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-request-token="1e7bee46abba11f199130ebf0becc8e7" data-graded="True" data-course-id="course-v1:MITx+8.371.1x+2T2018" data-block-type="html" data-has-score="False" data-runtime-class="LmsRuntime" data-usage-id="block-v1:MITx+8.371.1x+2T2018+type@html+block@site_search_box018163" data-runtime-version="1" data-init="XBlockToXModuleShim">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.1x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.1x+2T2018/jump_to_id/NONE" id="dummy_jump_link" style="display:none"/><script type="text/javascript">
var add_site_search = function(){
course_static_url = $('#dummy_course_static_link').attr('href').replace('/NONE', '');
jump_to_url = $('#dummy_jump_link').attr('href').replace('/NONE', '');
if (typeof String.prototype.startsWith != 'function') {
// see below for better implementation!
String.prototype.startsWith = function (str){
return this.indexOf(str) === 0;
};
}
if(typeof(String.prototype.trim) === "undefined")
{
String.prototype.trim = function()
{
return String(this).replace(/^\s+|\s+$/g, '');
};
}
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var amp = String.fromCharCode(38);
var rlb = rb + lb;
var mke = function(x){ return lb + x + rb; }
var search_module_url = "";
var get_search_module_ficus = function(){
var cid = $('div.xblock').data('course-id');
if (cid){
console.log("cid = ", cid);
// search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.1x+2T2018/courseware/welcome/Search_this_course/"; // automatically rewritten
console.log("3. search_module_url = ", search_module_url);
return;
}
var course_root_link = $('span.nav-item-course').find('a').attr('href');
if (course_root_link){
console.log("course_root_link = ", course_root_link);
search_module_url = course_root_link.replace("course/", "courseware/welcome/Search_this_course/");
console.log("2. search_module_url = ", search_module_url);
return
}
console.log("cannot determine search module url");
}
var get_search_module = function(){
// find search this module link
if (!($('div.course-index').length)){
return get_search_module_ficus();
}
$('div.course-index').find('nav').find('a').each(function(){
if ($(this).text().trim().startsWith("Search this course")){
search_module_url = $(this).attr('href');
console.log("search_module_url = ", search_module_url);
}
});
}
var go_to_search = function(){
get_search_module();
var sterm = $('#site-search-box').val();
// new_url = jump_to_url + "/Search_this_module/?q=" + sterm;
new_url = search_module_url + "?q=" + sterm;
console.log("sterm = ", sterm, " ; going to ", new_url);
window.location.href = new_url;
}
if (!$('#site-search-box').length){
$("nav.courseware").find("ol").append(lb + "section style='float:right'" + rlb + "input size='20'"
+ " id='site-search-box'"
+ rlb + "img src='" + course_static_url
+ "/images_search_glass.png'/" + rlb + "/input" + rlb + "/section" + rb);
}
$("#site-search-box").keypress(function(event) {
if (event.which == 13) {
event.preventDefault();
go_to_search();
}
});
// $('#site-search-box').bind("enterKey", go_to_search);
var get = function(x){
return eval(x);
}
return {'course_static_url': course_static_url,
'jump_to_url': jump_to_url,
'go_to_search': go_to_search,
'get_search_module': get_search_module,
'get_search_module_ficus': get_search_module_ficus,
'get': get,
}
}
var the_site_search = add_site_search();
var add_fix_transcript = function(){
if ($('div.wrap-instructor-info').length==0){
return;
}
$('div.xblock-student_view-video').each(function(key, vblock_e){
var vblock = $(vblock_e);
var vuid = vblock.data('usage-id').split('@');
var vid;
if (vuid.length==1){
vuid = vblock.data('usage-id').split(';_')
vid = vuid[5];
}else{
vid = vuid[2];
}
var mfnpre = vid.split("_video",1)[0];
var mfnid = mfnpre; // no periods
mfnpre = mfnpre.replace('8_370', '8.370'); // periods in gh filename
var lb = String.fromCharCode(60);
var rb = String.fromCharCode(62);
var mke = function(x){ return lb + x + rb; }
var ftid = "fix_transcript_" + mfnid;
if (!$('#' + ftid).length){
var html = lb + "span id='" + ftid + "' style='float:right'" + rb + lb + "a href='#'" + rb;
html += "contribute transcript fix" + mke("/a") + mke("/span");
console.log("html = ", html);
vblock.after(html)
}
$('#' + ftid).click(function(){
var cst = $('ol.subtitles').find('li.current');
var cindex = Number(cst.data('index'));
var gurl;
if (mfnpre.endsWith('_cq_sol')){
gurl = "https://github.com/mitocw/content-mit-8370x-cq-sol-subtitles/blob/master/";
}else{
gurl = "https://github.com/mitocw/content-mit-8370x-subtitles/blob/master/";
}
gurl += mfnpre + ".txt#L" + String(cindex + 10 + 1);
console.log("going to ", gurl);
window.open(gurl, "MITx 8.370x subtitle source");
});
});
}
try{
add_fix_transcript();
}
catch(err){
console.log(err);
}
try{
var rb = String.fromCharCode(62);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 3000);
setTimeout(function(){ $('.math' + rb + 'span').css("border-left-color","transparent"); }, 8000);
}
catch(err){
console.log(err);
}
</script></span>
</div>
</div>
</div>
</div>
© All Rights Reserved