qbraid_algorithms.embedding
Quantum Block Encoding and Embedding
Quantum Block Encoding
This module provides implementations of quantum block encoding techniques for embedding classical matrices into quantum circuits. Block encoding is fundamental for quantum linear algebra algorithms, enabling efficient quantum implementations of matrix operations through unitary transformations. The module implements preparation-selection (Prep-Select) frameworks and specialized embeddings for structured matrices like Toeplitz, diagonal, and Pauli forms, providing quantum speedups for linear algebraic computations.
FORMULATION
Block Encoding Definition: For a matrix \(A \in \mathbb{C}^{2^n \times 2^n}\) with \(\|A\| \leq \alpha\), a \((\alpha, a, \epsilon)\)-block encoding is a unitary \(U\) such that:
\(\langle 0^a | U | 0^a \rangle = \frac{A}{\alpha} + E\)
where \(\|E\| \leq \epsilon\) and \(a\) is the number of ancilla qubits.
Preparation-Selection Framework:
Preparation: Create superposition over matrix elements:
\(\text{PREP}|0\rangle = \sum_{j} \sqrt{p_j} |j\rangle\)
Selection: Apply controlled operations based on index:
\(\text{SELECT}|j\rangle|\psi\rangle = |j\rangle U_j|\psi\rangle\)
Block Encoding: Combine preparation and selection:
\(U = \text{PREP}^\dagger \cdot \text{SELECT} \cdot \text{PREP}\)
Specialized Embeddings:
Toeplitz: Exploit circulant structure via quantum Fourier transforms
Diagonal: Direct phase encoding for diagonal matrices
Pauli Decomposition: Express operators as weighted Pauli string sums
Classes
PrepSelLibrary(*args, **kwargs)Library for combined preparation and selection quantum operations.
Prep(gate_import, gate_ref, gate_defs, ...)Quantum state preparation library using amplitude encoding.
Select(gate_import, gate_ref, gate_defs, ...)Quantum operator selection library for controlled operations.
PauliOperator(gate_import, gate_ref, ...[, ...])Library for Pauli string operations.
Toeplitz(*args, **kwargs)Gate library for real Toeplitz embeddings via circulant diagonalization.
Diagonal(*args, **kwargs)Gate library for diagonal scaling and phase projection.