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

Is Microsoft Q# .Net framework compatible?

Q# 是 Microsoft 推出的一种有趣的新语言,专门用于执行量子计算。

它是否编译成可以从 c# 或任何其他 .net 语言引用的 .net 库 .Net Framework and/or .Net Core Framework(也许是 .Net 标准)?

如果不是,那么如何将其合并到经典应用程序中?

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

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

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

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

目前,Microsoft Quantum Simulator 中的 Q# 操作(类似于经典函数)运行 API 仅适用于 C#,也许也适用于 F#。目前Q#非常依赖C#,因为你需要一个C#驱动程序来执行Q#操作。其他语言的量子模拟器没有API。

dotnet new console -lang Q# --output Bell

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

虽然Q#与Simulator并没有紧密耦合,但微软表示Q#的目标是成为高级语言,Q#并不关心实际的实现细节。所以可以弹出其他模拟器可以 运行 Q#。