Skip to content

Spec missing the default quantum instruction set #46

Open
@qartik

Description

@qartik

The Quantum Instruction Set (QIS) section under Instruction Set at https://github.com/qir-alliance/qir-spec/blob/main/specification/under_development/Instruction_Set.md#quantum-instruction-set-qis says:

The table below lists known quantum instructions along with their signatures and a description of their functionality.

but the said table is missing. Also, the page at https://github.com/qir-alliance/qir-spec/blob/main/specification/under_development/quantum_instruction_sets/Default_QIS.md is empty.

It seems the table was deleted and the page emptied in the commit at 476f858?short_path=5ee03c7#diff-5ee03c796bb4786fedaefd1a730bf06a50b28f9dbfe7de3bf48de9978877aca4 during #12

If it's intentional, we should update the wording on the linked page and delete the Default QIR page; if not, we should restore the following table or add an updated variant:

Operation Name LLVM Function Declaration Description Matrix
CCx, CCNOT, Toffoli __quantum__qis__ccx__body (%Qubit* control1, %Qubit* control1, %Qubit* target) Toffoli or doubly-controlled X latex
Cx, CNOT __quantum__qis__cx__body (%Qubit* control, %Qubit* target) CNOT or singly-controlled X latex
Cz __quantum__qis__cz__body (%Qubit* control, %Qubit* target) Singly-controlled Z latex
H __quantum__qis__h__body (%Qubit* target) Hadamard latex
Mz or Measure __quantum__qis__mz__body (%Qubit* target, %Result* result) Measure a qubit along the the Pauli Z axis
Reset __quantum__qis__reset__body (%Qubit* target) Prepare a qubit in the |0⟩ state
Rx __quantum__qis__rx__body (%Qubit* target, double theta) Rotate a qubit around the Pauli X axis latex
Ry __quantum__qis__ry__body (%Qubit* target, double theta) Rotate a qubit around the Pauli Y axis latex
Rz __quantum__qis__rz__body (%Qubit* target, double theta) Rotate a qubit around the Pauli Z axis latex
S __quantum__qis__s__body (%Qubit* target) S (phase gate) latex
S† __quantum__qis__s_adj (%Qubit* target) The adjoint of S latex
T __quantum__qis__t__body (%Qubit* target) T latex
T† __quantum__qis__t__adj (%Qubit* target) The adjoint of T operation latex
X __quantum__qis__x__body (%Qubit* target) Pauli X latex
Y __quantum__qis__y__body (%Qubit* target) Pauli Y latex
Z __quantum__qis__z__body (%Qubit* target) Pauli Z latex

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions