Hi !

I wanted to know if it is possible to compose circuits of different size in Pennylane.

For example I have two circuit, one of size 2 (the small one), and one of size 4 (the large one).

I want to construct the large one based on multiple repetition of the small one, but put on different wires.

```
@qml.qnode(dev) ##2-qubits circuit
def small_circuit(phi):
qml.RZ(- np.pi, wires=1)
qml.CNOT([1, 0])
return [qml.expval(qml.PauliZ(j)) for j in range(2)]
@qml.qnode(dev) ##4-qubits circuit
def circuit(phi):
#small_circuit(phi[0])(wires=0)
#small_circuit(phi[0])(wires=3)
# ...
return [qml.expval(qml.PauliZ(j)) for j in range(4)]
```

So that the large circuit is a composition of the small one.

How is it possible ?

Thank you very much

You make two devices:

```
dev4 = qml.device("default.qubit", wires=4)
dev2 = qml.device("default.qubit", wires=2)
```

Then make output from 4 qubit gate go to the 2 qubit gate twice. This sould work, unless you are worry about 2 vs 4 qubit entangelment.

1 Like

Hey @Maelle_T! Welcome to the forum

You can totally do this in PennyLane, but how I would recommend doing it is slightly different. You can make use of quantum functions (basically python functions that aren’t decorated with `@qml.qnode`

).

Here’s an example:

```
import pennylane as qml
def quantum_function(wires):
qml.Hadamard(wires[0])
qml.RX(0.1, wires[1])
```

I can then use `quantum_function`

inside QNodes!

```
dev = qml.qnode("default.qubit", wires=4)
@qml.qnode(dev)
def qnode():
quantum_function([0, 1])
quantum_function([2, 3])
return [qml.expval(qml.PauliZ(i)) for i in range(4)]
```

Essentially, you can think of quantum functions as building blocks just like PennyLane gates, layers, templates, etc., but you define them how you want!

Hope this helps!

1 Like

How this is awesome !!

Thank you very much for your help !

1 Like

Awesome! Glad I could help . If you don’t mind, could you mark my post as the solution to your question? It helps future people on the forum get the answer they need a little quicker

Thank you! Have a great day!

1 Like

Thank you, I did not know that this was possible.

2 Likes