- 博客(66)
- 资源 (15)
- 收藏
- 关注
翻译 Q_04_05 使用Qubits
使用Qubits 现在已经看到了Q#语言的各种不同部分,让我们深入了解它,并了解如何使用量子比特本身。 分配Qubits 首先,为了获得我们可以在Q#中使用的量子比特,我们在一个using块中分配量子比特: Q# using (register = Qubit[5]) { // Do stuff...} 以这种方式分配的任何量子位都以 状态开始; 在上面的例子中, register...
2018-05-08 14:20:14
511
翻译 Q_04_04 Q#类型模型
Q#类型模型 在讨论如何定义Q#操作和函数时,我们已经看到来自可调参数的输入和输出每个都与它们的类型一起表示。 在这一点上,退一步讨论这些类型会更有帮助。 特别是,我们注意到Q#是一种强类型语言,因此仔细使用这些类型可以帮助编译器在编译时提供有关Q#程序的强大保证。 警告 为了提供最强有力的保证,Q#中的类型之间的转换必须通过调用表示该转换的函数来显式进行。 作为Microsoft.Quant...
2018-05-08 14:19:59
257
原创 UGUI_My02_ 摇杆_实现原理与实现策略--(最最最简单的控制摇杆实现方法)
知识从上一篇接入[策略思路]: 1.声明一个isPress Bool 类型记录“手柄”的长按状态,在手柄”按下时isPress设为true,并InvokeRepeating,一个你需要实现的功能方法,手柄”抬起时isPress设为false,并利用isPress状态进行(实现的功能方法)的排错。 2.利用手柄按下与抬起的矢量向量进行位移,并在抬起时复位 3.将摇杆的手柄的背景组件...
2018-05-08 14:17:05
1061
翻译 Q_04_03 局部变量
局部变量 通过使用let关键字,可以将Q#中的任何类型的值分配给变量,以便在操作或函数内重用。 例如: Q# let measurementOperator = [PauliX; PauliZ; PauliZ; PauliX; PauliI]; 这将Pauli运算符的特定数组分配给称为measurementOperator变量。 小费 请注意,我们不需要明确指定新变量的类型,因为let语句右...
2018-05-07 13:14:15
440
翻译 Q_04_02 操作和功能
操作和功能 Q#程序由一个或多个操作组成,这些操作描述量子操作对量子数据可能产生的副作用以及一个或多个允许修改经典数据的功能。 与操作相比,函数用于描述纯粹的经典行为,除了计算经典输出值之外,没有任何效果。 然后,Q#中定义的每个操作都可以调用任意数量的其他操作,包括由该语言定义的内置基本操作。 这些基本操作的具体定义取决于目标机器。 编译时,每个操作都表示为可以提供给目标计算机的.NET类类型...
2018-05-07 13:14:04
240
翻译 Q_04_01 什么是Q#?
什么是Q#? Q#是用于量子计算的可扩展的多范式特定领域编程语言。 Q#是一种量子编程语言,它可以用来描述如何在量子机器上执行指令。 可以定位的机器包括许多不同的抽象层次,从各种模拟器到实际的量子硬件。 Q#是多范式的,因为它支持功能和命令式编程风格。 Q#具有可扩展性,因为它允许编写程序到各种尺寸的机器,范围从仅有几百个量子位的小型机器到具有数百万个量子位的大型机器。 尽管大型物理机器可能...
2018-05-07 13:13:55
2889
翻译 Q_04_00 量子发展技术
量子发展技术 本节详细介绍用于在Q#中创建量子程序的核心概念,以及与来自传统.NET应用程序的那些程序进行交互。 本节假设量子计算概念中描述的那些量子计算概念的一些知识。...
2018-05-07 13:13:45
219
翻译 Q_03_03_05 宽度计数器
宽度计数器 Width Counter计算每个操作分配和借用的量子位数。 所有来自Microsoft.Quantum.Primitive命名空间的操作都是以单量子位旋转,T门,单量子位Clifford门,CNOT门以及多量子位Pauli可观测量的量度来表示的。 一些原始操作可以分配额外的量子位。 例如,乘法控制的X门或受控的T门。 让我们计算实现一个乘法控制的X门所分配的额外量子比特的数量: Q#...
2018-05-07 13:13:33
246
翻译 Q_03_03_04 原始操作计数器
原始操作计数器 原子Primitive Operations Counter是量子计算机Trace Simulator的一部分 。 它计算在量子程序中调用的每个操作使用的原始执行次数。 Microsoft.Quantum.Primitive所有操作均以单量子位旋转,T门,单量子位Clifford门,CNOT门以及多量子位泡利可观测量的量度表示。 收集的统计数据汇总在操作调用图的边缘。 现在让我们...
2018-05-07 13:13:20
248
翻译 Q_03_03_03 无效的Qubits使用检查器
无效的Qubits使用检查器 Invalidated Qubits Use Checker是量子计算机Trace Simulator的一部分,用于检测代码中的潜在错误。 考虑下面的一段Q#代码来说明由Invalidated Qubits Use Checker检测到的问题。 Q# operation UseReleasedQubitTest () : () { body { ...
2018-05-07 13:13:08
216
翻译 Q_03_03_02 不同的输入检查器
不同的输入检查器 Distinct Inputs Checker是量子计算机Trace Simulator的一部分 。 它旨在检测代码中的潜在错误。 考虑下面的一段Q#代码来说明这个包检测到的问题: Q# operation DoBoth( q1 : Qubit, q2 : Qubit, op1 : (Qubit=>()), op2 : (Qubit=>()) ) : () { ...
2018-05-07 13:12:48
200
翻译 Q_03_03_01 深度计数器
深度计数器 Depth Counter是量子计算机Trace Simulator的一部分 。 它用于收集量子程序中调用的每个操作的深度计数。 Microsoft.Quantum.Primitive所有操作均以单量子位旋转,T门,单量子位Clifford门,CNOT门以及多量子位泡利可观测量的量度表示。 用户可以设置每个基本操作的深度。 默认情况下,除深度为1的T门以外,所有操作的深度均为0。这...
2018-05-07 13:12:39
322
翻译 Q_03_03 量子轨迹模拟器
量子轨迹模拟器 微软量子计算机轨迹模拟器在没有实际模拟量子计算机状态的情况下执行量子程序。 由于这个原因,轨迹模拟器可以执行使用数千个量子位的量子程序。 它有两个主要用途: 调试作为量子程序一部分的经典代码。 估算在量子计算机上运行量子程序的给定实例所需的资源。 当必须执行测量时,跟踪模拟器依赖用户提供的附加信息。 有关详情,请参见章节提供测量结果的可能性 。 提供测量结果的可能性 量子...
2018-05-07 13:12:27
293
翻译 Q_03_02 Quantum开发套件全状态模拟器
Quantum开发套件全状态模拟器 量子开发套件提供了一个完整的量子模拟器,类似于微软研究院的LIQUi|> 。 这个模拟器可以用来执行和调试你的计算机上用Q#编写的量子算法。 这个量子模拟器通过QuantumSimulator类暴露出来。 要使用模拟器,只需创建该类的一个实例并将其传递给您想要执行的量子操作的Run方法以及其余参数: C# using (var sim = new...
2018-05-06 19:53:43
300
翻译 Q_03_01 经典驱动和机器
你会学到什么 量子算法如何执行 量子模拟器包含在这个版本中 如何为您的量子算法编写C#驱动程序 Quantum开发工具包执行模型 在编写量子程序时 ,我们通过将QuantumSimulator对象传递给算法类的Run方法来执行量子算法。 QuantumSimulator类通过完全模拟量子状态向量来执行量子算法,它非常适合运行和测试Teleport 。 有关量子状态矢量的更多信息,请参...
2018-05-06 19:53:36
179
翻译 Q_02_02 Writing a Quantum Program
你会学到什么 如何在Visual Studio中设置量子解决方案和项目 Q#操作的组件 如何从C#调用Q#操作 如何构建和执行您的量子算法 在Q#中创建一个钟状态 现在您已经安装了Microsoft Quantum Development Kit,并了解了它的工作原理,我们来编写您的第一个量子应用程序。 我们将从最简单的程序开始,并将其构建起来以展示量子叠加和量子纠缠。 我们将从基础...
2018-05-06 19:53:29
233
翻译 Q_02_01 安装和验证Q#开发环境
安装和验证Q#开发环境 必需的先决条件 Windows,MacOS或Linux的64位安装。 (Microsoft Quantum Development Kit已经在Ubuntu Linux下进行了测试,但可能适用于其他发行版)。 .NET Core SDK 2.0或更高版本。 可选的先决条件 .NET Core支持的开发环境: 对于Windows:我们推荐Visual Stu...
2018-05-06 19:53:19
292
翻译 Q_01_06 狄拉克符号
狄拉克符号 虽然列矢量符号在线性代数中无处不在,但量子计算通常很麻烦,特别是在处理多个量子比特时。 例如,当我们将 定义为一个向量时,它并不清楚 是一个行还是一个列向量。 因此,如果 和 是向量,那么同样不清楚 是否被定义,因为 和 的形状在上下文中可能不清楚。 除了关于矢量形状的模糊性之外,使用之前介绍的线性代数符号表达甚至简单的矢量可能非常麻烦。 例如,如果我们想描述一个n -qubit状态,...
2018-05-06 19:52:53
5419
1
翻译 Q_01_05 多个量子比特
多个Qubits 虽然单量子比特门具有一些反直觉特征,例如在给定时间处于多于一种状态的能力,如果我们在量子计算机中所有的都是单量子比特门,那么我们将具有计算能力的设备即使是一台计算器,更不用说一台经典的超级计算机了。 量子计算的真正能力只有在我们增加量子比特时才变得可见。 这种能力的产生部分是因为量子态矢量随量子比特数呈指数增长的向量空间的维数。 这意味着虽然单个量子位可以进行简单模拟,但模拟一...
2018-05-06 19:52:40
4027
翻译 Q_01_04 量子比特
量子比特正如比特是经典计算中信息的基本对象, 量子比特 (量子比特)是量子计算中信息的基本对象。 为了理解这种对应关系,我们来看一个最简单的例子:一个量子位。 代表一个量子比特 虽然一位或二进制数字可以具有0或1的值,但量子位可以具有这些值中的任何一个或者是0和1的量子叠加。 单个量子位的状态可以用单位范数的二维列向量来描述,也就是说,其条目的幅度平方必须总和为1。 这个向量称为量子态矢量,它拥有...
2018-05-06 19:52:33
2337
翻译 Q_01_03 高级矩阵概念
高级矩阵概念我们现在将我们对矩阵的操纵扩展到特征值,特征向量和指数,它们构成了我们需要描述和实现量子算法的基本工具。特征值和特征向量设M是一个方形矩阵,v是一个不是全零向量的向量(即所有入口等于0的向量)。 我们说v是M的一个特征向量 ,如果Mv=cv对于某些数字c 。 我们说c是对应于特征向量v的特征值。 一般来说,一个矩阵M可能将一个向量转换为任何其他向量,但是一个特征向量是特殊的,因为除了乘...
2018-05-06 19:52:25
567
翻译 Q_01_02 向量和矩阵
对矢量和矩阵的一些熟悉对于理解量子计算至关重要。 我们在下面简要介绍一下,感兴趣的读者推荐阅读线性代数的标准参考文献,如Strang,G。(1993)。 线性代数导论(第3卷)。 威尔斯利,马萨诸塞州:韦尔斯利 - 剑桥出版社或线性代数等在线参考文献。 维度(或大小)n的列向量(或简单的向量)v是排列为列的n复数(v1,v2, ...,vn)的集合:矢量v的范数定义为 。 如果一个向量的范数...
2018-05-06 19:52:15
322
翻译 Q_01_01 什么是量子计算?
在过去的几年里出现了许多新的计算机技术,量子计算可以说是需要开发人员最大范式转变的技术。 量子计算机是在20世纪80年代Richard Feynman和Yuri Manin提出的。 量子计算背后的直觉源于经常被看作是物理学中最令人尴尬的事情之一:即使是简单的系统也无法建模,所以科学进步非常显着。 你看,量子力学是在1900年到1925年间发展起来的,它仍然是化学,凝聚态物理学和从计算机芯片到LED...
2018-05-06 19:52:00
430
原创 UGUI_My01_ Button 长按事件_实现原理与实现策略
因为Unity3d的UGUI只提供了OnClick的方法接口但并不意味之UGUI的Button的长按事件无法实现。Unity3d的设计提前就为我们提供了预留的Button接口,所以我们只需要去继承相应的接口就可以扩展原有Button的响应事件。查看官方的Button设计发现其实现了四个管理者接口,并且其字如其义,在看Button的父类我们就会恍然大悟了!哈哈是不是突然就明白了!这不是Butto...
2018-03-27 00:02:08
2323
原创 C++ const的含义--代码说明
/** C++ const的含义* 2017.11.2* MOV**/#includeusing namespace std;class teacher{public: void print()const{ //a =11; //错误const成员函数不能调用非const成员(numt
2017-11-02 21:43:24
414
转载 unity3d 怎么把鼠标坐标转成世界坐标
第一种:这是一种发射线,获取当前点击的物体(具有碰撞器)的坐标点(也就是碰撞器范围的坐标点)if (Input.GetMouseButtonDown(0)){RaycastHit hitt = new RaycastHit();Ray ray =Camera.main.ScreenPointToRay(Input.mousePosition);Physics.Raycast(ray
2017-10-26 09:33:39
8138
Precompiled Binaries for Windows
2018-05-28
iTween帮助文档中英翻译
2018-07-24
Unity_简单2D锁链+锁链延伸(detent.unitypackage)
2020-05-03
Unity 边缘高亮插件,测试OK版本5.5|5.6|2017
2018-10-05
AStarFindPath.zip
2020-05-09
GetSingChar.exe
2019-08-09
在线游戏互动性理论
2019-01-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