Sequential Quantum Gate Decomposer  v1.9.6
Powerful decomposition of general unitarias into one- and two-qubit gates gates
squander/density_matrix/__init__.py
Go to the documentation of this file.
1 """
2 Density Matrix Module for SQUANDER
3 
4 Provides mixed-state quantum simulation with noise modeling.
5 Integrated as a subpackage of SQUANDER.
6 
7 Usage:
8  from squander.density_matrix import DensityMatrix, NoisyCircuit
9  from squander.density_matrix import DepolarizingChannel
10 
11 Example:
12  # Create 2-qubit density matrix
13  rho = DensityMatrix(qbit_num=2)
14 
15  # Create circuit
16  circuit = NoisyCircuit(2)
17  circuit.add_H(0)
18  circuit.add_CNOT(1, 0)
19 
20  # Apply circuit
21  import numpy as np
22  circuit.apply_to(np.array([]), rho)
23 
24  # Add noise
25  noise = DepolarizingChannel(qbit_num=2, error_rate=0.01)
26  noise.apply(rho)
27 
28  print(f"Purity: {rho.purity()}")
29 """
30 
31 __version__ = "1.0.0"
32 
33 # Import C++ bindings
34 from ._density_matrix_cpp import (
35  DensityMatrix,
36  NoisyCircuit,
37  NoiseChannel,
38  DepolarizingChannel,
39  AmplitudeDampingChannel,
40  PhaseDampingChannel,
41 )
42 
43 __all__ = [
44  # Core classes
45  "DensityMatrix",
46  "NoisyCircuit",
47 
48  # Noise channels
49  "NoiseChannel",
50  "DepolarizingChannel",
51  "AmplitudeDampingChannel",
52  "PhaseDampingChannel",
53 ]
54