# Superposition

@[section]({
    "id": "superposition__overview",
    "title": "Overview"
})

This kata is designed to get you familiar with the concept of superposition and with Q# programming.

**This kata covers the following topics:**

- Using basic single-qubit and multi-qubit gates to prepare quantum states
- Manipulating superposition states
- Flow control and recursion in Q#

**What you should know to start working on this kata:**

- Dirac notation for single-qubit and multi-qubit quantum systems
- Basic single-qubit and multi-qubit gates

@[section]({
    "id": "superposition__even_superpositions",
    "title": "Even superpositions"
})

@[exercise]({
    "id": "superposition__plus_state",
    "title": "The Plus State",
    "path": "./plus_state/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__minus_state",
    "title": "The Minus State",
    "path": "./minus_state/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__even_sup_two_qubits",
    "title": "Even superposition of all basis vectors on two qubits",
    "path": "./even_sup_two_qubits/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__even_sup_two_qubits_phase_flip",
    "title": "Even superposition of all basis vectors on two qubits with phase flip",
    "path": "./even_sup_two_qubits_phase_flip/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__even_sup_two_qubits_complex_phases",
    "title": "Even superposition of all basis vectors on two qubits with complex phases",
    "path": "./even_sup_two_qubits_complex_phases/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__bell_state",
    "title": "Bell State",
    "path": "./bell_state/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__all_bell_states",
    "title": "All Bell States",
    "path": "./all_bell_states/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__ghz_state",
    "title": "Greenberger-Horne-Zellinger State",
    "path": "./greenberger_horne_zeilinger/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__all_basis_vectors",
    "title": "All Basis Vectors",
    "path": "./all_basis_vectors/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__even_odd",
    "title": "Even and Odd Numbers",
    "path": "./even_odd/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__zero_and_bitstring",
    "title": "Zero and Bitstring",
    "path": "./zero_and_bitstring/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__two_bitstrings",
    "title": "Two Bitstrings",
    "path": "./two_bitstrings/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__four_bitstrings",
    "title": "Four Bit Strings",
    "path": "./four_bitstrings/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__parity_bitstrings",
    "title": "Same Parity Bit Strings",
    "path": "./parity_bitstrings/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[section]({
    "id": "superposition__arbitrary_rotations",
    "title": "Arbitrary Rotations"
})

@[exercise]({
    "id": "superposition__unequal_superposition",
    "title": "Unequal Superposition",
    "path": "./unequal_superposition/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__controlled_rotation",
    "title": "Controlled Rotation",
    "path": "./controlled_rotation/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__three_states_two_qubits",
    "title": "Three States Two Qubits",
    "path": "./three_states_two_qubits/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__three_states_two_qubits_phases",
    "title": "Three States Two Qubits Phases",
    "path": "./three_states_two_qubits_phases/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__hardy_state",
    "title": "Hardy State",
    "path": "./hardy_state/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[exercise]({
    "id": "superposition__wstate_power_of_two",
    "title": "W State Power Of Two",
    "path": "./wstate_power_of_two/",
    "qsDependencies": [
        "../KatasLibrary.qs",
        "./Common.qs"
    ]
})

@[section]({
    "id": "superposition__conclusion",
    "title": "Conclusion"
})

Congratulations! In this kata you learned to use the basic quantum computing gates to prepare quantum states. Here are a few key concepts to keep in mind:

- TODO
