psakkaris / qudotpy Goto Github PK
View Code? Open in Web Editor NEWA quantum computing library written in Python. Can be used to emulate quantum circuits.
License: Other
A quantum computing library written in Python. Can be used to emulate quantum circuits.
License: Other
Implement QFT
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
Full run of shors algorithm
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.
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
Support the 3 qubit Toffoli Gate
See if it is possible to support Python 3 WITHOUT breaking python 2.7 support
QuDagger DSL is a much better system than QuCircuit. Replace QuCircuit with QuDagger.
We need to spec out and implement density operator support
Get the Wiki complete
Support attributes needed to determine where a state is on the Bloch Sphere
Implement the modular exponentiation circuit for Shor's Algorithm
Implement Grover Search Algorithm
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.
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.
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.
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
Support von neuman entropy and possible entanglement detection
Implement deutsch algorithm. This will require support for adding python functions as gates
Package up and submit QuDotPy as a pypy package
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.