def test_copy(): engine = MyEngine() code = CodeSegment(engine) code.batch_with_sub(u='a', v='e') code.unitary(x='a', y='a', factor=3.0) code.unitary(x='a', y='b1', factor=3.0) code.unitary(x='a', y='b2', factor=3.0) code.binary(x1='b1', x2='b2', y='b1') code.unitary(x='b1', y='d', factor=3.0) code.batch(u='b2', v='f') code2 = code.copy()
def test_to_graph(): engine = MyEngine() code = CodeSegment(engine) code.batch_with_sub(u='a', v='e') code.unitary(x='a', y='a', factor=3.0) code.unitary(x='a', y='b1', factor=3.0) code.unitary(x='a', y='b2', factor=3.0) code.binary(x1='b1', x2='b2', y='b1') code.unitary(x='b1', y='d', factor=3.0) code.batch(u='b2', v='f') d, tape = code.compute(('e', 'a', 'f', 'd'), {'a' : 1.0}, return_tape=True) vjp = tape.get_vjp() graph1 = code.to_graph() graph2 = vjp.to_graph()