quantrs2_sim/api/
mod.rs

1//! Organized public API for QuantRS2 Simulation
2//!
3//! This module provides a hierarchical organization of the simulation crate's public API,
4//! designed for the 1.0 release with clear naming conventions and logical grouping.
5
6pub mod prelude;
7
8/// Core simulation interfaces and backends
9pub mod simulation {
10    pub use crate::enhanced_statevector::EnhancedStateVectorSimulator;
11    pub use crate::error::{Result, SimulatorError};
12    pub use crate::simulator::{Simulator, SimulatorResult};
13    /// Basic simulators
14    pub use crate::statevector::StateVectorSimulator;
15
16    pub use crate::clifford_sparse::{CliffordGate, SparseCliffordSimulator};
17    pub use crate::mps_basic::{BasicMPS, BasicMPSConfig, BasicMPSSimulator};
18    pub use crate::mps_simulator::{MPSSimulator, MPS};
19    /// Specialized simulators
20    pub use crate::specialized_simulator::{
21        benchmark_specialization, SpecializationStats, SpecializedSimulatorConfig,
22        SpecializedStateVectorSimulator,
23    };
24    pub use crate::stabilizer::{is_clifford_circuit, StabilizerGate, StabilizerSimulator};
25
26    #[cfg(feature = "mps")]
27    pub use crate::mps_enhanced::{utils::*, EnhancedMPS, EnhancedMPSSimulator, MPSConfig};
28}
29
30/// GPU and accelerated computing backends
31pub mod gpu {
32    #[cfg(all(feature = "gpu", not(target_os = "macos")))]
33    pub use crate::gpu_linalg::{benchmark_gpu_linalg, GpuLinearAlgebra};
34
35    #[cfg(all(feature = "gpu", not(target_os = "macos")))]
36    pub use crate::cuda_kernels::{
37        CudaKernelConfig, CudaKernelStats, CudaQuantumKernels, GateType as CudaGateType,
38        OptimizationLevel as CudaOptimizationLevel,
39    };
40
41    #[cfg(all(feature = "advanced_math", not(target_os = "macos")))]
42    pub use crate::cuda_kernels::{CudaContext, CudaDeviceProperties, CudaKernel};
43
44    pub use crate::opencl_amd_backend::{
45        benchmark_amd_opencl_backend, AMDOpenCLSimulator, KernelArg, MemoryFlags, OpenCLBuffer,
46        OpenCLConfig, OpenCLDevice, OpenCLDeviceType, OpenCLKernel, OpenCLPlatform, OpenCLStats,
47        OptimizationLevel as OpenCLOptimizationLevel,
48    };
49
50    pub use crate::tpu_acceleration::{
51        benchmark_tpu_acceleration, CommunicationBackend, DistributedContext, MemoryOptimization,
52        TPUConfig, TPUDataType, TPUDeviceInfo, TPUDeviceType, TPUMemoryManager,
53        TPUQuantumSimulator, TPUStats, TPUTensorBuffer, TPUTopology, XLAComputation,
54    };
55}
56
57/// Large-scale and distributed simulation
58pub mod distributed {
59    pub use crate::large_scale_simulator::{
60        CompressedQuantumState, CompressionAlgorithm, CompressionMetadata,
61        LargeScaleQuantumSimulator, LargeScaleSimulatorConfig, MemoryMappedQuantumState,
62        MemoryStatistics as LargeScaleMemoryStatistics, QuantumStateRepresentation,
63        SparseQuantumState,
64    };
65
66    pub use crate::distributed_simulator::{
67        benchmark_distributed_simulation, ChunkMetadata, CommunicationConfig, CommunicationManager,
68        CommunicationPattern, CommunicationRequirements, DistributedGateOperation,
69        DistributedPerformanceStats, DistributedQuantumSimulator, DistributedSimulatorConfig,
70        DistributionStrategy, FaultToleranceConfig, FaultToleranceMessage, FaultToleranceStats,
71        LoadBalancer, LoadBalancingCommand, LoadBalancingConfig,
72        LoadBalancingStrategy as DistributedLoadBalancingStrategy, NetworkConfig, NetworkMessage,
73        NetworkStats, NodeCapabilities, NodeInfo, NodePerformanceStats, NodeStatus,
74        OperationPriority, RebalancingStats, SimulationState, StateChunk, SynchronizationLevel,
75        WorkDistribution,
76    };
77
78    #[cfg(all(feature = "gpu", not(target_os = "macos")))]
79    pub use crate::distributed_gpu::*;
80}
81
82/// Optimization and performance tools
83pub mod optimization {
84    pub use crate::circuit_optimization::{
85        optimize_circuit, optimize_circuit_with_config, CircuitOptimizer, OptimizationConfig,
86        OptimizationResult, OptimizationStatistics,
87    };
88
89    pub use crate::auto_optimizer::{
90        execute_with_auto_optimization, recommend_backend_for_circuit, AnalysisDepth,
91        AutoOptimizer, AutoOptimizerConfig, BackendRecommendation, BackendType,
92        CircuitCharacteristics, ConnectivityProperties, FallbackStrategy,
93        OptimizationLevel as AutoOptimizationLevel, PerformanceHistory,
94        PerformanceMetrics as AutoOptimizerPerformanceMetrics,
95    };
96
97    pub use crate::performance_prediction::{
98        create_performance_predictor, predict_circuit_execution_time, ComplexityMetrics,
99        ExecutionDataPoint, ModelType, PerformanceHardwareSpecs, PerformancePredictionConfig,
100        PerformancePredictionEngine, PerformanceTimingStatistics, PredictionMetadata,
101        PredictionResult, PredictionStatistics, PredictionStrategy, ResourceMetrics, TrainedModel,
102        TrainingStatistics,
103    };
104
105    pub use crate::compilation_optimization::{
106        CompilationAnalysis, CompilationOptimizer, CompilationOptimizerConfig,
107        OptimizationRecommendation, OptimizationType, RecommendationPriority,
108    };
109
110    pub use crate::automatic_parallelization::{
111        benchmark_automatic_parallelization, AutoParallelBenchmarkResults, AutoParallelConfig,
112        AutoParallelEngine, CircuitParallelResult, DependencyGraph, GateNode,
113        LoadBalancingConfig as AutoLoadBalancingConfig, OptimizationLevel,
114        OptimizationRecommendation as ParallelOptimizationRecommendation, ParallelPerformanceStats,
115        ParallelTask, ParallelizationAnalysis, ParallelizationStrategy, RecommendationComplexity,
116        RecommendationType, ResourceConstraints, ResourceSnapshot, ResourceUtilization,
117        TaskCompletionStats, TaskPriority, WorkStealingStrategy,
118    };
119}
120
121/// Performance analysis and profiling
122pub mod profiling {
123    pub use crate::performance_benchmark::{
124        run_comprehensive_benchmark, run_quick_benchmark, BenchmarkComparison, BenchmarkConfig,
125        BenchmarkResult, MemoryStats as BenchmarkMemoryStats, QuantumBenchmarkSuite,
126        ScalabilityAnalysis, ThroughputStats, TimingStats,
127    };
128
129    pub use crate::telemetry::{
130        benchmark_telemetry, Alert, AlertLevel, AlertThresholds, DiskIOStats, MetricsSummary,
131        NetworkIOStats, PerformanceSnapshot, QuantumMetrics, TelemetryCollector, TelemetryConfig,
132        TelemetryExportFormat, TelemetryMetric,
133    };
134
135    pub use crate::benchmark::*;
136}
137
138/// Developer tools and debugging
139pub mod dev_tools {
140    pub use crate::debugger::{
141        BreakCondition, DebugConfig, DebugReport, PerformanceMetrics, QuantumDebugger, StepResult,
142        WatchFrequency, WatchProperty, Watchpoint,
143    };
144
145    pub use crate::diagnostics::*;
146
147    pub use crate::visualization_hooks::{
148        benchmark_visualization, ASCIIVisualizationHook, ColorScheme, GateVisualizationData,
149        JSONVisualizationHook, VisualizationConfig, VisualizationData, VisualizationFramework,
150        VisualizationHook, VisualizationManager,
151    };
152}
153
154/// Noise models and error correction
155pub mod noise {
156    pub use crate::noise::*;
157    pub use crate::noise::{NoiseChannel, NoiseModel};
158    pub use crate::noise_advanced::*;
159    pub use crate::noise_advanced::{AdvancedNoiseModel, RealisticNoiseModelBuilder};
160
161    pub use crate::device_noise_models::{
162        CalibrationData, CoherenceParameters, DeviceNoiseConfig, DeviceNoiseModel,
163        DeviceNoiseSimulator, DeviceNoiseUtils, DeviceTopology, DeviceType, FrequencyDrift,
164        GateErrorRates, GateTimes, NoiseBenchmarkResults, NoiseSimulationStats,
165        SuperconductingNoiseModel,
166    };
167
168    pub use crate::noise_extrapolation::{
169        benchmark_noise_extrapolation, DistillationProtocol, ExtrapolationMethod, FitStatistics,
170        NoiseScalingMethod, SymmetryOperation, SymmetryVerification, SymmetryVerificationResult,
171        VirtualDistillation, VirtualDistillationResult, ZNEResult, ZeroNoiseExtrapolator,
172    };
173
174    pub use crate::open_quantum_systems::{
175        quantum_fidelity, CompositeNoiseModel, EvolutionResult, IntegrationMethod, LindladOperator,
176        LindladSimulator, NoiseModelBuilder, ProcessTomography, QuantumChannel,
177    };
178}
179
180/// Error correction codes and protocols
181pub mod error_correction {
182    #[allow(unused_imports)]
183    pub use crate::error_correction::*;
184
185    pub use crate::adaptive_ml_error_correction::{
186        benchmark_adaptive_ml_error_correction, AdaptiveCorrectionResult, AdaptiveMLConfig,
187        AdaptiveMLErrorCorrection, CorrectionMetrics, ErrorCorrectionAgent,
188        FeatureExtractionMethod, FeatureExtractor, LearningStrategy, MLModelType,
189        SyndromeClassificationNetwork, TrainingExample as MLTrainingExample,
190    };
191
192    pub use crate::concatenated_error_correction::{
193        benchmark_concatenated_error_correction, create_standard_concatenated_code, CodeParameters,
194        ConcatenatedCodeConfig, ConcatenatedCorrectionResult, ConcatenatedErrorCorrection,
195        ConcatenationLevel, ConcatenationStats, DecodingResult, ErrorCorrectionCode, ErrorType,
196        HierarchicalDecodingMethod, LevelDecodingResult,
197    };
198
199    pub use crate::holographic_quantum_error_correction::{
200        benchmark_holographic_qec, BulkReconstructionMethod, BulkReconstructionResult,
201        HolographicCodeType, HolographicQECBenchmarkResults, HolographicQECConfig,
202        HolographicQECResult, HolographicQECSimulator, HolographicQECStats, HolographicQECUtils,
203    };
204
205    pub use crate::quantum_ldpc_codes::{
206        benchmark_quantum_ldpc_codes, BPDecodingResult, BeliefPropagationAlgorithm, CheckNode,
207        LDPCConfig, LDPCConstructionMethod, LDPCStats, QuantumLDPCCode, TannerGraph, VariableNode,
208    };
209}
210
211/// Advanced algorithms and applications
212pub mod algorithms {
213    pub use crate::adiabatic_quantum_computing::{
214        AdiabaticBenchmarkResults, AdiabaticConfig, AdiabaticQuantumComputer, AdiabaticResult,
215        AdiabaticSnapshot, AdiabaticStats, AdiabaticUtils, GapMeasurement, GapTrackingConfig,
216        ScheduleType,
217    };
218
219    pub use crate::advanced_variational_algorithms::{
220        benchmark_advanced_vqa, AcquisitionFunction, AdvancedOptimizerType, AdvancedVQATrainer,
221        BayesianModel, CompressionMethod, CostFunction, FiniteDifferenceGradient,
222        GradientCalculator, GrowthCriterion, HamiltonianTerm as VQAHamiltonianTerm,
223        IsingCostFunction, MixerHamiltonian, MixerType, NetworkConnectivity,
224        OptimizationProblemType, OptimizerState as VQAOptimizerState, ParameterShiftGradient,
225        ProblemHamiltonian, QuantumActivation, TensorTopology, VQAConfig, VQAResult,
226        VQATrainerState, VQATrainingStats, VariationalAnsatz, WarmRestartConfig,
227    };
228
229    pub use crate::autodiff_vqe::{
230        ansatze, AutoDiffContext, ConvergenceCriteria, GradientMethod, ParametricCircuit,
231        ParametricGate, ParametricRX, ParametricRY, ParametricRZ, VQEIteration, VQEResult,
232        VQEWithAutodiff,
233    };
234
235    pub use crate::quantum_algorithms::{
236        benchmark_quantum_algorithms, AlgorithmResourceStats, EnhancedPhaseEstimation,
237        GroverResult, OptimizationLevel as AlgorithmOptimizationLevel, OptimizedGroverAlgorithm,
238        OptimizedShorAlgorithm, PhaseEstimationResult, QuantumAlgorithmConfig, ShorResult,
239    };
240
241    pub use crate::quantum_annealing::{
242        AnnealingBenchmarkResults, AnnealingResult, AnnealingScheduleType, AnnealingSolution,
243        AnnealingStats, AnnealingTopology, IsingProblem, ProblemType, QUBOProblem,
244        QuantumAnnealingConfig, QuantumAnnealingSimulator, QuantumAnnealingUtils,
245    };
246
247    pub use crate::qaoa_optimization::{
248        benchmark_qaoa, LevelTransitionCriteria, MultiLevelQAOAConfig, QAOAConfig, QAOAConstraint,
249        QAOAGraph, QAOAInitializationStrategy, QAOALevel, QAOAMixerType, QAOAOptimizationStrategy,
250        QAOAOptimizer, QAOAProblemType, QAOAResult, QAOAStats,
251        QuantumAdvantageMetrics as QAOAQuantumAdvantageMetrics, SolutionQuality,
252    };
253}
254
255/// Quantum machine learning and AI
256pub mod quantum_ml {
257    pub use crate::qml_integration::{
258        AdamOptimizer, LossFunction, OptimizerType, QMLBenchmarkResults, QMLFramework,
259        QMLIntegration, QMLIntegrationConfig, QMLLayer, QMLLayerType, QMLOptimizer,
260        QMLTrainingStats, QMLUtils, QuantumNeuralNetwork, SGDOptimizer, TrainingConfig,
261        TrainingExample, TrainingResult,
262    };
263
264    pub use crate::quantum_machine_learning_layers::{
265        benchmark_quantum_ml_layers, AdversarialAttackMethod, AdversarialDefenseMethod,
266        AdversarialTrainingConfig, AlternatingSchedule, AnsatzType, AttentionHead,
267        BenchmarkingProtocols, CachingConfig, CalibrationFrequency, ClassicalArchitecture,
268        ClassicalPreprocessingConfig, ComputationOptimizationConfig, ConnectivityConstraints,
269        ConvolutionalFilter, DataEncodingMethod, DenseConnection,
270        DistillationProtocol as QMLDistillationProtocol, EarlyStoppingConfig, EnsembleMethod,
271        EnsembleMethodsConfig, EntanglementPattern, ErrorMitigationConfig, FeatureSelectionConfig,
272        FeatureSelectionMethod, GradientFlowConfig, GradientMethod as QMLGradientMethod,
273        HardwareOptimizationConfig, HardwareOptimizationLevel, HybridTrainingConfig, LSTMGate,
274        LSTMGateType, LearningRateSchedule,
275        MemoryOptimizationConfig as QMLMemoryOptimizationConfig, NoiseAwareTrainingConfig,
276        NoiseCharacterizationConfig, NoiseCharacterizationMethod, NoiseInjectionConfig,
277        NoiseParameters, NoiseType, OptimizerType as QMLOptimizerType, PQCGate, PQCGateType,
278        ParallelizationConfig, ParameterizedQuantumCircuitLayer, PerformanceOptimizationConfig,
279        QMLArchitectureType, QMLBenchmarkResults as QMLLayersQMLBenchmarkResults, QMLConfig,
280        QMLEpochMetrics, QMLLayer as QMLLayersQMLLayer, QMLLayerConfig,
281        QMLLayerType as QMLLayersQMLLayerType, QMLStats, QMLTrainingAlgorithm, QMLTrainingConfig,
282        QMLTrainingResult, QMLTrainingState, QMLUtils as QMLLayersQMLUtils,
283        QuantumAdvantageMetrics as QMLQuantumAdvantageMetrics, QuantumAttentionLayer,
284        QuantumClassicalInterface, QuantumConvolutionalLayer, QuantumDenseLayer,
285        QuantumHardwareTarget, QuantumLSTMLayer, QuantumMLFramework, RegularizationConfig,
286        RobustTrainingConfig, RotationGate, ScalingMethod, TwoQubitGate, VirtualDistillationConfig,
287        VotingStrategy,
288    };
289
290    pub use crate::quantum_ml_algorithms::{
291        benchmark_quantum_ml_algorithms, GradientMethod as QMLAlgorithmsGradientMethod,
292        HardwareArchitecture, HardwareAwareCompiler, HardwareMetrics, HardwareOptimizations,
293        OptimizerState, OptimizerType as QMLAlgorithmsOptimizerType, ParameterizedQuantumCircuit,
294        QMLAlgorithmType, QMLConfig as QMLAlgorithmsConfig, QuantumMLTrainer, TrainingHistory,
295        TrainingResult as QMLAlgorithmsTrainingResult,
296    };
297
298    pub use crate::quantum_reservoir_computing::{
299        benchmark_quantum_reservoir_computing, InputEncoding, OutputMeasurement,
300        QuantumReservoirArchitecture, QuantumReservoirComputer, QuantumReservoirConfig,
301        QuantumReservoirState, ReservoirDynamics, ReservoirMetrics, ReservoirTrainingData,
302        TrainingResult as ReservoirTrainingResult,
303    };
304
305    pub use crate::quantum_reservoir_computing_enhanced::{
306        benchmark_enhanced_quantum_reservoir_computing, ARIMAParams,
307        ActivationFunction as ReservoirActivationFunction, AdvancedLearningConfig, IPCFunction,
308        LearningAlgorithm, MemoryAnalysisConfig, MemoryAnalyzer, MemoryKernel, MemoryMetrics,
309        MemoryTask, NARState, QuantumReservoirComputerEnhanced,
310        ReservoirTrainingData as EnhancedReservoirTrainingData, TimeSeriesConfig,
311        TimeSeriesPredictor, TrainingExample as ReservoirTrainingExample,
312        TrainingResult as EnhancedTrainingResult, TrendModel,
313    };
314}
315
316/// Specialized simulation methods
317pub mod specialized {
318    pub use crate::fermionic_simulation::{
319        benchmark_fermionic_simulation, FermionicHamiltonian, FermionicOperator,
320        FermionicSimulator, FermionicStats, FermionicString, JordanWignerTransform,
321    };
322
323    pub use crate::photonic::{
324        benchmark_photonic_methods, FockState, PhotonicConfig, PhotonicMethod, PhotonicOperator,
325        PhotonicResult, PhotonicSimulator, PhotonicState, PhotonicStats, PhotonicUtils,
326    };
327
328    pub use crate::path_integral::{
329        benchmark_path_integral_methods, ConvergenceStats, PathIntegralConfig, PathIntegralMethod,
330        PathIntegralResult, PathIntegralSimulator, PathIntegralStats, PathIntegralUtils,
331        QuantumPath,
332    };
333
334    pub use crate::qmc::{DMCResult, PIMCResult, VMCResult, Walker, WaveFunction, DMC, PIMC, VMC};
335
336    pub use crate::decision_diagram::{
337        benchmark_dd_simulator, DDNode, DDOptimizer, DDSimulator, DDStats, DecisionDiagram, Edge,
338    };
339
340    pub use crate::topological_quantum_simulation::{
341        AnyonModel, AnyonType, LatticeType, TopologicalBoundaryConditions, TopologicalConfig,
342        TopologicalErrorCode, TopologicalQuantumSimulator,
343    };
344}
345
346/// Tensor network methods
347pub mod tensor_networks {
348    #[cfg(feature = "advanced_math")]
349    pub use crate::tensor_network::*;
350
351    pub use crate::enhanced_tensor_networks::*;
352
353    pub use crate::parallel_tensor_optimization::{
354        ContractionPair, LoadBalancingStrategy, NumaTopology, ParallelTensorConfig,
355        ParallelTensorEngine, ParallelTensorStats, TensorWorkQueue, TensorWorkUnit,
356        ThreadAffinityConfig,
357    };
358}
359
360/// Memory optimization and management
361pub mod memory {
362    pub use crate::memory_optimization::{
363        AdvancedMemoryPool, MemoryStats as AdvancedMemoryStats, NumaAwareAllocator,
364    };
365
366    pub use crate::memory_bandwidth_optimization::{
367        BandwidthMonitor, MemoryBandwidthOptimizer, MemoryLayout, MemoryOptimizationConfig,
368        MemoryOptimizationReport, MemoryStats, OptimizedStateVector,
369    };
370
371    pub use crate::memory_prefetching_optimization::{
372        AccessPatternPredictor, AccessPatternType, DataLocalityOptimizer,
373        LocalityOptimizationResult, LocalityStrategy, LoopPattern, MemoryPrefetcher, NUMATopology,
374        PerformanceFeedback, PrefetchConfig, PrefetchHint, PrefetchStats, PrefetchStrategy,
375    };
376
377    pub use crate::cache_optimized_layouts::{
378        CacheHierarchyConfig, CacheLayoutAdaptationResult, CacheOperationStats,
379        CacheOptimizedGateManager, CacheOptimizedLayout, CacheOptimizedStateVector,
380        CachePerformanceStats, CacheReplacementPolicy,
381    };
382}
383
384/// SIMD and high-performance operations
385pub mod simd {
386    pub use crate::scirs2_complex_simd::{
387        apply_cnot_complex_simd, apply_hadamard_gate_complex_simd,
388        apply_single_qubit_gate_complex_simd, benchmark_complex_simd_operations, ComplexSimdOps,
389        ComplexSimdVector,
390    };
391
392    pub use crate::scirs2_integration::{
393        BackendStats as SciRS2BackendStats, SciRS2Backend, SciRS2Matrix, SciRS2MemoryAllocator,
394        SciRS2ParallelContext, SciRS2SimdConfig, SciRS2SimdContext, SciRS2Vector,
395        SciRS2VectorizedFFT,
396    };
397}
398
399/// Gate operations and fusion
400pub mod gates {
401    pub use crate::fusion::{
402        benchmark_fusion_strategies, FusedGate, FusionStats, FusionStrategy, GateFusion, GateGroup,
403        OptimizedCircuit, OptimizedGate,
404    };
405
406    pub use crate::adaptive_gate_fusion::*;
407
408    pub use crate::specialized_gates::{
409        specialize_gate, CNOTSpecialized, CPhaseSpecialized, CZSpecialized, FredkinSpecialized,
410        HadamardSpecialized, PauliXSpecialized, PauliYSpecialized, PauliZSpecialized,
411        PhaseSpecialized, RXSpecialized, RYSpecialized, RZSpecialized, SGateSpecialized,
412        SWAPSpecialized, SpecializedGate, TGateSpecialized, ToffoliSpecialized,
413    };
414
415    pub use crate::operation_cache::{
416        CacheConfig, CacheStats, CachedData, CachedOperation, EvictionPolicy, GateMatrixCache,
417        OperationKey, QuantumOperationCache,
418    };
419}
420
421/// Measurement and sampling
422pub mod measurement {
423    pub use crate::shot_sampling::{
424        analysis, BitString, ComparisonResult, ConvergenceResult, ExpectationResult,
425        MeasurementStatistics, NoiseModel as SamplingNoiseModel, QuantumSampler,
426        SamplingConfig as ShotSamplingConfig, ShotResult, SimpleReadoutNoise,
427    };
428}
429
430/// SciRS2 integration and enhancements
431pub mod scirs2 {
432    pub use crate::scirs2_eigensolvers::{
433        benchmark_spectral_analysis, BandStructureResult, EntanglementSpectrumResult,
434        PhaseTransitionResult, QuantumHamiltonianLibrary, SciRS2SpectralAnalyzer,
435        SpectralAnalysisResult, SpectralConfig, SpectralDensityResult, SpectralStatistics,
436    };
437
438    pub use crate::scirs2_qft::{
439        benchmark_qft_methods, compare_qft_accuracy, QFTConfig, QFTMethod, QFTStats, QFTUtils,
440        SciRS2QFT,
441    };
442
443    pub use crate::scirs2_sparse::{
444        benchmark_sparse_solvers, compare_sparse_solver_accuracy, Preconditioner,
445        SciRS2SparseSolver, SparseEigenResult, SparseFormat, SparseMatrix, SparseMatrixUtils,
446        SparseSolverConfig, SparseSolverMethod, SparseSolverStats,
447    };
448}
449
450/// Utility functions and common operations
451pub mod utils {
452    pub use crate::pauli::{PauliOperator, PauliOperatorSum, PauliString, PauliUtils};
453    pub use crate::sparse::{apply_sparse_gate, CSRMatrix, SparseGates, SparseMatrixBuilder};
454    pub use crate::trotter::{
455        Hamiltonian, HamiltonianLibrary, HamiltonianTerm, TrotterDecomposer, TrotterMethod,
456    };
457    pub use crate::utils::*;
458}
459
460/// Dynamic simulation and JIT compilation
461pub mod dynamic {
462    pub use crate::dynamic::*;
463
464    pub use crate::jit_compilation::{
465        benchmark_jit_compilation, CompilationPriority, CompilationStatus, CompiledFunction,
466        CompiledGateSequence, GateSequencePattern, JITBenchmarkResults, JITCompiler, JITConfig,
467        JITOptimization, JITOptimizationLevel, JITPerformanceStats, JITQuantumSimulator,
468        JITSimulatorStats, OptimizationSuggestion, PatternAnalysisResult, PatternComplexity,
469        RuntimeProfiler, RuntimeProfilerStats,
470    };
471}
472
473/// Mixed precision and adaptive algorithms
474pub mod precision {
475    pub use crate::precision::{
476        benchmark_precisions, AdaptivePrecisionConfig, AdaptiveStateVector, ComplexAmplitude,
477        ComplexF16, Precision, PrecisionStats, PrecisionTracker,
478    };
479
480    pub use crate::mixed_precision::*;
481    pub use crate::mixed_precision_impl::*;
482}