<div class="xblock xblock-public_view xblock-public_view-vertical" data-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@Quantum_algorithms_for_the_hidden_subgroup_problem_-_lecture_overview" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">Quantum algorithms for the hidden subgroup problem - lecture overview</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17a">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17a" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Quantum algorithms for the hidden subgroup problem - lecture overview</h3>
<div
id="video_M3L17a"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17a/handler/transcript/translation/__lang__", "streams": "1.00:tkQSbWkdf5E", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17a/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17a/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17a/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17a"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box1xxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box1xxx" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_Abelian_hidden_subgroup_problem_-_statement_and_claim" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The Abelian hidden subgroup problem - statement and claim</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17b">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17b" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The Abelian hidden subgroup problem - statement and claim</h3>
<div
id="video_M3L17b"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17b/handler/transcript/translation/__lang__", "streams": "1.00:my2p0Be_BFE", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17b/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17b/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17b/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17b"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box2xxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box2xxx" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_Abelian_hidden_subgroup_problem_-_proof_of_algorithm_complexity" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The Abelian hidden subgroup problem - proof of algorithm complexity</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17c">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17c" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The Abelian hidden subgroup problem - proof of algorithm complexity</h3>
<div
id="video_M3L17c"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17c/handler/transcript/translation/__lang__", "streams": "1.00:KBfli9Fwy-g", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17c/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17c/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17c/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17c"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box3xxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box3xxx" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_discrete_logarithm_problem_-_relationship_to_HSP" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The discrete logarithm problem - relationship to HSP</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17d">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17d" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The discrete logarithm problem - relationship to HSP</h3>
<div
id="video_M3L17d"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17d/handler/transcript/translation/__lang__", "streams": "1.00:Ws3-oGAs27k", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17d/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17d/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17d/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17d"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box4x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box4x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_discrete_logarithm_problem_-_statement_and_reduction_to_HSP" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The discrete logarithm problem - statement and reduction to HSP</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17e">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17e" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The discrete logarithm problem - statement and reduction to HSP</h3>
<div
id="video_M3L17e"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17e/handler/transcript/translation/__lang__", "streams": "1.00:G_Xkhk_L9Wg", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17e/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17e/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17e/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17e"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box5x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box5x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@CQ_Discrete_log" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">CQ: Discrete log</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_Discrete_log">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_Discrete_log" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="problem" data-runtime-version="1" data-has-score="True" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_cq_M2L17_Discrete_log" class="problems-wrapper" role="group"
aria-labelledby="cq_M2L17_Discrete_log-problem-title"
data-problem-id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_Discrete_log" data-url="/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_Discrete_log/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="cq_M2L17_Discrete_log-problem-title" aria-describedby="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_Discrete_log-problem-progress" tabindex="-1">
Discrete log
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_Discrete_log-problem-progress"></div>
<div class="problem">
<div>
<p>
This is a concept question, provided to check your understanding of the previous lecture video clips. </p>
<p>
Which of the following are true? </p>
<p>
<div class="wrapper-problem-response" tabindex="-1" aria-label="Question 1" role="group"><div class="choicegroup capa_inputtype" id="inputtype_cq_M2L17_Discrete_log_2_1">
<fieldset aria-describedby="status_cq_M2L17_Discrete_log_2_1">
<div class="field">
<input type="checkbox" name="input_cq_M2L17_Discrete_log_2_1[]" id="input_cq_M2L17_Discrete_log_2_1_choice_0" class="field-input input-checkbox" value="choice_0"/><label id="cq_M2L17_Discrete_log_2_1-choice_0-label" for="input_cq_M2L17_Discrete_log_2_1_choice_0" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_Discrete_log_2_1">
<text>Discrete log can be solved using HSP on [mathjaxinline]\mathbb {Z}_ N \times \mathbb {Z}_ N[/mathjaxinline].</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_cq_M2L17_Discrete_log_2_1[]" id="input_cq_M2L17_Discrete_log_2_1_choice_1" class="field-input input-checkbox" value="choice_1"/><label id="cq_M2L17_Discrete_log_2_1-choice_1-label" for="input_cq_M2L17_Discrete_log_2_1_choice_1" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_Discrete_log_2_1">
<text>Discrete log is defined for an arbitrary group.</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_cq_M2L17_Discrete_log_2_1[]" id="input_cq_M2L17_Discrete_log_2_1_choice_2" class="field-input input-checkbox" value="choice_2"/><label id="cq_M2L17_Discrete_log_2_1-choice_2-label" for="input_cq_M2L17_Discrete_log_2_1_choice_2" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_Discrete_log_2_1">
<text>According to the definition we gave in class, the discrete log may have multiple solutions.</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_cq_M2L17_Discrete_log_2_1[]" id="input_cq_M2L17_Discrete_log_2_1_choice_3" class="field-input input-checkbox" value="choice_3"/><label id="cq_M2L17_Discrete_log_2_1-choice_3-label" for="input_cq_M2L17_Discrete_log_2_1_choice_3" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_Discrete_log_2_1">
<text>The algorithm for discrete log is under the oracle model category.</text>
</label>
</div>
<span id="answer_cq_M2L17_Discrete_log_2_1"/>
</fieldset>
<div class="indicator-container">
<span class="status unanswered" id="status_cq_M2L17_Discrete_log_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
</div>
</div></div>
</p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Discrete log" />
<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_cq_M2L17_Discrete_log" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_cq_M2L17_Discrete_log">
<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="cq_M2L17_Discrete_log-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="cq_M2L17_Discrete_log-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="cq_M2L17_Discrete_log-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.3x+2T2018+type@html+block@html_site_search_box1xxxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box1xxxx" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_statement" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - statement</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17f">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17f" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - statement</h3>
<div
id="video_M3L17f"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17f/handler/transcript/translation/__lang__", "streams": "1.00:AARd_X2MvwE", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17f/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17f/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17f/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17f"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box6x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box6x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_quantum_algorithm_idea" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - quantum algorithm idea</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17g">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17g" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - quantum algorithm idea</h3>
<div
id="video_M3L17g"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17g/handler/transcript/translation/__lang__", "streams": "1.00:rHhq8rLmClE", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17g/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17g/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17g/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17g"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box7x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box7x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_quantum_measurement" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - quantum measurement</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17h">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17h" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - quantum measurement</h3>
<div
id="video_M3L17h"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17h/handler/transcript/translation/__lang__", "streams": "1.00:NdPipxkDQRA", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17h/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17h/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17h/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17h"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box8x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box8x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_towards_the_gentle_measurement_lemma" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - towards the gentle measurement lemma</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17j">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17j" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - towards the gentle measurement lemma</h3>
<div
id="video_M3L17j"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17j/handler/transcript/translation/__lang__", "streams": "1.00:5pOjX3GYPFw", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17j/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17j/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17j/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17j"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box9x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box9x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_amplifying_correctness_probability" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - amplifying correctness probability</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17k">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17k" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - amplifying correctness probability</h3>
<div
id="video_M3L17k"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17k/handler/transcript/translation/__lang__", "streams": "1.00:4yjA2BRoAew", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17k/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17k/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17k/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17k"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box10x">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box10x" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_the_gentle_measurement_lemma" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - the gentle measurement lemma</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17m">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17m" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - the gentle measurement lemma</h3>
<div
id="video_M3L17m"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17m/handler/transcript/translation/__lang__", "streams": "1.00:lbv2MkPHPXE", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17m/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17m/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17m/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17m"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box11">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box11" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@CQ_Non-Abelian_HSP" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">CQ: Non-Abelian HSP</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_LB_Non-Abelian_HSP_RB">
<div class="xblock xblock-public_view xblock-public_view-problem xmodule_display xmodule_ProblemBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_LB_Non-Abelian_HSP_RB" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="problem" data-runtime-version="1" data-has-score="True" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Problem"}
</script>
<div id="problem_cq_M2L17_LB_Non-Abelian_HSP_RB" class="problems-wrapper" role="group"
aria-labelledby="cq_M2L17_LB_Non-Abelian_HSP_RB-problem-title"
data-problem-id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_LB_Non-Abelian_HSP_RB" data-url="/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_LB_Non-Abelian_HSP_RB/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="cq_M2L17_LB_Non-Abelian_HSP_RB-problem-title" aria-describedby="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_LB_Non-Abelian_HSP_RB-problem-progress" tabindex="-1">
Non-Abelian HSP
</h3>
<div class="problem-progress" id="block-v1:MITx+8.371.3x+2T2018+type@problem+block@cq_M2L17_LB_Non-Abelian_HSP_RB-problem-progress"></div>
<div class="problem">
<div>
<p>
This is a concept question, provided to check your understanding of the previous lecture video clips. </p>
<p>
Which of the following are true? </p>
<p>
<div class="wrapper-problem-response" tabindex="-1" aria-label="Question 1" role="group"><div class="choicegroup capa_inputtype" id="inputtype_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1">
<fieldset aria-describedby="status_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1">
<div class="field">
<input type="checkbox" name="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1[]" id="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_0" class="field-input input-checkbox" value="choice_0"/><label id="cq_M2L17_LB_Non-Abelian_HSP_RB_2_1-choice_0-label" for="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_0" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1">
<text>The gentle measurement lemma works well only when one measurement outcome is very likely to occur.</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1[]" id="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_1" class="field-input input-checkbox" value="choice_1"/><label id="cq_M2L17_LB_Non-Abelian_HSP_RB_2_1-choice_1-label" for="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_1" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1">
<text>The Heisenberg group involves triangular matrices.</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1[]" id="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_2" class="field-input input-checkbox" value="choice_2"/><label id="cq_M2L17_LB_Non-Abelian_HSP_RB_2_1-choice_2-label" for="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_2" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1">
<text>The gentle measurement lemma only works for projective measurements.</text>
</label>
</div>
<div class="field">
<input type="checkbox" name="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1[]" id="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_3" class="field-input input-checkbox" value="choice_3"/><label id="cq_M2L17_LB_Non-Abelian_HSP_RB_2_1-choice_3-label" for="input_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1_choice_3" class="response-label field-label label-inline" aria-describedby="status_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1">
<text>The dihedral group is Abelian.</text>
</label>
</div>
<span id="answer_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1"/>
</fieldset>
<div class="indicator-container">
<span class="status unanswered" id="status_cq_M2L17_LB_Non-Abelian_HSP_RB_2_1" data-tooltip="Not yet answered.">
<span class="sr">unanswered</span><span class="status-icon" aria-hidden="true"/>
</span>
</div>
</div></div>
</p>
</div>
<div class="action">
<input type="hidden" name="problem_id" value="Non-Abelian HSP" />
<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_cq_M2L17_LB_Non-Abelian_HSP_RB" >
<span class="submit-label">Submit</span>
</button>
<div class="submission-feedback" id="submission_feedback_cq_M2L17_LB_Non-Abelian_HSP_RB">
<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="cq_M2L17_LB_Non-Abelian_HSP_RB-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="cq_M2L17_LB_Non-Abelian_HSP_RB-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="cq_M2L17_LB_Non-Abelian_HSP_RB-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.3x+2T2018+type@html+block@html_site_search_box2xxxx">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@html_site_search_box2xxxx" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_hidden_subgroup_problem_-_quantum_algorithm_and_query_complexity" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian hidden subgroup problem - quantum algorithm and query complexity</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17n">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17n" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian hidden subgroup problem - quantum algorithm and query complexity</h3>
<div
id="video_M3L17n"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17n/handler/transcript/translation/__lang__", "streams": "1.00:l56Rt6DTfZE", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17n/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17n/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17n/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17n"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@site_search_box12">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@site_search_box12" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@The_non-Abelian_HSP_-_fast_quantum_algorithms_for_Heisenberg_and_dihedral_groups" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">The non-Abelian HSP - fast quantum algorithms for Heisenberg and dihedral groups</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17o">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17o" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">The non-Abelian HSP - fast quantum algorithms for Heisenberg and dihedral groups</h3>
<div
id="video_M3L17o"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17o/handler/transcript/translation/__lang__", "streams": "1.00:833zl3pgGJY", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17o/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17o/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17o/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17o"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@site_search_box13">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@site_search_box13" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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-init="VerticalStudentView" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@vertical+block@Application_of_the_dihedral_group_HSP_-_the_hidden_shift_problem" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="vertical" data-runtime-version="1" data-has-score="False" data-graded="True">
<h2 class="hd hd-2 unit-title">Application of the dihedral group HSP - the hidden shift problem</h2>
<div class="vert-mod">
<div class="vert vert-0" data-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17p">
<div class="xblock xblock-public_view xblock-public_view-video xmodule_display xmodule_VideoBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17p" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="video" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "Video"}
</script>
<h3 class="hd hd-2">Application of the dihedral group HSP - the hidden shift problem</h3>
<div
id="video_M3L17p"
class="video closed"
data-metadata='{"poster": null, "transcriptTranslationUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17p/handler/transcript/translation/__lang__", "streams": "1.00:YkD6dqGQcPQ", "showCaptions": "true", "start": 0.0, "lmsRootURL": "https://openlearninglibrary.mit.edu", "transcriptAvailableTranslationsUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17p/handler/transcript/available_translations", "autoAdvance": false, "ytTestTimeout": 1500, "transcriptLanguages": {"en": "English"}, "transcriptLanguage": "en", "saveStateUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17p/handler/xmodule_handler/save_user_state", "ytMetadataEndpoint": "", "recordedYoutubeIsAvailable": true, "ytApiUrl": "https://www.youtube.com/iframe_api", "autohideHtml5": false, "autoplay": false, "publishCompletionUrl": "/courses/course-v1:MITx+8.371.3x+2T2018/xblock/block-v1:MITx+8.371.3x+2T2018+type@video+block@M3L17p/handler/publish_completion", "duration": 0.0, "completionPercentage": 0.95, "captionDataDir": null, "speed": null, "completionEnabled": false, "generalSpeed": 1.0, "prioritizeHls": false, "saveStateEnabled": false, "savedVideoPosition": 0.0, "end": 0.0, "sources": []}'
data-bumper-metadata='null'
data-autoadvance-enabled="False"
data-poster='null'
tabindex="-1"
>
<div class="focus_grabber first"></div>
<div class="tc-wrapper">
<div class="video-wrapper">
<span tabindex="0" class="spinner" aria-hidden="false" aria-label="Loading video player"></span>
<span tabindex="-1" class="btn-play fa fa-youtube-play fa-2x is-hidden" aria-hidden="true" aria-label="Play video"></span>
<div class="video-player-pre"></div>
<div class="video-player">
<div id="M3L17p"></div>
<h4 class="hd hd-4 video-error is-hidden">No playable video sources found.</h4>
<h4 class="hd hd-4 video-hls-error is-hidden">
Your browser does not support this video format. Try using a different browser.
</h4>
</div>
<div class="video-player-post"></div>
<div class="closed-captions"></div>
<div class="video-controls is-hidden">
<div>
<div class="vcr"><div class="vidtime">0:00 / 0:00</div></div>
<div class="secondary-controls"></div>
</div>
</div>
</div>
</div>
<div class="focus_grabber last"></div>
</div>
</div>
</div>
<div class="vert vert-1" data-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@site_search_box14">
<div class="xblock xblock-public_view xblock-public_view-html xmodule_display xmodule_HtmlBlock" data-init="XBlockToXModuleShim" data-usage-id="block-v1:MITx+8.371.3x+2T2018+type@html+block@site_search_box14" data-runtime-class="LmsRuntime" data-course-id="course-v1:MITx+8.371.3x+2T2018" data-request-token="c20bee58886211ef879a0affec87671b" data-block-type="html" data-runtime-version="1" data-has-score="False" data-graded="True">
<script type="json/xblock-args" class="xblock-json-init-args">
{"xmodule-type": "HTMLModule"}
</script>
<span><a href="/asset-v1:MITx+8.371.3x+2T2018+type@asset+block/NONE" id="dummy_course_static_link" style="display:none"/><a href="/courses/course-v1:MITx+8.371.3x+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.3x+2T2018/" + cid + "/courseware/welcome/Search_this_course/";
search_module_url = "/courses/course-v1:MITx+8.371.3x+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