AceMouse / quantum-sim

Simulating quantum-circuits in different ways

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

quantum-sim

Simulating quantum-circuits in different ways

compile & run

use flag -i for interpreting a circuit
use flag -r for reverse aplication of the circuit
use flag -d for debug info
use flag -b for supplying a max bond
use flag -s for silent mode

❯ cat circuits/QFT2
--H-R2--
----C-H-
❯ python3 compile/compiler.py circuits/QFT2
❯ cat circuits/QFT2.out
2
H
1
C
R2
2
1
H
2
❯ python3 dense/sim.py circuits/QFT2.out '|10>' -i
# state probability
0 |00>   25.0%
1 |01>   25.0%
2 |10>   25.0%
3 |11>   25.0%
Von Neumann entropy:
(-1.442679143053433e-10+0j)
❯ python3 dense/sim.py circuits/QFT2.out '|-+>' -i -r
# state probability
2 |10>   100.0%
Von Neumann entropy:
(-1.442682346479936e-10+0j)
❯ python3 dense/sim.py circuits/QFT2.out '|-+>' -i -r -d
before:
# state probability
0 |00>   (0.4999999999999999+0j)
1 |01>   (0.4999999999999999+0j)
2 |10>   (-0.4999999999999999+0j)
3 |11>   (-0.4999999999999999+0j)
# state probability
0 |00>   25.0%
1 |01>   25.0%
2 |10>   25.0%
3 |11>   25.0%
after:
# state probability
0 |00>   (-2.465190328815662e-32+0j)
2 |10>   (0.9999999999999996+0j)
# state probability
2 |10>   100.0%
rho_a: 
[[ 0.+0.j -0.+0.j]
 [-0.+0.j  1.+0.j]]
eigen values (sorted): 
[1.+0.j 0.+0.j]
Von Neumann entropy: 
(-1.442682346479936e-10+0j)
❯ python3 dense/sim.py -b
vn entropy test:
____________________________________________________
QFT 4 qubits
max vn entropy (input |0100>):
rho_a: 
[[ 0.25+0.j   -0.25+0.j    0.  +0.25j -0.  -0.25j]
 [-0.25+0.j    0.25+0.j   -0.  -0.25j  0.  +0.25j]
 [ 0.  -0.25j -0.  +0.25j  0.25+0.j   -0.25+0.j  ]
 [-0.  +0.25j  0.  -0.25j -0.25+0.j    0.25+0.j  ]]
eigen values (sorted): 
[ 1.+0.j  0.+0.j  0.+0.j -0.+0.j]
Von Neumann entropy: 
(-1.44263658827253e-10+8.955587872534127e-32j)
____________________________________________________
QFT 8 qubits
max vn entropy (input |01110110>):
rho_a: 
[[ 0.0625+0.j     -0.0239-0.0577j  0.0347-0.052j  -0.0613-0.0122j
   0.0551-0.0295j -0.0483-0.0396j  0.0061-0.0622j -0.0598+0.0181j
  -0.0606+0.0152j  0.0372+0.0502j -0.0211+0.0588j  0.0624-0.0031j
  -0.0463+0.042j   0.0565+0.0267j  0.0092+0.0618j  0.0536-0.0321j]
 [-0.0239+0.0577j  0.0625-0.j      0.0347+0.052j   0.0347-0.052j
   0.0061+0.0622j  0.0551-0.0295j  0.0551+0.0295j  0.0061-0.0622j
   0.0092-0.0618j -0.0606+0.0152j -0.0463-0.042j  -0.0211+0.0588j
  -0.0211-0.0588j -0.0463+0.042j  -0.0606-0.0152j  0.0092+0.0618j]
 [ 0.0347+0.052j   0.0347-0.052j   0.0625-0.j     -0.0239-0.0577j
   0.0551+0.0295j  0.0061-0.0622j  0.0551-0.0295j -0.0483-0.0396j
  -0.0463-0.042j  -0.0211+0.0588j -0.0606+0.0152j  0.0372+0.0502j
  -0.0606-0.0152j  0.0092+0.0618j -0.0463+0.042j   0.0565+0.0267j]
 [-0.0613+0.0122j  0.0347+0.052j  -0.0239+0.0577j  0.0625+0.j
  -0.0483+0.0396j  0.0551+0.0295j  0.0061+0.0622j  0.0551-0.0295j
   0.0565-0.0267j -0.0463-0.042j   0.0092-0.0618j -0.0606+0.0152j
   0.0372-0.0502j -0.0606-0.0152j -0.0211-0.0588j -0.0463+0.042j ]
 [ 0.0551+0.0295j  0.0061-0.0622j  0.0551-0.0295j -0.0483-0.0396j
   0.0625+0.j     -0.0239-0.0577j  0.0347-0.052j  -0.0613-0.0122j
  -0.0606-0.0152j  0.0092+0.0618j -0.0463+0.042j   0.0565+0.0267j
  -0.0606+0.0152j  0.0372+0.0502j -0.0211+0.0588j  0.0624-0.0031j]
 [-0.0483+0.0396j  0.0551+0.0295j  0.0061+0.0622j  0.0551-0.0295j
  -0.0239+0.0577j  0.0625+0.j      0.0347+0.052j   0.0347-0.052j
   0.0372-0.0502j -0.0606-0.0152j -0.0211-0.0588j -0.0463+0.042j
   0.0092-0.0618j -0.0606+0.0152j -0.0463-0.042j  -0.0211+0.0588j]
 [ 0.0061+0.0622j  0.0551-0.0295j  0.0551+0.0295j  0.0061-0.0622j
   0.0347+0.052j   0.0347-0.052j   0.0625-0.j     -0.0239-0.0577j
  -0.0211-0.0588j -0.0463+0.042j  -0.0606-0.0152j  0.0092+0.0618j
  -0.0463-0.042j  -0.0211+0.0588j -0.0606+0.0152j  0.0372+0.0502j]
 [-0.0598-0.0181j  0.0061+0.0622j -0.0483+0.0396j  0.0551+0.0295j
  -0.0613+0.0122j  0.0347+0.052j  -0.0239+0.0577j  0.0625-0.j
   0.0624+0.0031j -0.0211-0.0588j  0.0372-0.0502j -0.0606-0.0152j
   0.0565-0.0267j -0.0463-0.042j   0.0092-0.0618j -0.0606+0.0152j]
 [-0.0606-0.0152j  0.0092+0.0618j -0.0463+0.042j   0.0565+0.0267j
  -0.0606+0.0152j  0.0372+0.0502j -0.0211+0.0588j  0.0624-0.0031j
   0.0625+0.j     -0.0239-0.0577j  0.0347-0.052j  -0.0613-0.0122j
   0.0551-0.0295j -0.0483-0.0396j  0.0061-0.0622j -0.0598+0.0181j]
 [ 0.0372-0.0502j -0.0606-0.0152j -0.0211-0.0588j -0.0463+0.042j
   0.0092-0.0618j -0.0606+0.0152j -0.0463-0.042j  -0.0211+0.0588j
  -0.0239+0.0577j  0.0625+0.j      0.0347+0.052j   0.0347-0.052j
   0.0061+0.0622j  0.0551-0.0295j  0.0551+0.0295j  0.0061-0.0622j]
 [-0.0211-0.0588j -0.0463+0.042j  -0.0606-0.0152j  0.0092+0.0618j
  -0.0463-0.042j  -0.0211+0.0588j -0.0606+0.0152j  0.0372+0.0502j
   0.0347+0.052j   0.0347-0.052j   0.0625-0.j     -0.0239-0.0577j
   0.0551+0.0295j  0.0061-0.0622j  0.0551-0.0295j -0.0483-0.0396j]
 [ 0.0624+0.0031j -0.0211-0.0588j  0.0372-0.0502j -0.0606-0.0152j
   0.0565-0.0267j -0.0463-0.042j   0.0092-0.0618j -0.0606+0.0152j
  -0.0613+0.0122j  0.0347+0.052j  -0.0239+0.0577j  0.0625+0.j
  -0.0483+0.0396j  0.0551+0.0295j  0.0061+0.0622j  0.0551-0.0295j]
 [-0.0463-0.042j  -0.0211+0.0588j -0.0606+0.0152j  0.0372+0.0502j
  -0.0606-0.0152j  0.0092+0.0618j -0.0463+0.042j   0.0565+0.0267j
   0.0551+0.0295j  0.0061-0.0622j  0.0551-0.0295j -0.0483-0.0396j
   0.0625+0.j     -0.0239-0.0577j  0.0347-0.052j  -0.0613-0.0122j]
 [ 0.0565-0.0267j -0.0463-0.042j   0.0092-0.0618j -0.0606+0.0152j
   0.0372-0.0502j -0.0606-0.0152j -0.0211-0.0588j -0.0463+0.042j
  -0.0483+0.0396j  0.0551+0.0295j  0.0061+0.0622j  0.0551-0.0295j
  -0.0239+0.0577j  0.0625+0.j      0.0347+0.052j   0.0347-0.052j ]
 [ 0.0092-0.0618j -0.0606+0.0152j -0.0463-0.042j  -0.0211+0.0588j
  -0.0211-0.0588j -0.0463+0.042j  -0.0606-0.0152j  0.0092+0.0618j
   0.0061+0.0622j  0.0551-0.0295j  0.0551+0.0295j  0.0061-0.0622j
   0.0347+0.052j   0.0347-0.052j   0.0625+0.j     -0.0239-0.0577j]
 [ 0.0536+0.0321j  0.0092-0.0618j  0.0565-0.0267j -0.0463-0.042j
   0.0624+0.0031j -0.0211-0.0588j  0.0372-0.0502j -0.0606-0.0152j
  -0.0598-0.0181j  0.0061+0.0622j -0.0483+0.0396j  0.0551+0.0295j
  -0.0613+0.0122j  0.0347+0.052j  -0.0239+0.0577j  0.0625+0.j    ]]
