1pub mod prelude;
7
8pub mod quantum {
10 pub use crate::gate::*;
11 pub use crate::qubit::*;
13 pub use crate::register::*;
14
15 pub use crate::operations::{
17 apply_and_sample, sample_outcome, MeasurementOutcome, OperationResult, POVMMeasurement,
18 ProjectiveMeasurement, QuantumOperation, Reset,
19 };
20
21 pub use crate::error::*;
23}
24
25pub mod synthesis {
27 pub use crate::cartan::{
28 cartan_decompose, CartanCoefficients, CartanDecomposer, CartanDecomposition,
29 OptimizedCartanDecomposer,
30 };
31 pub use crate::decomposition::clifford_t::{
32 count_t_gates_in_sequence, optimize_gate_sequence as optimize_clifford_t_sequence,
33 CliffordGate, CliffordTDecomposer, CliffordTGate, CliffordTSequence,
34 };
35 pub use crate::decomposition::decompose_u_gate;
36 pub use crate::decomposition::solovay_kitaev::{
37 count_t_gates, BaseGateSet, SolovayKitaev, SolovayKitaevConfig,
38 };
39 pub use crate::decomposition::utils::{
40 clone_gate, decompose_circuit, optimize_gate_sequence, GateSequence,
41 };
42 pub use crate::kak_multiqubit::{
43 kak_decompose_multiqubit, DecompositionMethod, DecompositionStats, DecompositionTree,
44 KAKTreeAnalyzer, MultiQubitKAK, MultiQubitKAKDecomposer,
45 };
46 pub use crate::shannon::{shannon_decompose, OptimizedShannonDecomposer, ShannonDecomposer};
47 pub use crate::synthesis::{
48 decompose_single_qubit_xyx, decompose_single_qubit_zyz, decompose_two_qubit_kak,
49 identify_gate, synthesize_unitary, KAKDecomposition, SingleQubitDecomposition,
50 };
51}
52
53pub mod math {
55 pub use crate::complex_ext::{quantum_states, QuantumComplexExt};
56 pub use crate::matrix_ops::{
57 matrices_approx_equal, partial_trace, tensor_product_many, DenseMatrix, QuantumMatrix,
58 SparseMatrix,
59 };
60 pub use crate::simd_ops::{
61 apply_phase_simd, controlled_phase_simd, expectation_z_simd, inner_product, normalize_simd,
62 };
63}
64
65pub mod backends {
67 pub use crate::gpu::{
68 cpu_backend::CpuBackend, initialize_adaptive_simd, GpuBackend, GpuBackendFactory,
69 GpuBuffer, GpuConfig, GpuKernel, GpuStateVector, OptimizationConfig, SpecializedGpuKernels,
70 };
71 pub use crate::platform::*;
72}
73
74pub mod optimization {
76 pub use crate::compilation_cache::{
77 get_compilation_cache, initialize_compilation_cache, CacheConfig, CacheStatistics,
78 CompilationCache, CompiledGate,
79 };
80 pub use crate::optimization::compression::{
81 CompressedGate, CompressionConfig, CompressionStats, CompressionType, GateMetadata,
82 GateSequenceCompressor,
83 };
84 pub use crate::optimization::fusion::{CliffordFusion, GateFusion};
85 pub use crate::optimization::lazy_evaluation::{
86 LazyEvaluationConfig, LazyEvaluationStats, LazyGateContext, LazyOptimizationPipeline,
87 OptimizationResult as LazyOptimizationResult, OptimizationStats,
88 };
89 pub use crate::optimization::peephole::{PeepholeOptimizer, TCountOptimizer};
90 pub use crate::optimization::zx_optimizer::ZXOptimizationPass;
91 pub use crate::optimization::{
92 gates_are_disjoint, gates_can_commute, OptimizationChain, OptimizationPass,
93 };
94 pub use crate::real_time_compilation::{
95 CompilationContext, HardwareTarget, OptimizationPipeline, PerformanceMonitor,
96 RealTimeQuantumCompiler,
97 };
98}
99
100pub mod dev_tools {
102 pub use crate::quantum_debugger::*;
103 pub use crate::quantum_debugging_profiling::{
104 CircuitAnalysisReport, ProfilingReport, QuantumCircuitAnalyzer, QuantumDebugProfiling,
105 QuantumDebugProfilingReport, QuantumDebugger, QuantumErrorTracker,
106 QuantumPerformanceProfiler, QuantumStateInspector, StateInspectionReport,
107 };
108 pub use crate::testing::{
109 QuantumAssert, QuantumTest, QuantumTestSuite, TestResult, TestSuiteResult,
110 DEFAULT_TOLERANCE,
111 };
112}
113
114pub mod error_correction {
116 pub use crate::error_correction::{
117 ColorCode, LookupDecoder, MWPMDecoder, Pauli, PauliString, StabilizerCode, SurfaceCode,
118 SyndromeDecoder,
119 };
120}
121
122pub mod quantum_ml {
124 pub use crate::qml::encoding::{DataEncoder, DataReuploader, FeatureMap, FeatureMapType};
125 pub use crate::qml::generative_adversarial::{
126 NoiseType, QGANConfig, QGANIterationMetrics, QGANTrainingStats, QuantumDiscriminator,
127 QuantumGenerator, QGAN,
128 };
129 pub use crate::qml::layers::{
130 EntanglingLayer, HardwareEfficientLayer, PoolingStrategy, QuantumPoolingLayer,
131 RotationLayer, StronglyEntanglingLayer,
132 };
133 pub use crate::qml::reinforcement_learning::{
134 Experience, QLearningStats, QuantumActorCritic, QuantumDQN, QuantumPolicyNetwork,
135 QuantumRLConfig, QuantumValueNetwork, ReplayBuffer, TrainingMetrics as RLTrainingMetrics,
136 };
137 pub use crate::qml::training::{
138 HPOStrategy, HyperparameterOptimizer, LossFunction, Optimizer, QMLTrainer, TrainingConfig,
139 TrainingMetrics,
140 };
141 pub use crate::qml::{
142 create_entangling_gates, natural_gradient, quantum_fisher_information, EncodingStrategy,
143 EntanglementPattern, QMLCircuit, QMLConfig, QMLLayer,
144 };
145 pub use crate::quantum_ml_accelerators::{
146 HardwareEfficientMLLayer, ParameterShiftOptimizer, QuantumFeatureMap,
147 QuantumKernelOptimizer, QuantumNaturalGradient, TensorNetworkMLAccelerator,
148 };
149}
150
151pub mod variational {
153 pub use crate::qaoa::{
154 CostHamiltonian, MixerHamiltonian, QAOACircuit, QAOAOptimizer, QAOAParams,
155 };
156 pub use crate::qpca::{DensityMatrixPCA, QPCAParams, QuantumPCA};
157 pub use crate::variational::{
158 ComputationGraph, DiffMode, Dual, Node, Operation, VariationalCircuit, VariationalGate,
159 VariationalOptimizer,
160 };
161 pub use crate::variational_optimization::{
162 create_natural_gradient_optimizer, create_qaoa_optimizer, create_spsa_optimizer,
163 create_vqe_optimizer, ConstrainedVariationalOptimizer,
164 HyperparameterOptimizer as VariationalHyperparameterOptimizer,
165 OptimizationConfig as VariationalOptimizationConfig, OptimizationHistory,
166 OptimizationMethod, OptimizationResult as VariationalOptimizationResult,
167 VariationalQuantumOptimizer,
168 };
169}
170
171pub mod hardware {
173 pub use crate::neutral_atom::{
174 AtomSpecies, AtomState, LaserSystem, NeutralAtom, NeutralAtomErrorModel, NeutralAtomGates,
175 NeutralAtomQC, OpticalTweezer, Position3D,
176 };
177 pub use crate::photonic::{
178 OpticalMode, PhotonicCircuit, PhotonicEncoding, PhotonicErrorCorrection, PhotonicGate,
179 PhotonicGateType, PhotonicSystem,
180 };
181 pub use crate::pulse::{
182 CouplingParams, HardwareCalibration, Pulse, PulseCompiler, PulseEnvelope, PulseNoiseModel,
183 PulseSequence, QubitControlParams, TimingConstraints,
184 };
185 pub use crate::quantum_hardware_abstraction::{
186 AdaptiveMiddleware, CalibrationEngine, ErrorMitigationLayer, ExecutionRequirements,
187 HardwareCapabilities, HardwareResourceManager, HardwareType, QuantumHardwareAbstraction,
188 QuantumHardwareBackend,
189 };
190 pub use crate::silicon_quantum_dots::{
191 DeviceParams, QuantumDotParams, QuantumDotType, SiliconQuantumDot, SiliconQuantumDotGates,
192 SiliconQuantumDotSystem,
193 };
194 pub use crate::trapped_ion::{
195 IonLevel, IonSpecies, LaserPulse, MotionalMode, MotionalModeType, TrappedIon,
196 TrappedIonGates, TrappedIonSystem,
197 };
198}
199
200pub mod algorithms {
202 pub use crate::adiabatic::{
203 AdiabaticQuantumComputer, AnnealingSchedule, IsingProblem, ProblemGenerator, ProblemType,
204 QUBOProblem, QuantumAnnealer, QuantumAnnealingSnapshot,
205 };
206 pub use crate::hhl::{hhl_example, HHLAlgorithm, HHLParams};
207 pub use crate::quantum_counting::{
208 amplitude_estimation_example, quantum_counting_example, QuantumAmplitudeEstimation,
209 QuantumCounting, QuantumPhaseEstimation,
210 };
211 pub use crate::quantum_walk::{
212 CoinOperator, ContinuousQuantumWalk, DecoherentQuantumWalk, DiscreteQuantumWalk, Graph,
213 GraphType, MultiWalkerQuantumWalk, QuantumWalkSearch, SearchOracle, SzegedyQuantumWalk,
214 };
215}
216
217pub mod tensor_networks {
219 pub use crate::memory_efficient::{EfficientStateVector, StateMemoryStats};
220 pub use crate::tensor_network::{
221 contraction_optimization::DynamicProgrammingOptimizer, Tensor, TensorEdge, TensorNetwork,
222 TensorNetworkBuilder, TensorNetworkSimulator,
223 };
224}
225
226pub mod symbolic {
228 pub use crate::parametric::{Parameter, ParametricGate, SymbolicParameter};
229 #[cfg(feature = "symbolic")]
230 pub use crate::symbolic::calculus::{diff, expand, integrate, limit, simplify};
231 pub use crate::symbolic::{matrix::SymbolicMatrix, SymbolicExpression};
232 pub use crate::symbolic_hamiltonian::{
233 hamiltonians::{
234 heisenberg, maxcut, molecular_h2, number_partitioning, transverse_field_ising,
235 },
236 PauliOperator as SymbolicPauliOperator, PauliString as SymbolicPauliString,
237 SymbolicHamiltonian, SymbolicHamiltonianTerm,
238 };
239 pub use crate::symbolic_optimization::{
240 circuit_optimization::{extract_circuit_parameters, optimize_parametric_circuit},
241 HamiltonianExpectation, OptimizationResult, QAOACostFunction, SymbolicObjective,
242 SymbolicOptimizationConfig, SymbolicOptimizer,
243 };
244}
245
246pub mod zx_calculus {
248 pub use crate::zx_calculus::{
249 CircuitToZX, Edge, EdgeType, Spider, SpiderType, ZXDiagram, ZXOptimizer,
250 };
251 pub use crate::zx_extraction::{ZXExtractor, ZXPipeline};
252}
253
254pub mod topological {
256 pub use crate::holonomic::{
257 WilsonLoop,
260 };
261 pub use crate::topological::{
262 AnyonModel, AnyonType, AnyonWorldline, BraidingOperation, FibonacciModel, FusionTree,
263 IsingModel, TopologicalGate, TopologicalQC, ToricCode,
264 };
265}
266
267pub mod networking {
269 pub use crate::distributed_quantum_networks::{
270 DistributedGateType, DistributedQuantumGate, EntanglementManager, EntanglementProtocol,
271 NetworkScheduler, QuantumNetwork, QuantumNode,
272 };
273 pub use crate::post_quantum_crypto::{
274 CompressionFunction, QKDProtocol, QKDResult, QuantumDigitalSignature, QuantumHashFunction,
275 QuantumKeyDistribution, QuantumSignature,
276 };
277 pub use crate::quantum_internet::{
278 DistributedQuantumComputing, GlobalQuantumKeyDistribution, QuantumInternet,
279 QuantumInternetAdvantageReport, QuantumInternetNode, QuantumInternetSecurity,
280 QuantumNetworkInfrastructure, QuantumRouting,
281 };
282}
283
284pub mod scirs2 {
286 pub use crate::scirs2_circuit_verifier::{
287 AlgorithmSpecification, AlgorithmVerificationResult, CircuitVerificationResult,
288 EquivalenceType, EquivalenceVerificationResult, NumericalStabilityAnalysis,
289 SciRS2CircuitVerifier, SciRS2VerificationEnhancements, VerificationConfig,
290 VerificationVerdict,
291 };
292 pub use crate::scirs2_circuit_verifier_enhanced::{
293 CertificateFormat, CircuitProperty, ConfidenceStatistics, Counterexample,
294 EnhancedCircuitVerifier, EnhancedVerificationConfig, FormalProof, FormalVerificationResult,
295 ProofStep, ProofStepType, ProofType, QCTLSpecification, QHLSpecification,
296 QLTLSpecification, SpecificationLanguage, VerificationReport, VerificationSummary,
297 VerificationTechnique, ZXSpecification,
298 };
299 pub use crate::scirs2_quantum_formatter::{
300 AnnotationLocation, AnnotationType, CodeAnnotation, CommentStyle, FormattedCode,
301 FormattingConfig, FormattingStatistics, FormattingStyle, IndentationStyle, OutputFormat,
302 ProgrammingLanguage, SciRS2QuantumFormatter,
303 };
304 pub use crate::scirs2_quantum_formatter_enhanced::{
305 AlgorithmPhase, BeautificationSuggestions, ChangeType, CircuitChange, ColorScheme,
306 CustomFormattingRule, EnhancedFormattedCode, EnhancedFormattingConfig,
307 EnhancedQuantumFormatter, FormattingOptions, FormattingSuggestion, HardwareFormattingInfo,
308 IncrementalUpdate, InteractiveSuggestion, PlatformOptimization, QuantumBackend,
309 QuantumPattern, SemanticInfo, SuggestionLocation, SuggestionType, SyntaxMetadata,
310 SyntaxScope, SyntaxToken, TemplatedCode, TokenType, UpdatedSection, VisualFormat,
311 };
312 pub use crate::scirs2_quantum_linter::{
313 AutomaticFix, LintFinding, LintFindingType, LintSeverity, LintingConfig, LintingReport,
314 OptimizationSuggestion, SciRS2Enhancement, SciRS2QuantumLinter,
315 };
316 pub use crate::scirs2_quantum_linter_enhanced::{
317 ChangeOperation, CircuitLocation, CircuitMetadata, CodeChange, Compatibility,
318 CustomLintRule, EnhancedLintFinding, EnhancedLintingConfig, EnhancedLintingReport,
319 EnhancedQuantumLinter, FixSuggestion, GatePatternMatcher, HardwareArchitecture,
320 ImpactAnalysis, LintPattern, LintingSummary, PerformanceImpact, QualityMetrics,
321 ReportFormat, ResourceImpact, ResourceMatcher, RiskLevel, StructuralMatcher,
322 };
323 pub use crate::scirs2_quantum_profiler::{
324 CircuitProfilingResult, GateProfilingResult, MemoryAnalysis, OptimizationRecommendation,
325 ProfilingPrecision, ProfilingSessionReport, SciRS2EnhancementSummary,
326 SciRS2ProfilingConfig, SciRS2QuantumProfiler, SimdAnalysis,
327 };
328 pub use crate::scirs2_quantum_profiler_enhanced::{
329 AnomalyEvent, AnomalySeverity, Bottleneck, BottleneckAnalysis, BottleneckType, Difficulty,
330 EnhancedGateProfilingResult, EnhancedOptimizationRecommendation, EnhancedProfilingConfig,
331 EnhancedProfilingReport, EnhancedQuantumProfiler, ExportFormat, HardwareCharacteristics,
332 HardwareOptimizationStrategy, HardwarePerformanceModel, MetricStatistics, MetricType,
333 OpportunityType, OptimizationOpportunity, PerformanceMetrics, PerformancePredictions,
334 PredictedPerformance, Priority, ProfilingSummary, RecommendationType, ScalingAnalysis,
335 ScalingModel, ScalingType,
336 };
337 pub use crate::scirs2_resource_estimator_enhanced::{
338 AnalysisDepth, BasicResourceAnalysis, CircuitTopology, CloudPlatform, ComparativeAnalysis,
339 ComplexityMetrics, ConstraintPriority, ConstraintType, CostAnalysisResult, CostBreakdown,
340 CostOptimization, Effort, EnhancedResourceConfig, EnhancedResourceEstimate,
341 EnhancedResourceEstimator, ErrorBudget, EstimationOptions, GatePattern, GateStatistics,
342 HardwareRecommendation, Impact, MLPredictions, MemoryRequirements, MonitoringReport,
343 OptimizationLevel as ResourceOptimizationLevel, OptimizationObjective,
344 OptimizationStrategy, PlatformCost, Priority as ResourcePriority, ReadinessLevel,
345 Recommendation, RecommendationCategory, ResourceAnomaly, ResourceConstraint,
346 ResourceImprovement, ResourceRequirements, ResourceScores, RiskAssessment,
347 ScalingPredictions, TopologyType,
348 };
349}
350
351pub mod batch {
353 pub use crate::batch::execution::{
354 create_optimized_executor, BatchCircuit, BatchCircuitExecutor,
355 };
356 pub use crate::batch::measurement::{
357 measure_batch, measure_batch_with_statistics, measure_expectation_batch,
358 measure_tomography_batch, BatchMeasurementStatistics, BatchTomographyResult,
359 MeasurementConfig, TomographyBasis,
360 };
361 pub use crate::batch::operations::{
362 apply_gate_sequence_batch, apply_single_qubit_gate_batch, apply_two_qubit_gate_batch,
363 compute_expectation_values_batch,
364 };
365 pub use crate::batch::optimization::{
366 BatchParameterOptimizer, BatchQAOA, BatchVQE,
367 OptimizationConfig as BatchOptimizationConfig, QAOAResult, VQEResult,
368 };
369 pub use crate::batch::{
370 create_batch, merge_batches, split_batch, BatchConfig, BatchExecutionResult, BatchGateOp,
371 BatchMeasurementResult, BatchStateVector,
372 };
373}
374
375#[cfg(feature = "python")]
377pub mod python {
378 pub use crate::jupyter_visualization::{
379 PyQuantumCircuitVisualizer, PyQuantumPerformanceMonitor, PyQuantumStateVisualizer,
380 };
381 pub use crate::python_bindings::{
382 PyAggregatedStats, PyAlert, PyMetricMeasurement, PyMonitoringConfig, PyMonitoringStatus,
383 PyOptimizationRecommendation, PyRealtimeMonitor,
384 };
385 pub use crate::python_bindings::{
386 PyCartanDecomposition, PyNumRS2Array, PyQuantumGate, PyQuantumInternet,
387 PyQuantumSensorNetwork, PyQubitId, PySingleQubitDecomposition, PyVariationalCircuit,
388 };
389 pub use crate::quantum_complexity_analysis::PyQuantumComplexityAnalyzer;
390}