Giter Club home page Giter Club logo

artiste-qb-net / qubiter Goto Github PK

View Code? Open in Web Editor NEW
121.0 14.0 31.0 11.86 MB

Python tools for reading, writing, compiling, simulating quantum computer circuits. Includes numpy and tensorflow backends. “Quantum Space, the final frontier. These are the voyages of the starship Qubiter. Its five-year mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no man has gone before.”

License: Other

Python 11.05% Jupyter Notebook 14.64% TeX 1.46% C++ 2.64% C 0.04% HTML 68.57% CSS 0.31% Makefile 0.01% Batchfile 0.01% JavaScript 1.27%
quantum-computing quantum-compiler tensorflow

qubiter's People

Contributors

rrtucci avatar yintaophy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qubiter's Issues

PHAS gate expander?

When I try to invoke Qubiter_to_IBMqasm2() it fails when there are PHAS gates in the English file.

Do we have a PHAS expander that translates into gates available on IBM etc.? Just like we have expanders for DiagUnitary and Multiplexor...

Autograd experiments

Added jupyter notebook called autograd_experiments. It addresses issue of how to take derivatives of gates

Possible simplification for threaded gradients

Stairs circuit is currently defined so that, in its full generality (i.e., where it includes all possible parents for each U(2)), it has as final state, a completely general n-qubit state. The stairs circuit as currently defined uses multi-controlled U(2) gates. Can one replace each U(2) by exp(i*alpha) Ry(beta) for real numbers alpha, beta? Hence reduce from four to two parameters per gate string. This would simplify calculation of derivatives. Would it still produce a completely general n-qubit state at the end?

Controls()

From https://nbviewer.org/github/artiste-qb-net/qubiter/blob/master/qubiter/jupyter_notebooks/Say_Hello_World_With_Qubiter.ipynb

trols = Controls(num_qbits, {1:True, 2:False, 3:False})

generated

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[<ipython-input-19-b5dfb9a1e5a2>](https://localhost:8080/#) in <cell line: 4>()
      2 rads = 30*np.pi/180
      3 ax = 2 # y axis
----> 4 trols = Controls(num_qbits, {1:True, 2:False, 3:False})
      5 wr.write_controlled_one_qbit_gate(
      6     target_pos, trols, OneQubitGate.rot_ax, [rads, ax])

TypeError: Controls.__init__() takes 2 positional arguments but 3 were given

in Colab.

Coalescing qubits in Stairs Circuit

For the Stairs Circuit, suppose, for instance, that you have 10 qubits (0, 1, 2, ..., 9) and you want to "coalesce" qubits 5 and 6. In a fully connected quantum bayesian network, qubit 5 would have qubits (6, 7, 8, 9) as parents, and qubit 6 would have qubits (7, 8, 9) as parents. By coalescing 5 and 6, we go to a non-fully connected qb net in which 5 and 6 have the same set of parents. For instance, 5 and 6 might both have (8, 9) as parents. Thus, in this example, coalescing qubits 5 and 6 produces a node 5_6 with 4 states (qudit with d=4) and 2 parents, namely qubits (8, 9).

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.