eigen values (sorted): 
[ 1.+0.j  0.-0.j  0.-0.j  0.-0.j  0.-0.j  0.+0.j  0.-0.j  0.-0.j  0.-0.j
 -0.+0.j -0.-0.j -0.+0.j -0.-0.j -0.-0.j -0.+0.j -0.-0.j]
Von Neumann entropy: 
(-1.4426584258484466e-10-1.0865843947218547e-15j)
____________________________________________________
QFT 2 qubits
max vn entropy (input |01>):
rho_a: 
[[0.5+0.j  0. +0.5j]
 [0. -0.5j 0.5+0.j ]]
eigen values (sorted): 
[ 1.+0.j -0.-0.j]
Von Neumann entropy: 
(-1.4426791430533217e-10-9.620630955709676e-16j)
____________________________________________________
Absolutely Maximal Entropy 4 qubits
max vn entropy (input |0000>):
rho_a: 
[[0.5+0.j 0. +0.j 0. +0.j 0. +0.j]
 [0. +0.j 0. +0.j 0. +0.j 0. +0.j]
 [0. +0.j 0. +0.j 0. +0.j 0. +0.j]
 [0. +0.j 0. +0.j 0. +0.j 0.5+0.j]]
eigen values (sorted): 
[0.5+0.j 0.5+0.j 0. +0.j 0. +0.j]
Von Neumann entropy: 
(0.999999999711461+0j)
____________________________________________________
Identity 4 qubits
max vn entropy (input |0000>):
rho_a: 
[[1.+0.j 0.+0.j 0.+0.j 0.+0.j]
 [0.+0.j 0.+0.j 0.+0.j 0.+0.j]
 [0.+0.j 0.+0.j 0.+0.j 0.+0.j]
 [0.+0.j 0.+0.j 0.+0.j 0.+0.j]]
eigen values (sorted): 
[1.+0.j 0.+0.j 0.+0.j 0.+0.j]
Von Neumann entropy: 
(-1.4426951601859514e-10+0j)
____________________________________________________

About

Simulating quantum-circuits in different ways


Languages

Language:TeX 71.6%Language:Python 28.4%