Skip to content
Hernán Indíbil de la Cruz Calvo edited this page May 22, 2022 · 6 revisions

Welcome to the QSimov wiki!

This aims to be a guide for developers and users of the QSimov framework.

We only give support to the latest major version (5.0.0).

When importing the QSimov module you will have some classes and functions available.

Classes

  • Funmatrix: a class that represents matrices
  • QRegistry: the lowest level quantum data structure in QSimov. Represents a system of qubits
  • QSystem: like QRegistry, but more optimized to work in environments where qubits are not entangled (while still supporting entanglement)
  • SimpleGate: a class that represents a quantum gate
  • QGate: a class that represents a quantum gate composed by smaller quantum gates
  • QCircuit: a class that represents a quantum circuit
  • Drewom: a class that serves as the executor for quantum circuits

Functions

  • QRegistry superposition(QRegistry a, QRegistry b, Integer num_threads=-1, Boolean verbose=False)
    • a: the QRegistry that contains the most significant qubits
    • b: the QRegistry that contains the least significant qubits
    • num_threads (optional): number of threads to use (>= 1) or -1 (let OpenMP decide). Defaults to -1
    • verbose (optional): whether to print Doki's debug messages or not. Defaults to False
    • return -> a new QRegistry containing the information of all the qubits in a and in b
  • QSystem join_systems(QSystem most, QSystem least, Boolean deep=False)
    • most: the QSystem that contains the most significant qubits
    • least: the QSystem that contains the least significant qubits
    • deep (optional): whether to clone all the internal data structures used in most and least or just copy their references. Defaults to False -> copy the references
    • return -> a new QSystem containing the information of all the qubits in most and in least
  • add_gate: adds a new quantum gate to QSimov
  • Set<String> get_available_gates()
    • return -> The name (not the aliases) of all SimpleGates available. Contains at least those stated in the Available Gates section
  • Dictionary<String -> String> get_gate_aliases()
    • return -> A dictionary that maps each defined alias to the name of the gate they point to. Contains at least those stated in the Available Gates section
Clone this wiki locally