Performs Common Linear Algebra Operations Used in Quantum Computing and Implements Quantum Algorithms
cntrld
compareQuantumState
CoherentNoise
colv
controlled
convert_bin2dec
convert_dec2bin
convert_ket2DM
CX
CY
CZ
addmod2
adjoint
AmplitudeDamping
BELL
bra
CFA
checkCases
DecomposeGate
dirac
dist
dotmod2
exponentialMod
extractMNIST
FullAdder
G
gcd
GroverDiffusion
GroverOracle
GroversAlgorithm
H
hermitian
I
inner
intket
ket
many
measure
mm
nBitAddition
norm
opDM
PauliNoise
PauliOperators
PhaseDamping
plotprobs
pp
probs
QAOA
QAOA_example
QAOA_maxcut
QFT
QuantumClassifier
QuantumMNIST256Classifier
R
randomConnectionMatrix
RandomizeCompile
ranket
reduceMeasure
repeatTensor
Rx
Ry
Rz
S
Shor
single
singleSWAP
Steane
SteaneCorrect
SWAP
swapTest
SynthesizeCircuit
T
teleport
tensor
testGate
TOFFOLI
U
Uf
unitary
X
Y
Z
Contains basic structures and operations used frequently in quantum computing. Intended to be a convenient tool to help learn quantum mechanics and algorithms. Can create arbitrarily sized kets and bras and implements quantum gates, inner products, and tensor products. Creates arbitrarily controlled versions of all gates and can simulate complete or partial measurements of kets. Has functionality to convert functions into equivalent quantum gates and model quantum noise. Includes larger applications, such as Steane error correction <DOI:10.1103/physrevlett.77.793>, Quantum Fourier Transform and Shor's algorithm (Shor 1999), Grover's algorithm (1996), Quantum Approximation Optimization Algorithm (QAOA) (Farhi, Goldstone, and Gutmann 2014) <arXiv:1411.4028>, and a variational quantum classifier (Schuld 2018) <arXiv:1804.00633>. Can be used with the gridsynth algorithm <arXiv:1212.6253> to perform decomposition into the Clifford+T set.