Helper library for quantum matrix math
Project description
QGates
created by Austin Poor
A small file with some helper functions and quantum gates represented as numpy matrices.
Requirements
Installation
pip install qgates
Usage
Helper Functions
qgates.tens(v,w)
...
qgates.matmul(v,w)
...
qgates.state(num)
...
qgates.conjugate(num)
...
State Vectors
qgates.QB0
: Quantum state 0
qgates.QB1
: Quantum state 1
qgates.QB00
: Quantum state 00
qgates.QB01
: Quantum state 01
qgates.QB10
: Quantum state 10
qgates.QB11
: Quantum state 11
qgates.BELL00
: Bell state 00
qgates.BELL01
: Bell state 01
qgates.BELL10
: Bell state 10
qgates.BELL11
: Bell state 11
Gate Matrices
qgates.IDEN
: 2x2 Identity matrix
[[ 1, 0 ],
[ 0, 1 ]]
qgates.NOT
: 2x2 NOT matrix
[[ 0, 1 ],
[ 1, 0 ]]
qgates.OR
: 2x4 OR matrix
[[ 1, 0, 0, 0 ],
[ 0, 1, 1, 1 ]]
qgates.AND
: 2x4 AND matrix
[[ 1, 1, 1, 0 ],
[ 0, 0, 0, 1 ]]
qgates.XOR
: 2x4 XOR matrix
[[ 1, 0, 0, 1 ],
[ 0, 1, 1, 0 ]]
qgates.NOR
: 2x4 NOR matrix
[[ 0, 1, 1, 1 ],
[ 1, 0, 0, 0 ]]
qgates.NAND
: 2x4 NAND matrix
[[ 0, 0, 0, 1 ],
[ 1, 1, 1, 0 ]]
qgates.COPY
: A 4x2 gate matrix for copying a state vector
[[ 1, 0 ],
[ 0, 0 ],
[ 0, 0 ],
[ 0, 1 ]]
qgates.SWAP
: A 4x4 gate matrix for swapping a the middle two positions of a length-4 state vector
[[ 1, 0, 0, 0 ],
[ 0, 0, 1, 0 ],
[ 0, 1, 0, 0 ],
[ 0, 0, 0, 1 ]]
qgates.CNOT
: 4x4 Conditional-NOT gate. (Read more here)
[[ 1, 0, 0, 0 ],
[ 0, 1, 0, 0 ],
[ 0, 0, 0, 1 ],
[ 0, 0, 1, 0 ]]
qgates.TOFFOLI
: 8x8 Toffoli gate. (Read more here)
[[1, 0, 0, 0, 0, 0, 0, 0],
[0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 1],
[0, 0, 0, 0, 0, 0, 1, 0]]
qgates.HAD
: 2x2 Hadamard gate. (Read more here)
[[ 1/√2, 1/√2 ],
[ 1/√2, -1/√2 ]]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.