def test_core_multyinput(): g=QGraph({}) i1,g=addinput(g,1) i2,g=addinput(g,1) o1,g=addop(g,pairop(opX(),opX()),[i1,i2]) s=evaluate({i1:braket([1]),i2:braket([0])},g,schedule(g)) assert_allclose(s[o1].mat,braket([0,1]).mat)
def test_core_223(): g=QGraph({}) i1,g=addinput(g,2) o1,g=addop(g,opCNOT(),[i1]) s=evaluate({i1:braket([1,1])},g,schedule(g)) print(s[o1].mat) assert_allclose(s[o1].mat,braket([1,0]).mat)
def test_core_111(): g=QGraph({}) i1,g=addinput(g,2) o1,g=addop(g,pairop(opI(),opX()),[i1]) s=evaluate({i1:braket([0,0])},g,schedule(g)) print(s[o1].mat) assert_allclose(s[o1].mat,[0.,1.,0.,0,]) assert_allclose(s[o1].mat,braket([0,1]).mat)
def test_core_111_i2(): g=QGraph({}) i1,g=addinput(g,1) o1,g=addop(g,opI(),[i1]) i2,g=addinput(g,1) o2,g=addop(g,opX(),[i2]) o3,g=addop(g,pairop(opI(),opI()),[o1,o2]) s=evaluate({i1:braket([0]),i2:braket([0])},g,schedule(g)) assert_allclose(s[o3].mat,[0.,1.,0.,0,]) assert_allclose(s[o3].mat,braket([0,1]).mat)
def test_api1_23(): c = circuit(qbit_count=2) c.initialize([1,1]) c.cnot.on([0,1]) s = c.execute() print(s) assert_allclose(s[(0,1)].mat,braket([1,0]).mat)