Git Product home page Git Product logo

quantum-circuit's Introduction

quantum-circuit

Date: Jun 2018 - Feb 2019. Authors: Michael Woolls(UCR), Weilei Zeng(UCR)

A quantum circuit simulator, with depolorizing noise channel.

In the level of quantum error corection(QEC), all calculation can be classical. Hence, a simulator for quantum error correction could never touch the wave function or density matrix of the qubit system and result in a much faster speed, as it is done in our simulator. It takes the circuit as input, divides all gates into consecutive timesteps(moments), then add depolarizing error in between different timesteps. Measurement/read-out errors can be added outside of this program.(We may implement this in the future)

Other than our program, there are many powerful quantum simulators available right now. However, since they are full simulator inthe level of density matrix or wave function, they are very slow in speed and provide much more information than QEC's need. Here is a review of them in the aspect of QEC.

package used:

  • c++: Eigen -linear algebra
  • c++: itpp -linear algebra
  • qasm (not necessary) -visualization of quantum circuit, see its main page
  • TeX (not neceaasry) -visualize the circuit in pdf format

How to use

  • main program

    • design the circuit (by hand)
    • write the circuit inthe format .qc
    • use generate_error.cpp to generate errors from this circuit

    Input: .qc file describe the circuit

    Output: .mtx (MatrixMarket) files saves the error and syndrome respectively. ( A matlab progam can be used to convert the result into .mat files, which would be 1000x faster for matlab programs to read)

  • visualize the circuit

    • write the circuit in the format .qasm; use qasm2pdf to convert the file into pdf.
    • use qasm2qc to convert the .qasm to .qc autumatically. (300 qubits in total, 200+ is for ancilla qubits)
    • use copier to copy some part of the circuit; useful for enlarge the size of the circuit.

    Input: .qasm files decribe the circuit

    Output: .pdf file to visualize the circuit, and .qc file describes the same circuit.

quantum-circuit's People

Contributors

weileizeng avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

quantum-circuit's Issues

add support of openQASM

openQASM is a widely used quantum circuit format. However, our qasm is a old version of that. It would be more useful if we could extend our capacity of language format and visualization method.

verify parity check matrix

Try all single X/Z error and save the output, which will return the parity check matrix. This is a good way to check the validity of the input circuit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.