QuantumKatas - 开源量子编程解决方案


MIT
跨平台
C#

软件简介

Katas 是一款非常优秀的编程语言学习工具,主要依赖于几个简单的学习原则:主动学习,增量复杂性和反馈。

Quantum Katas 的一系列教程可以自定义进度,旨在同时教授量子计算和 Q# 编程元素。从基础到具有一定挑战性,Katas
提供了一系列关于量子计算主题的任务。每项任务都需要填写代码,从开始的只有一行代码,到后面可能需要填写一大片代码。

到目前为止,该项目主要涵盖以下主题:

  • 基本量子计算门(Basic quantum computing gates) :专注于量子计算中使用的主要单量子比特和多量子比特门的任务。

  • 叠加(Superposition) : 专注于在一个或多个量子比特上准备某个叠加状态的任务。

  • 测量(Measurements) :专注于使用测量来区分量子态的任务。

  • Deutsch–Jozsa 算法(Deutsch–Jozsa algorithm ):专注于编写实现经典函数的量子的任务,以及 Bernstein-Vazirani 和 Deutsch-Jozsa 算法。

打开教程

每个 Kata 都作为独立的 Q# 解决方案和项目对放在自己的目录中。 例如,BasicGates kata 的布局如下:

QuantumKatas/
  BasicGates/
    README.md                  # Instructions specific to this kata.
    .vscode/                   # Metadata used by Visual Studio Code.
    BasicGates.sln             # Visual Studio 2017 solution file.
    BasicGates.csproj          # Project file used to build both classical and quantum code.

    Tasks.qs                   # Q# source code that you will fill as you solve each task.
    Tests.qs                   # Q# tests that verify your solutions.
    TestSuiteRunner.cs         # C# source code used to run the Q# tests.
    ReferenceImplementation.qs # Q# source code containing solutions to the tasks.