When the graph solver cannot find a path to the requested gate_set, the underlying MLIR pass throws an uncaught C++ exception. When this happens, you may see many lines on the screen before you reach the error message below.
[libc++abi: terminating due to uncaught exception of type
DecompGraph::Core::GraphSolverFailedError: Decomposition rule not found for operator](libc++abi: terminating due to uncaught exception of type DecompGraph::Core::GraphSolverFailedError: Decomposition rule not found for operator 'Toffoli[w:3][p:0]')
Reproduce:
import pennylane as qp
from catalyst import qjit
from catalyst.passes import graph_decomposition
@qjit(capture=True)
@graph_decomposition(gate_set={qp.RX})
@qp.qnode(qp.device("lightning.qubit", wires=3))
def t():
qp.Toffoli([0,1,2])
return qp.state()
print(t())
When the graph solver cannot find a path to the requested
gate_set, the underlying MLIR pass throws an uncaught C++ exception. When this happens, you may see many lines on the screen before you reach the error message below.Reproduce: