Microsoft Q#.Net框架是否兼容?

时间:2018-02-15 18:54:41

标签: c# .net quantum-computing q#

Q#是微软致力于执行量子计算的一种有趣的新语言。

是否可以编译为可以从c#或任何其他.net语言引用的.net库.Net Framework和/或.Net Core Framework(可能是.Net标准)?

如果没有,那么如何将其纳入经典应用程序?

如果可能那么量子计算机会是什么样的?它是否允许运行完整的.net架构和量子作为协处理器(某种程度上像GPU编程)或者它看起来如何工作?

2 个答案:

答案 0 :(得分:3)

是的,Q#甚至被转换为C#,然后编译为常规.Net程序集。

您可以通过(安装开发工具包之后)运行本教程来验证这一点:https://docs.microsoft.com/en-us/quantum/quantum-writeaquantumprogram。 Q#和C#代码可以在同一个项目中共存(目前)。 Q#文件转换为.qs.cs文件(位于obj\qsharp\src文件夹下)。

答案 1 :(得分:1)

是的,Q#与.NET框架完全兼容。

当前,Q#操作(类似于经典功能)在Microsoft Quantum Simulator中运行,其API仅适用于C#,也可能适用于F#。当前,Q#非常依赖C#,因为您需要C#驱动程序来执行Q#操作。没有其他语言的Quantum Simulator API。

dotnet new console -lang Q# --output Bell

.NET CLI工具还具有从Q#模板生成项目的选项,并且Q#项目看起来与任何其他典型的.NET项目相同,但带有一些额外的“ .qs”文件。

尽管Q#与Simulator没有紧密结合,但Microsoft指出Q#的目标是成为高级语言,并且Q#并不关心实际的实现细节。因此可以弹出其他可以运行Q#的模拟器。