当前位置:首页 >期刊论文 >《最新论文》>正文

谷歌公司新型芯片可提升量子纠错能力

 2024/12/12 9:59:14 《最新论文》 作者:bet36体育在线:科学报 冯维维 我有话说(0人评论) 字体大小:+

美国加州山景城谷歌研究公司开发的谷歌量子AI,其最新一代量子芯片能实现将错误抑制在一个关键阈值以下的量子纠错功能,这被认为是实现未来量子计算实际应用的必要条件。该芯片的性能扩展后或能推动大规模容错量子计算的运算要求。相关研究12月10日发表于《自然》。

量子计算有潜力在特定任务上加速计算速度并超越经典计算机的能力。不过,量子计算机很容易出错,所以当前的原型机无法运行足够长的时间以实现实际输出。量子计算研究人员为此设计的解决策略依赖量子纠错,即将信息分布到许多量子比特(量子信息的单位,类似于经典计算机的比特)上,能在不破坏计算的情况下识别和补偿错误。量子纠错需要的量子比特开销可能会引入比它能纠正的更多的错误。因此,实现“低于阈值”的运算一直存在挑战——未纠错率要低于一个关键值,这样才能按预期纠错并指数级地抑制错误。

谷歌研究公司的Hartmut Neven和合作者报道了名为“柳”(Willow)的最新一代超导量子处理芯片架构,该芯片能实现低于表面码关键阈值的量子纠错——表面码是一种特定的量子纠错技术。他们的系统能在数小时内运行最多100万个周期,同时实时解码错误并维持表现。研究者在一个72量子比特的处理器和一个105量子比特的处理器上运行了表面码。每次码距从3增加到5再到7,逻辑错误率减半。这种对逻辑错误的潜在抑制为运行有纠错的大规模量子算法奠定了基础。(来源:bet36体育在线:科学报 冯维维)

相关论文信息:https://doi.org/10.1038/s41586-024-08449-y

版权声明:本文转载仅仅是出于传播信息的需要,并不意味着代表本网站观点或证实其内容的真实性;如其他媒体、网站或个人从本网站转载使用,须保留本网站注明的“来源”,并自负版权等法律责任;作者如果不希望被转载或者联系转载稿费等事宜,请与我们接洽。
element block and removes // previous instances of the identical script. var found = false; for (var child = 0; child < head.childNodes.length; child++) { var control = head.childNodes[child]; if (typeof(control.tagName) == "string") { if (control.tagName.toUpperCase() == "SCRIPT") { if (script.src.length > 0) { if (script.src == control.src) { found = true; break; } } else if (script.innerHTML.length > 0) { if (script.innerHTML == control.innerHTML) { found = true; break; } } } } } if (found) { head.removeChild(control); } var scriptAddedToHead = false; if (typeof script.readyState != "undefined" && !window.opera) { script.onreadystatechange = function() { if (script.readyState != "complete" && script.readyState != "loaded") { return; } else { Anthem_LoadPageScript(result, index + 1); } } } else { if (isExternalScript) // if it's an external script, only execute the next script when the previous one is loaded. { script.onload = function() { Anthem_LoadPageScript(result, index + 1); } } else // I didn't find a way for script blocks to fire some onload event. So in this case directly call the Anthem_LoadPageScript for the next script. { document.getElementsByTagName('head')[0].appendChild(script); scriptAddedToHead = true; Anthem_LoadPageScript(result, index + 1); } } // Now we append the new script and move on to the next script. // Note that this is a recursive function. It stops when the // index grows larger than the number of scripts. if (!scriptAddedToHead) document.getElementsByTagName('head')[0].appendChild(script); } } catch (e) { Anthem_DebugError("Error adding page script to head. " + e.name + ": " + e.message); } } } function Anthem_EvalClientSideScript(result) { if (result.script) { for (var i = 0; i < result.script.length; ++i) { try { eval(result.script[i]); } catch (e) { alert("Error evaluating client-side script!\n\nScript: " + result.script[i] + "\n\nException: " + e); } } } } //Fix for bug #1429412, "Reponse callback returns previous response after file push". //see http://sourceforge.net/tracker/index.php?func=detail&aid=1429412&group_id=151897&atid=782464 function Anthem_Clear__EVENTTARGET() { var form = Anthem_GetForm(); Anthem_SetHiddenInputValue(form, "__EVENTTARGET", ""); } function Anthem_InvokePageMethod(methodName, args, clientCallBack, clientCallBackArg) { Anthem_Clear__EVENTTARGET(); // fix for bug #1429412 return Anthem_CallBack(null, "Page", null, methodName, args, clientCallBack, clientCallBackArg, true, true); } function Anthem_InvokeMasterPageMethod(methodName, args, clientCallBack, clientCallBackArg) { Anthem_Clear__EVENTTARGET(); // fix for bug #1429412 return Anthem_CallBack(null, "MasterPage", null, methodName, args, clientCallBack, clientCallBackArg, true, true); } function Anthem_InvokeControlMethod(id, methodName, args, clientCallBack, clientCallBackArg) { Anthem_Clear__EVENTTARGET(); // fix for bug #1429412 return Anthem_CallBack(null, "Control", id, methodName, args, clientCallBack, clientCallBackArg, true, true); } function Anthem_PreProcessCallBack( control, e, eventTarget, causesValidation, validationGroup, imageUrlDuringCallBack, textDuringCallBack, enabledDuringCallBack, preCallBackFunction, callBackCancelledFunction, preProcessOut ) { var valid = true; if