You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added hybrid execution for iterative quantum-classical loops, such as VQE, QAOA, or QML training. On request, the agent writes the classical optimizer as Classiq SDK code and runs the loop on the Classiq simulator, for up to 24 qubits; hardware backends are not supported yet. The execution result plots each per-iteration series and shows the final objective value and parameters. To rerun the loop locally, copy the code under View execution code. For a standard minimization, the agent uses the built-in variational minimization.
The full-screen view of a quantum program now displays its circuit metrics in the Circuit details panel: width, depth, and gate counts on the Program Info tab, and the exact metrics of the transpiled circuit on the Transpiled Info tab. If computing the metrics fails, the panel shows the reason and lets you retry.
Artifacts now get descriptive names based on their content and your request. The names appear on the artifact cards in the chat, in the artifact switcher, and in the artifact panel header. Identical names within a session get a number to tell them apart. You can also rename an artifact from the artifact switcher.
The model artifact is now labeled Qmod instead of Code, and has Copy and Download buttons.
Synthesis:
With auxiliary qubits available, a multi-controlled X (mcx, or control(ctrl, lambda: X(target))) now applies Khattar and Gidney's constructions: with one auxiliary qubit, it uses only 6n - 6 CX gates for n controls (for example, 186 at 32 controls, down from 416). Synthesis also uses spare width under max_width to further lower the mcx depth and, when optimizing for depth, adds auxiliary qubits until the depth stops dropping or the max_width constraint is reached.
With no auxiliary qubits available, for example under width optimization, mcx now needs fewer CX gates and less depth for 4 or more controls: at 5 controls, 62 CX gates instead of 84, and at 20 controls, 1522 CX gates at depth 595 instead of 2820 at depth 6076. Preferences(standalone=True) now produces this mcx implementation as well.
Language: Added the mcx_da_silva_park(ctrl, target) function, which implements a multi-controlled X that requires no auxiliary qubits, based on the linear-depth decomposition of da Silva and Park (arXiv:2203.11882). For n ≥ 3 controls, it uses 4n² - 4n + 2 CX gates at depth 32n - 45.
CUDA-Q:qprog_to_cudaq_kernel now supports CArray[CReal] and CArray[CInt] as parameters of main and other functions. The returned kernel expects an argument of type list[float] or list[int] for the corresponding parameter of main when calling sample() and observe().
Bug Fixes
New Agentic Platform Interface:
A failed artifact now opens in the artifact panel with the platform's reason for the failure, and a failed execution result exhibits the code that ran. Previously, failed artifacts gave no reason.
When the platform rejects a request, the agent now shows the platform's reason instead of a generic "try again" error.
The agent now proposes next steps after a synthesis failure.
The agent no longer attaches circuit links and program IDs to its replies, since the circuit already appears as an artifact.
CUDA-Q: Fixed an issue in handling integer-valued arguments to rotation gates in qprog_to_cudaq_kernel.