# Overview

## Introduction¶

As quantum hardware progresses from dozens to thousands of qubits and beyond, it is no longer feasible to design and optimize circuits at the gate and building block levels alone.

## Introducing Quantum algorithm design¶

Quantum Algorithm Design (QAD) is the quantum version of computer-aided design (CAD). With QAD, quantum software engineers and scientists innovate and produce much faster than ever before.

The Classiq Quantum Algorithm Design platform is used by teams to design, analyze, and optimize quantum circuits. This software platform transforms high-level functional models into concrete quantum circuits optimized for the back-end of choice.

## How do we do it?¶

The Classiq platform asks designers to describe the circuit functionality by creating a high-level circuit model. The model is written using a Quantum Description Language (QDL) with a textual or a Python (SDK) interface.

The model is then ingested by the Classiq synthesis engine, which uses advanced constrained optimization solvers to choose the optimal circuit (or circuits) out of billions of possible options. The synthesis engine aims to find a circuit that matches a set of design constraints and rules that are also defined by the designer, as well as general rules embedded in the platform and can be overridden by the designer.

The synthesized circuits can be output in any common universal gate-level format (OpenQASM, Q#, Braket, and more), and can be easily adjusted to other, more proprietary formats. The final circuits can then be executed on any quantum backend - hardware or simulator - by changing the backend name in the execution file.

Classiq is fully integrated with IBM quantum, Amazon AWS, Microsoft Azure, and other backend providers.

## Circuit visualization and analysis¶

The quantum circuits can be analyzed and visualized by the Classiq analyzer tool at a functional level, providing additional design insights, and allowing to close the loop in an automated design process.

## Predefined models and libraries¶

The Classiq platform natively supports several predefined models and libraries, which can be modified and expanded to meet the user-specific needs:

### Quantum arithmetic¶

Quantum Arithmetic enables users to define complex arithmetic operations, and synthesize gate-level circuits that apply these operations. This can be used in order to generate complex oracles, such as those used in the Grover search framework.

### Combinatorial optimization¶

The Classiq combinatorial optimization module allows users to model custom combinatorial optimization problems (e.g. Max Vertex Cover, Max Independent Set) into gate-level circuits, while also significantly reducing the search space.

### Function library¶

The function library includes several useful predefined functions, allowing flexible state preparation, controlling entanglement (Schmidt rank width) generation , and more.

### User-defined libraries¶

Users may also define additional models and functions, describing quantum circuits that fit their individual, real-world, use cases. The user needs only implement the provided interfaces, thus realizing an open-closed programming model.

## Application suites¶

We provide full suites of models for common quantum applications. The suites are built using the Classiq high-level modeling methodology, and provide massive flexibility and tunability as expected in this method. Concrete circuits generated from the models cover a broad range of the known application area.

### Finance Application Suite¶

The finance application suite incorporates many financial use cases (option pricing, risk analysis, more) that are based on the amplitude estimation framework. The underlying high-level model allows much flexibility in describing the financial model and obtaining the financial data.

### Chemistry Application Suite¶

The chemistry application suite provides a framework for generating molecular Hamiltonians for any molecule, and solving the corresponding ground-state problem using Quantum Variational algorithms.

## Synthesis and optimization¶

Synthesizing quantum circuits with the Classiq platform implicitly optimizes a complex design process, including qubit allocation, computation strategies, auxiliary qubit reuse, global resource management, and more.

## Organization of this guide¶

The Getting Started section provides installation instructions for the textual modeling platform and the Python SDK. The User Guide section provides introduction, theory, usage instructions, and practical hands-on examples of the various functions of the platform. The Reference Manual section provides complete syntax of all user-controlled functionalities.

## Summary¶

The Classiq platform automates circuit synthesis from the high-level model to the gate-level solution and hardware execution, leaving the quantum algorithm developer free to model quantum circuits that can solve real-world problems.

We hope this platform will help you design sophisticated quantum circuits with greater ease and speed than ever before.