Microsoft加入量子计算的竞争

Microsoft在Ignite大会上宣布了自己的量子计算新平台的预览版,并公开了借助近期粒子物理学方面的进展推出拓扑量子计算机的计划。

Microsoft的量子计算平台预览版将包括一个量子计算模拟器,以及一种集成在Visual Studio中的量子计算编程新语言。据Microsoft介绍,该平台的拓扑量子比特计算执行时间更长、一致性更好并且误差更小。

在Microsoft的量子计算愿景中,还包括了一个可扩展的通用拓扑量子计算机,该计算机依然处于开发的早期阶段。Microsoft的CEO Satya Nadella通过一个虚拟研讨会,深入阐明了Microsoft对量子计算的规划。研讨会的参与者是四位来自于Microsfot量子团队的成员,分别是计算机科学家Krysta Svore、数学家和拓扑量子计算先驱Michael Freedman、物理学家Charlie Marcus和Leo Kouwenhoven,他们负责构建Microsoft的拓扑量子计算机。

拓扑量子比特是支撑Microsoft量子计算机的主要理念,据Freedman介绍,它是由一种新形物质构成的。该拓扑物质所存储的信息并非本地化于一个特定的位置,而是全局存在在整个拓扑结构中。这一属性的理念可以用一个绳圈解释。绳圈上可以打结,也可以不打结。要了解绳圈上是否打结了,我们不能借助于查看绳圈的任何本地属性,而是必须要查看其整体形态,即绳圈的拓扑。

该属性背后的物理现象是电子分数化(Electron Fractionalization)。分数化是一个分解电子的过程,表现为马约拉纳费米子(Majorana Fermions)是否存在于给定地点。马约拉纳费米子中编码了电子的原始信息,并扩展到整个物质中,构成物质的全局属性。Kouwenhoven是2012年首次发现马约拉纳粒子的研究人员之一,据他介绍,马约拉纳粒子只能在非常低温的情况下观测到。它们是两个同步状态的量子叠加,一个状态是粒子存在,另一个状态是粒子不存在。全局存储信息的主要优点是防止出现本地误差。

要构建一个真正的拓扑量子计算机,一个基础步骤是让这些分数化的电子依此产生链式影响。这正是Microsoft量子芯片的基础部分,对此Marcus展示了一个原型。其中的一个挑战是找到一种能控制这种作用的方式,该方式无需测定作用过程,因为测定会破坏叠加效应。Microsoft的解决方案是基于一种工作于4K温度的低温经典计算机(Cryogenic Classical Computer),它负责控制工作于0.01K温度的量子芯片。

据Svore介绍,在低温计算机上部署了Microsoft的软件栈,其中包括了一种领域特定语言,该语言是专门为编程可扩展的量子计算机和构建量子应用而设计的。下面的代码使用Microsoft的新量子语言编写,相当于实现“Hello World!”:

