Skip to content

Introduction

Quantum algorithm design is a complex task, and solutions based on the approach of designing at the gate level are not scalable. Likewise, solutions based on combining existing building blocks are very limited in their scope. The Classiq platform allows high level description of quantum algorithms at the functional level and automatically synthesizes a corresponding circuit. The synthesis process refines the functional requirements, allocates and optimizes available resources, such as the number of qubits available and the circuit depth.

The basic description of quantum algorithms in the Classiq platform is done through quantum functions. A quantum function can be implemented in multiple ways, each with different properties, such as number of qubits, number of auxiliary qubits, depth, approximation level, etc. The user may define any level of refinement of the function, from the pure abstract to the fully defined. The synthesis engine fills in the details to provide a concrete implementation satisfying all user requirements.

Moreover, a complete quantum algorithm can be realized in multiple ways, utilizing different design choices such as function implementations, placement, uncompute strategies, qubit management, wirings, etc. The platform sifts through the design space and finds a best realization given the user requirements and resource constraints.

This section describes how you can define your algorithm and synthesize a circuit that implements it: