Git Product home page Git Product logo

qudotpy's People

Contributors

psakkaris avatar sfinucane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

qudotpy's Issues

QuGate multiplication operator

Right now to multiply tow QuGates together you have to retrieve their matrix representation. For example to multiply two X gates you do:
qudot.X.matrix * qudot.X.matrix

consider overriding the mul operator so we can do:

qudot.X * qudot.X

QuState Normalization?

Currently initializing QuState from a map does not enforce normalization. Should we normalize automatically, throw an error if not normalized, or leave it up to the user? Auto normalization is quit straightforward to do, throwing an error is trivial so we should make a decision soon.

QuBaseState bra and ket

right now we access vector representation of QuState using QuState.state and QuState.adjoint. A much better wording choice would be QuState.bra and QuState.ket, we should add these properties to QuBaseState so they are available to both QuBit and QuState

Python 3 support

See if it is possible to support Python 3 WITHOUT breaking python 2.7 support

Wiki

Get the Wiki complete

Control Gates

We need to implement a QuGate factor method for initializing control gates, such as Control Z, Control Y etc. This is a straight forward enhancement since control gates are well defined as an addition of tensor products.

QuState: measure specific qubit

Add the functionality to add a qubit_index argument to QuState.measure().

If qubit_index > 0 then we should perform a measurement on that specific qubit and not the entire state. We would have to renormalize after the measurement is made.

QuGate init with negative multiplier

The way QuGate init functions are currently implemented, you cannot add a negative multiplier. For example, if I want a -Y gate I cannot just pass in the Y matrix with a -1 multiplier because the argument gets ignored if it is < 0. We need to change this because it will be useful to have negative multipliers in the future.

QuState negative amplitude display

Right now if a QuState has a negative amplitude it is displayed funny
example: .707|00> + -.707|11>

There is no logic bug associated with this, its just a display issue. We should just display
.707|00> - .707|11>

Which would be less confusing

Entanglement

Support von neuman entropy and possible entanglement detection

DeutschAlgorithm

Implement deutsch algorithm. This will require support for adding python functions as gates

PyPy Package

Package up and submit QuDotPy as a pypy package

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.