hqcsim-0.1.0.0: A library for simulating quantum circuits.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Quantum.QProgram

Description

 
Synopsis

Documentation

runQProg :: QProgram -> Machine -> IO Machine Source #

  • runQProg function executes the program's instruction.

makeQuantumState :: Int -> State Source #

  • makeQuantumState function initializes a quantum state of n qubits

data Machine Source #

A Machine is defined by the quantum state and the measurement register.

It has two fields: * qstate of type State * measurementRegister of type Int

Constructors

Machine 

Fields

Instances

Instances details
Show Machine Source # 
Instance details

Defined in Quantum.QProgram

Eq Machine Source # 
Instance details

Defined in Quantum.QProgram

Methods

(==) :: Machine -> Machine -> Bool #

(/=) :: Machine -> Machine -> Bool #

data QInstruction Source #

A QInstruction is defined by the unitary transformation and by the qubits' index on which the transformation is applied.

It has two fields: * gateMatrix of type Gate is the unitary matrix that defines the quantum gate. * affectedQubits of type `[Int]`

Constructors

QInstruction 

Fields

Instances

Instances details
Show QInstruction Source # 
Instance details

Defined in Quantum.QProgram

Eq QInstruction Source # 
Instance details

Defined in Quantum.QProgram

data QProgram Source #

A QProgram is defined by the list quantum instructions: * instructions is of type `[QInstruction]`

Constructors

QProgram 

Fields

Instances

Instances details
Show QProgram Source # 
Instance details

Defined in Quantum.QProgram

Eq QProgram Source # 
Instance details

Defined in Quantum.QProgram