tests
This commit is contained in:
parent
8780c1aa75
commit
e0aa28b064
2 changed files with 49 additions and 1 deletions
|
|
@ -1,5 +1,4 @@
|
|||
from QElephant.Matrix import *
|
||||
from pytest import *
|
||||
|
||||
m = Matrix([[1, 2, 3], [4, 5, 6]])
|
||||
|
||||
|
|
|
|||
49
QuBit_test.py
Normal file
49
QuBit_test.py
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
from QElephant.QuBit import *
|
||||
|
||||
q = QuBit(0, 1)
|
||||
|
||||
assert q._QuBit__state == [0, 1]
|
||||
assert q._QuBit__intricated == False
|
||||
assert q.is_intricated() == False
|
||||
assert q.get_Mubit() == None
|
||||
assert str(q) == "0 |0> + 1 |1>"
|
||||
q._QuBit__apply(Matrix([[1, 2], [3, 4]]))
|
||||
assert q._QuBit__state == [2, 4]
|
||||
q.reset()
|
||||
assert q._QuBit__state == [1, 0]
|
||||
|
||||
mq = MuBit(2)
|
||||
|
||||
assert mq._MuBit__state == [1, 0, 0, 0]
|
||||
assert mq._MuBit__n == 2
|
||||
assert mq.get_size() == 2
|
||||
assert str(mq) == "1 |00>\n0 |01>\n0 |10>\n0 |11>\n"
|
||||
mq._MuBit__state = [0.5]*4
|
||||
mq._MuBit__set(1, 1)
|
||||
assert mq._MuBit__state == [0, 1/math.sqrt(2), 0, 1/math.sqrt(2)]
|
||||
|
||||
q = mq[0]
|
||||
assert q._IQuBit__n == 0
|
||||
assert q._IQuBit__muBit == mq
|
||||
assert q._IQuBit__intricated == True
|
||||
assert q.is_intricated() == True
|
||||
assert q.get_Mubit() == (mq, 0)
|
||||
assert str(q) == "0.707 |0> + 0.707 |1>"
|
||||
q._IQuBit__apply(Matrix([[1, 1], [1, -1]]))
|
||||
assert mq._MuBit__state == [0, 2/math.sqrt(2), 0, 0]
|
||||
q.reset()
|
||||
assert str(q) == "1.0 |0> + 0.0 |1>"
|
||||
|
||||
mq._MuBit__state = [1, 1, 1, 1]
|
||||
mq.reset()
|
||||
assert mq._MuBit__state == [1, 0, 0, 0]
|
||||
mq._MuBit__apply(Matrix([[0, 1], [1, 0]]), 0)
|
||||
assert mq._MuBit__state == [0, 0, 1, 0]
|
||||
mq._MuBit__mapply(Matrix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 2, 0]]), 0)
|
||||
assert mq._MuBit__state == [0, 0, 1, 2]
|
||||
mq._MuBit__state = [0.5, 1, 2, 0]
|
||||
assert mq._MuBit__getProb(0) == 1.25
|
||||
mq._MuBit__SWITCH(0)
|
||||
assert mq._MuBit__state == [0.5, 2, 1, 0]
|
||||
mq = MuBit.intricateThem(QuBit(1,0), QuBit(0,1), QuBit(1,0), QuBit(0,1))
|
||||
assert mq._MuBit__state == [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
|
||||
Loading…
Reference in a new issue