Q#是微软致力于执行量子计算的一种有趣的新语言。
是否可以编译为可以从c#或任何其他.net语言引用的.net库.Net Framework和/或.Net Core Framework(可能是.Net标准)?
如果没有,那么如何将其纳入经典应用程序?
如果可能那么量子计算机会是什么样的?它是否允许运行完整的.net架构和量子作为协处理器(某种程度上像GPU编程)或者它看起来如何工作?
答案 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#的模拟器。