operation () EPR (Qubit q1, Qubit q2) {Body {H (q1)CNOT (q1, q2)}
}
operation () Teleport (Qubit msg, Qubit here, Qubit there) {Body {EPR (here, there)CNOT (msg, here)H (msg)let m_here = H (here)if (m_here == One) {X (there)}let m_msg = H (msg)if (m_msg == One) {Z (there)}}
}
operation (Result) TeleportTest (Result msg) {Body {mutable res = Zerousing (qubits = Qubit[3]) {let msgQ = qubits[0]// 将msgQ设置为消息状态。SetQubit(msg, msgQ)Teleport (msgQ, qubits[1], qubits[2])set res = H (qubits[2])}return res}
}

新语言将完全地集成到Visual Studio中,并支持语法高亮、调试和测试。调试器将会显示系统量子状态随时间的演化情况。Visual Studio还将提供一个可具有多至30个量子比特的量子模拟器。此外,Microsoft还将提供更强大的基于Azure的模拟器,可提供多至40个量子比特。

近些年,我们已看到对量子计算领域的兴趣与日俱增,Microsoft并非这一竞技场上的首位选手。其中最应关注的是,近期IBM发布了它的16个量子比特处理器,以及称为“QISKit”的量子SDK。此外,中国的研究人员也给出了里程碑式的重要研究成果。

Microsoft量子计算平台预览版有望于今年末发布。

原文地址:http://www.infoq.com/cn/news/2017/10/microsoft-quantum-platform


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Window系统多硬盘设置新引导盘

一、系统启动过程 电脑通电后,首先是启动BIOS程序,BIOS自检完毕后,找到硬盘上的主引导记录MBR,MBR读取DPT(分区表),从中找出活动的主分区,然后读取活动主分区的PBR(分区引…

【Java】jdk和eclipse下载安装

(以前忘了写这方面的安装) 附一段测试java环境的代码 public class hello {public static void main(String[] args) {System.out.println("Hello World dsadasdaSasdasd");} }jdk安装: 这里我采用不同方式 直接360软件管家搜索jd…

C++描述杭电OJ 2010.水仙花数 ||

C描述杭电OJ 2010.水仙花数 || Problem Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如…

使用BigQuery分析GitHub上的C#代码

一年多以前,Google 在GitHub中提供了BigQuery用于查询的GitHub上的开源代码(open source code on GitHub available for querying),如果这还不够,您可以免费每月运行1TB的查询! 所以在这篇文章中&#xff0…

NOIP2018普及组复赛解析

T1:标题统计 题目大意 输入一个字符串&#xff0c;求字符串除了空格的字符个数 解题思路 这种考你会不会编程的题不会&#xff1f; code #include<cstdio> #include<string> #include<iostream> using namespace std; int ans; string c; int main() {get…

Shell变量的初始值赋值

转载自 Shell变量的初始值赋值 通常在shell中&#xff0c;在变量值为空的时候我们要为变量设置一个默认值&#xff0c;避免在脚本运行的过程中报错&#xff0c;这就是变量的初始值赋值。 通常比较简洁的有以下两种&#xff0c;都能对一个变量赋予一个初始值&#xff0c; ${va…

【博客】博客转移

最近一直在搞博客&#xff0c;随着博客基本转移到wordpress&#xff0c;总算是告一段落。 我通过各种博客搬家的方式都没能把博客转移到wordpress上&#xff0c;后来实在没办法&#xff0c;强行Gutenberg编辑器&#xff0c;一个一个复制粘贴到自己博客上面&#xff0c;总算是实…

AspectCore中的IoC容器和依赖注入

IOC模式和依赖注入是近年来非常流行的一种模式&#xff0c;相信大家都不陌生了&#xff0c;在Asp.Net Core中提供了依赖注入作为内置的基础设施&#xff0c;如果仍不熟悉依赖注入的读者&#xff0c;可以看看由我们翻译的Asp.Net Core中文文档中依赖注入的相关章节: ASP.NET Cor…

[编程入门]阶乘求和:求Sn=1!+2!+3!+4!+5!+…+n!之值,其中n是一个数字(n不超过20)。

【题目描述】求Sn1!2!3!4!5!…n!之值&#xff0c;其中n是一个数字(n不超过20)。#include<iostream> using namespace std;void fun(int n) {long long sn0,s1;for(int i1;i<n;i){for(int j1;j<i;j){s*j;}sns;s1;}cout<<sn<<endl; }int main() {int n;c…

bzoj1791,P4381-[IOI2008]Island【基环树,树形dp,单调队列dp,树的直径】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP4381 题目大意 有n个岛&#xff0c;n条无向边(保证每个岛都有边连到)。走过的路和岛不可以重走&#xff0c;可以坐船。 坐船要求之前没有任何使用过的船加上道路可以到达那个点才可以坐船。 求最长可…

【总结】找到自适合的学习方法

通过高中与大学的比较 我发现自己大学学的东西要比高中多很多&#xff0c;也要更加的充实。 说白了&#xff0c;其实我认为就是自己擅长与不擅长的学习方式罢了。 1、我更喜欢那种自由轻松一点的学习环境&#xff0c;高中把我压得太紧了&#xff08;老师喜欢提问&#xff09…

HttpClient的性能隐患

最近在进行开发过程中&#xff0c;基于都是接口开发&#xff0c;A站接口访问B接口接口来请求数据&#xff0c;而在这个过程中我们使用的是HttpClient这个框架&#xff0c;当然也是微软自己的框架&#xff0c;性能当前没有问题&#xff0c;但如果你直接使用官方的写法&#xff0…

P5022-旅行【基环树,dfs】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP5022 题目大意 一棵树(可能是基环树)&#xff0c;从1出发&#xff0c;每到达一个新的点就记录下编号。求一种走法使得记录下来的编号字典序最小。 解题思路 我们先不考虑基环树。我们可以发现每次走…

【填坑】博客搬家造成的博客重复问题

原本我的博客数量是差不多八十几篇&#xff0c;昨天晚上一看&#xff0c;怎么变成一百三十多篇了。 惊讶之余有点不可思议&#xff0c;查了才发现原来有几十篇是重复的&#xff0c;后来删掉了一些&#xff0c;但还是有很多 有些也不是重复的&#xff0c;我从知乎发的东西也被搬…

[编程入门]猴子吃桃的问题

猴子吃桃问题。猴子第一天摘下若干个桃子&#xff0c;当即吃了一半&#xff0c;还不过瘾&#xff0c;又多吃了一个。 第二天早上又将剩下的桃子吃掉一半&#xff0c;又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。 到第N天早上想再吃时&#xff0c;见只剩下一个桃子了…

Javafx的WebEgine执行window对象设置属性后为undefined

一、场景复现 window10 jdk1.8u221 package main;import javafx.application.Application; import javafx.beans.value.ObservableValue; import javafx.concurrent.Worker; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.Sta…

P4168-[Violet]蒲公英【分块】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP4168 题目大意 询问区间众数 解题思路 将数字离散化&#xff0c;然后分块。对于数组vi,j,kv_{i,j,k}vi,j,k​&#xff0c;表示i∼ji\sim ji∼j个块&#xff0c;kkk的个数。对于询问(l,r)(l,r)(l,r)&…

使用acs-engine在Azure中国区部署kubernetes集群详解

1. acs-engine简介 ACS是微软在2015年12月推出的一项基于容器的云端PaaS服务。说简单点&#xff0c;acs-engine就是一个ARM模板生成器&#xff0c;用户只需要配置几个简单的参数来描述容器集群的规格&#xff0c;然后acs-engine将这个容器集群描述文件转化成一组ARM&#xff08…

C++描述杭电OJ 2011.多项式求和 ||

C描述杭电OJ 2011.多项式求和 || Problem Description 多项式的描述如下&#xff1a; 1 - 1/2 1/3 - 1/4 1/5 - 1/6 … 现在请你求出该多项式的前n项的和。 Input 输入数据由2行组成&#xff0c;首先是一个正整数m&#xff08;m<100&#xff09;&#xff0c;表示测试实…

【Java】continue和break区别

先总结下&#xff1a;break先跳出整个大的循环&#xff0c;而continue跳出的是相对小的循环 也就是说他们的区别核心在于循环的大小 就举个例子吧&#xff0c;用for循环从一数到十&#xff0c;到五用上break和continue的区别 用break&#xff1a; public class test_01 { pu…