quantrs2_core/
lib.rs

1//! Core types and traits for the QuantRS2 quantum computing framework.
2//!
3//! This crate provides the foundational types and traits used throughout
4//! the QuantRS2 ecosystem, including qubit identifiers, quantum gates,
5//! and register representations.
6//!
7//! ## Key Features
8//!
9//! - **Platform-Aware Optimization**: Automatic detection of CPU/GPU capabilities for optimal performance
10//! - **SIMD Acceleration**: Fully migrated to `scirs2_core::simd_ops` for vectorized quantum operations
11//! - **GPU Support**: CUDA, OpenCL, and Metal (macOS) backends with forward-compatible SciRS2 integration
12//! - **Adaptive Algorithms**: Runtime selection of optimal implementations based on hardware capabilities
13//!
14//! ## Recent Updates (v0.1.0-beta.2)
15//!
16//! - Refined SciRS2 v0.1.0-beta.3 integration with unified import patterns
17//! - Comprehensive policy documentation (SCIRS2_INTEGRATION_POLICY.md)
18//! - Enhanced random number generation with `UnifiedNormal`, `UnifiedBeta`
19//! - Consistent SciRS2 usage: `scirs2_core::ndarray::*`, `scirs2_core::random::prelude::*`
20//! - Improved developer experience with CLAUDE.md development guidelines
21
22#![allow(clippy::ptr_eq)]
23#![warn(clippy::all)]
24#![allow(dead_code)]
25#![allow(clippy::type_complexity)]
26#![allow(clippy::needless_range_loop)]
27#![allow(clippy::assign_op_pattern)]
28#![allow(clippy::manual_range_contains)]
29#![allow(clippy::should_implement_trait)]
30#![allow(clippy::new_without_default)]
31#![allow(clippy::too_many_arguments)]
32#![allow(clippy::module_inception)]
33#![allow(clippy::clone_on_copy)]
34#![allow(clippy::op_ref)]
35#![allow(clippy::manual_flatten)]
36#![allow(clippy::map_clone)]
37#![allow(clippy::redundant_closure)]
38#![allow(clippy::needless_borrow)]
39#![allow(clippy::default_constructed_unit_structs)]
40#![allow(clippy::useless_vec)]
41#![allow(clippy::identity_op)]
42#![allow(clippy::single_match)]
43#![allow(clippy::vec_init_then_push)]
44#![allow(clippy::legacy_numeric_constants)]
45#![allow(clippy::unnecessary_min_or_max)]
46#![allow(clippy::manual_div_ceil)]
47#![allow(clippy::unwrap_or_default)]
48#![allow(clippy::derivable_impls)]
49#![allow(clippy::match_like_matches_macro)]
50#![allow(clippy::borrowed_box)]
51#![allow(clippy::explicit_auto_deref)]
52#![allow(clippy::await_holding_lock)]
53#![allow(clippy::unused_enumerate_index)]
54#![allow(clippy::large_enum_variant)]
55#![allow(clippy::needless_bool)]
56#![allow(clippy::field_reassign_with_default)]
57#![allow(clippy::upper_case_acronyms)]
58#![allow(clippy::needless_question_mark)]
59
60pub mod adaptive_precision;
61pub mod adiabatic;
62pub mod advanced_error_mitigation;
63pub mod batch;
64pub mod benchmarking_integration;
65pub mod bosonic;
66pub mod buffer_pool;
67pub mod cartan;
68pub mod characterization;
69pub mod circuit_synthesis;
70pub mod cloud_platforms;
71pub mod compilation_cache;
72pub mod complex_ext;
73pub mod controlled;
74pub mod decomposition;
75pub mod distributed_quantum_networks;
76pub mod eigensolve;
77pub mod equivalence_checker;
78pub mod error;
79pub mod error_correction;
80pub mod fermionic;
81pub mod gate;
82pub mod gate_translation;
83pub mod gpu;
84mod gpu_stubs;
85pub mod hardware_compilation;
86pub mod hhl;
87pub mod holonomic;
88pub mod hybrid_learning;
89#[cfg(feature = "python")]
90pub mod jupyter_visualization;
91pub mod kak_multiqubit;
92pub mod linalg_stubs;
93pub mod matrix_ops;
94pub mod mbqc;
95pub mod memory_efficient;
96pub mod ml_error_mitigation;
97pub mod neutral_atom;
98pub mod noise_characterization;
99pub mod operations;
100pub mod optimization;
101pub mod optimization_stubs;
102pub mod optimizations;
103pub mod optimizations_stable;
104pub mod parallel_ops_stubs;
105pub mod parametric;
106pub mod photonic;
107pub mod platform;
108pub mod post_quantum_crypto;
109pub mod profiling_advanced;
110pub mod pulse;
111#[cfg(feature = "python")]
112pub mod python_bindings;
113pub mod qaoa;
114pub mod qml;
115pub mod qpca;
116pub mod quantum_algorithm_profiling;
117pub mod quantum_amplitude_estimation;
118pub mod quantum_autodiff;
119pub mod quantum_aware_interpreter;
120pub mod quantum_benchmarking;
121pub mod quantum_cellular_automata;
122pub mod quantum_channels;
123pub mod quantum_classical_hybrid;
124#[cfg(feature = "python")]
125pub mod quantum_complexity_analysis;
126pub mod quantum_counting;
127pub mod quantum_debugger;
128pub mod quantum_debugging_profiling;
129pub mod quantum_game_theory;
130pub mod quantum_garbage_collection;
131pub mod quantum_hardware_abstraction;
132pub mod quantum_internet;
133pub mod quantum_language_compiler;
134pub mod scirs2_equivalence_checker;
135// pub mod quantum_internet_enhancements;  // Temporarily disabled due to compilation issues
136pub mod quantum_memory_hierarchy;
137pub mod quantum_memory_integration;
138pub mod quantum_ml_accelerators;
139pub mod quantum_operating_system;
140pub mod quantum_process_isolation;
141pub mod quantum_resource_management;
142pub mod quantum_sensor_networks;
143pub mod quantum_supremacy_algorithms;
144pub mod quantum_universal_framework;
145pub mod quantum_volume_tomography;
146pub mod quantum_walk;
147pub mod qubit;
148pub mod real_time_compilation;
149pub mod realtime_monitoring;
150pub mod register;
151pub mod resource_estimator;
152pub mod rl_circuit_optimization;
153pub mod scirs2_auto_optimizer;
154pub mod scirs2_circuit_verifier;
155pub mod scirs2_circuit_verifier_enhanced;
156pub mod scirs2_quantum_formatter;
157pub mod scirs2_quantum_formatter_enhanced;
158pub mod scirs2_quantum_linter;
159pub mod scirs2_quantum_linter_enhanced;
160pub mod scirs2_quantum_profiler;
161pub mod scirs2_quantum_profiler_enhanced;
162pub mod scirs2_resource_estimator_enhanced;
163pub mod shannon;
164pub mod silicon_quantum_dots;
165pub mod simd_enhanced;
166pub mod simd_ops;
167pub mod simd_ops_stubs;
168pub mod symbolic;
169pub mod symbolic_hamiltonian;
170pub mod symbolic_optimization;
171pub mod synthesis;
172pub mod tensor_network;
173pub mod testing;
174pub mod topological;
175pub mod trapped_ion;
176pub mod ultra_high_fidelity_synthesis;
177pub mod ultrathink_core;
178pub mod variational;
179pub mod variational_optimization;
180pub mod zx_calculus;
181pub mod zx_extraction;
182
183/// New organized API for QuantRS2 1.0
184///
185/// This module provides a hierarchical organization of the core API
186/// with clear naming conventions and logical grouping.
187pub mod api;
188
189/// Re-exports of commonly used types and traits
190///
191/// For new code, consider using the organized API modules in `api::prelude` instead.
192/// This module is maintained for backward compatibility.
193pub mod prelude {
194    // Import specific items from each module to avoid ambiguous glob re-exports
195    pub use crate::adiabatic::{
196        AdiabaticQuantumComputer, AnnealingSchedule, IsingProblem, ProblemGenerator, ProblemType,
197        QUBOProblem, QuantumAnnealer, QuantumAnnealingSnapshot,
198    };
199    pub use crate::batch::execution::{
200        create_optimized_executor, BatchCircuit, BatchCircuitExecutor,
201    };
202    pub use crate::batch::measurement::{
203        measure_batch, measure_batch_with_statistics, measure_expectation_batch,
204        measure_tomography_batch, BatchMeasurementStatistics, BatchTomographyResult,
205        MeasurementConfig, TomographyBasis,
206    };
207    pub use crate::batch::operations::{
208        apply_gate_sequence_batch, apply_single_qubit_gate_batch, apply_two_qubit_gate_batch,
209        compute_expectation_values_batch,
210    };
211    pub use crate::batch::optimization::{
212        BatchParameterOptimizer, BatchQAOA, BatchVQE,
213        OptimizationConfig as BatchOptimizationConfig, QAOAResult, VQEResult,
214    };
215    pub use crate::batch::{
216        create_batch, merge_batches, split_batch, BatchConfig, BatchExecutionResult, BatchGateOp,
217        BatchMeasurementResult, BatchStateVector,
218    };
219    pub use crate::benchmarking_integration::{
220        ComprehensiveBenchmarkReport, ComprehensiveBenchmarkSuite, MitigationStrategy,
221        NoiseAnalysis, QAOABenchmarkResults,
222    };
223    pub use crate::bosonic::{
224        boson_to_qubit_encoding, BosonHamiltonian, BosonOperator, BosonOperatorType, BosonTerm,
225        GaussianState,
226    };
227    pub use crate::cartan::{
228        cartan_decompose, CartanCoefficients, CartanDecomposer, CartanDecomposition,
229        OptimizedCartanDecomposer,
230    };
231    pub use crate::characterization::{GateCharacterizer, GateEigenstructure, GateType};
232    pub use crate::compilation_cache::{
233        get_compilation_cache, initialize_compilation_cache, CacheConfig, CacheStatistics,
234        CompilationCache, CompiledGate,
235    };
236    pub use crate::complex_ext::{quantum_states, QuantumComplexExt};
237    pub use crate::controlled::{
238        make_controlled, make_multi_controlled, ControlledGate, FredkinGate, MultiControlledGate,
239        ToffoliGate,
240    };
241    pub use crate::decomposition::clifford_t::{
242        count_t_gates_in_sequence, optimize_gate_sequence as optimize_clifford_t_sequence,
243        CliffordGate, CliffordTDecomposer, CliffordTGate, CliffordTSequence,
244    };
245    pub use crate::decomposition::decompose_u_gate;
246    pub use crate::decomposition::solovay_kitaev::{
247        count_t_gates, BaseGateSet, SolovayKitaev, SolovayKitaevConfig,
248    };
249    pub use crate::decomposition::utils::{
250        clone_gate, decompose_circuit, optimize_gate_sequence, GateSequence,
251    };
252    pub use crate::distributed_quantum_networks::{
253        DistributedGateType, DistributedQuantumGate, EntanglementManager, EntanglementProtocol,
254        NetworkScheduler, QuantumNetwork, QuantumNode,
255    };
256    pub use crate::error::*;
257    pub use crate::error_correction::{
258        ColorCode, LookupDecoder, MWPMDecoder, Pauli, PauliString, StabilizerCode, SurfaceCode,
259        SyndromeDecoder,
260    };
261    pub use crate::fermionic::{
262        qubit_operator_to_gates, BravyiKitaev, FermionHamiltonian, FermionOperator,
263        FermionOperatorType, FermionTerm, JordanWigner, PauliOperator, QubitOperator, QubitTerm,
264    };
265    pub use crate::gate::*;
266    pub use crate::gpu::{
267        cpu_backend::CpuBackend, initialize_adaptive_simd, GpuBackend, GpuBackendFactory,
268        GpuBuffer, GpuConfig, GpuKernel, GpuStateVector, OptimizationConfig, SpecializedGpuKernels,
269    };
270    pub use crate::hhl::{hhl_example, HHLAlgorithm, HHLParams};
271    pub use crate::holonomic::{
272        // GeometricErrorCorrection, HolonomicGate, HolonomicGateSynthesis, HolonomicPath,
273        // HolonomicQuantumComputer, PathOptimizationConfig,
274        WilsonLoop,
275    };
276    pub use crate::kak_multiqubit::{
277        kak_decompose_multiqubit, DecompositionMethod, DecompositionStats, DecompositionTree,
278        KAKTreeAnalyzer, MultiQubitKAK, MultiQubitKAKDecomposer,
279    };
280    pub use crate::matrix_ops::{
281        matrices_approx_equal, partial_trace, tensor_product_many, DenseMatrix, QuantumMatrix,
282        SparseMatrix,
283    };
284    pub use crate::mbqc::{
285        CircuitToMBQC, ClusterState, Graph as MBQCGraph, MBQCComputation, MeasurementBasis,
286        MeasurementPattern,
287    };
288    pub use crate::memory_efficient::{EfficientStateVector, StateMemoryStats};
289    pub use crate::neutral_atom::{
290        AtomSpecies, AtomState, LaserSystem, NeutralAtom, NeutralAtomErrorModel, NeutralAtomGates,
291        NeutralAtomQC, OpticalTweezer, Position3D,
292    };
293    pub use crate::noise_characterization::{
294        CrossEntropyBenchmarking, CrossEntropyResult, DDPulse, DynamicalDecoupling,
295        ExtrapolationMethod, NoiseModel as CharacterizationNoiseModel,
296        ProbabilisticErrorCancellation, RandomizedBenchmarking, RandomizedBenchmarkingResult,
297        ZeroNoiseExtrapolation,
298    };
299    pub use crate::operations::{
300        apply_and_sample, sample_outcome, MeasurementOutcome, OperationResult, POVMMeasurement,
301        ProjectiveMeasurement, QuantumOperation, Reset,
302    };
303    pub use crate::optimization::compression::{
304        CompressedGate, CompressionConfig, CompressionStats, CompressionType, GateMetadata,
305        GateSequenceCompressor,
306    };
307    pub use crate::optimization::fusion::{CliffordFusion, GateFusion};
308    pub use crate::optimization::lazy_evaluation::{
309        LazyEvaluationConfig, LazyEvaluationStats, LazyGateContext, LazyOptimizationPipeline,
310        OptimizationResult as LazyOptimizationResult, OptimizationStats,
311    };
312    pub use crate::optimization::peephole::{PeepholeOptimizer, TCountOptimizer};
313    pub use crate::optimization::zx_optimizer::ZXOptimizationPass;
314    pub use crate::optimization::{
315        gates_are_disjoint, gates_can_commute, OptimizationChain, OptimizationPass,
316    };
317    pub use crate::parametric::{Parameter, ParametricGate, SymbolicParameter};
318    pub use crate::photonic::{
319        OpticalMode, PhotonicCircuit, PhotonicEncoding, PhotonicErrorCorrection, PhotonicGate,
320        PhotonicGateType, PhotonicSystem,
321    };
322    pub use crate::post_quantum_crypto::{
323        CompressionFunction, QKDProtocol, QKDResult, QuantumDigitalSignature, QuantumHashFunction,
324        QuantumKeyDistribution, QuantumSignature,
325    };
326    pub use crate::pulse::{
327        CouplingParams, HardwareCalibration, Pulse, PulseCompiler, PulseEnvelope, PulseNoiseModel,
328        PulseSequence, QubitControlParams, TimingConstraints,
329    };
330    pub use crate::qaoa::{
331        CostHamiltonian, MixerHamiltonian, QAOACircuit, QAOAOptimizer, QAOAParams,
332    };
333    pub use crate::qml::encoding::{DataEncoder, DataReuploader, FeatureMap, FeatureMapType};
334    pub use crate::qml::generative_adversarial::{
335        NoiseType, QGANConfig, QGANIterationMetrics, QGANTrainingStats, QuantumDiscriminator,
336        QuantumGenerator, QGAN,
337    };
338    pub use crate::qml::layers::{
339        EntanglingLayer, HardwareEfficientLayer, PoolingStrategy, QuantumPoolingLayer,
340        RotationLayer, StronglyEntanglingLayer,
341    };
342    pub use crate::qml::reinforcement_learning::{
343        Experience, QLearningStats, QuantumActorCritic, QuantumDQN, QuantumPolicyNetwork,
344        QuantumRLConfig, QuantumValueNetwork, ReplayBuffer, TrainingMetrics as RLTrainingMetrics,
345    };
346    pub use crate::qml::training::{
347        HPOStrategy, HyperparameterOptimizer, LossFunction, Optimizer, QMLTrainer, TrainingConfig,
348        TrainingMetrics,
349    };
350    pub use crate::qml::{
351        create_entangling_gates, natural_gradient, quantum_fisher_information, EncodingStrategy,
352        EntanglementPattern, QMLCircuit, QMLConfig, QMLLayer,
353    };
354    pub use crate::qpca::{DensityMatrixPCA, QPCAParams, QuantumPCA};
355    pub use crate::quantum_algorithm_profiling::{
356        AlgorithmType, ComplexityClass, ProfilingLevel, QuantumAdvantageCalculator,
357        QuantumAlgorithmProfiler, QuantumBenchmarkResult, QuantumBottleneckDetector,
358        QuantumComplexityAnalyzer, QuantumOptimizationAdvisor, QuantumPerformanceAnalyzer,
359        QuantumProfilingAdvantageReport, QuantumProfilingReport, QuantumResourceMonitor,
360    };
361    pub use crate::quantum_aware_interpreter::{
362        ExecutionStrategy, OperationResult as InterpreterOperationResult, QuantumAwareInterpreter,
363        QuantumJITCompiler, QuantumStateTracker, RuntimeOptimizationEngine,
364    };
365    pub use crate::quantum_benchmarking::{
366        BenchmarkConfig, BenchmarkResult, ComparativeBenchmark, DDEffectivenessResult,
367        QAOABenchmarkResult, QuantumBenchmarkSuite, QuantumVolumeBenchmarkResult, ResourceUsage,
368    };
369    pub use crate::quantum_cellular_automata::{
370        BoundaryCondition, QCARule, QCAType, QuantumCellularAutomaton1D,
371        QuantumCellularAutomaton2D, UnitaryRule,
372    };
373    pub use crate::quantum_channels::{
374        ChoiRepresentation, KrausRepresentation, ProcessTomography, QuantumChannel,
375        QuantumChannels, StinespringRepresentation,
376    };
377    pub use crate::quantum_counting::{
378        amplitude_estimation_example, quantum_counting_example, QuantumAmplitudeEstimation,
379        QuantumCounting, QuantumPhaseEstimation,
380    };
381    pub use crate::quantum_debugging_profiling::{
382        CircuitAnalysisReport, ProfilingReport, QuantumCircuitAnalyzer, QuantumDebugProfiling,
383        QuantumDebugProfilingReport, QuantumDebugger, QuantumErrorTracker,
384        QuantumPerformanceProfiler, QuantumStateInspector, StateInspectionReport,
385    };
386    pub use crate::quantum_game_theory::{
387        GameOutcome, GameType, QuantumGame, QuantumMechanism, QuantumPlayer, QuantumStrategy,
388    };
389    pub use crate::quantum_garbage_collection::{
390        CoherenceBasedGC, GCCollectionMode, GCCollectionResult, QuantumAllocationRequest,
391        QuantumAllocationResult, QuantumGCAdvantageReport, QuantumGarbageCollector,
392        QuantumLifecycleManager, QuantumReferenceCounter,
393    };
394    pub use crate::quantum_hardware_abstraction::{
395        AdaptiveMiddleware, CalibrationEngine, ErrorMitigationLayer, ExecutionRequirements,
396        HardwareCapabilities, HardwareResourceManager, HardwareType, QuantumHardwareAbstraction,
397        QuantumHardwareBackend,
398    };
399    pub use crate::quantum_internet::{
400        DistributedQuantumComputing, GlobalQuantumKeyDistribution, QuantumInternet,
401        QuantumInternetAdvantageReport, QuantumInternetNode, QuantumInternetSecurity,
402        QuantumNetworkInfrastructure, QuantumRouting,
403    };
404    pub use crate::quantum_memory_hierarchy::{
405        CacheReplacementPolicy, L1QuantumCache, L2QuantumCache, L3QuantumCache,
406        MemoryOperationType, OptimizationResult as MemoryOptimizationResult, QuantumMainMemory,
407        QuantumMemoryAdvantageReport, QuantumMemoryHierarchy, QuantumMemoryOperation,
408        QuantumMemoryResult,
409    };
410    pub use crate::quantum_memory_integration::{
411        CoherenceManager, MemoryAccessController, QuantumMemory, QuantumMemoryErrorCorrection,
412        QuantumState, QuantumStorageLayer,
413    };
414    pub use crate::quantum_ml_accelerators::{
415        HardwareEfficientMLLayer, ParameterShiftOptimizer, QuantumFeatureMap,
416        QuantumKernelOptimizer, QuantumNaturalGradient, TensorNetworkMLAccelerator,
417    };
418    pub use crate::quantum_operating_system::{
419        QuantumMemoryManager, QuantumOSAdvantageReport, QuantumOperatingSystem,
420        QuantumProcessManager, QuantumScheduler, QuantumSecurityManager,
421    };
422    pub use crate::quantum_process_isolation::{
423        IsolatedProcessResult, IsolatedQuantumProcess, IsolationLevel, QuantumAccessController,
424        QuantumProcessIsolation, QuantumSandbox, QuantumSecurityAdvantageReport,
425        QuantumStateIsolator, SecureQuantumOperation, SecurityDomain, VirtualQuantumMachine,
426    };
427    pub use crate::quantum_resource_management::{
428        AdvancedQuantumScheduler, AdvancedSchedulingResult, CoherenceAwareManager,
429        OptimizationLevel, QuantumProcess, QuantumResourceAdvantageReport,
430        QuantumResourceAllocator, QuantumResourceManager, QuantumWorkloadOptimizer,
431        SchedulingPolicy,
432    };
433    pub use crate::quantum_sensor_networks::{
434        DistributedSensingResult, EntanglementDistribution, EnvironmentalMonitoringResult,
435        QuantumMetrologyEngine, QuantumSensor, QuantumSensorAdvantageReport, QuantumSensorNetwork,
436        QuantumSensorType,
437    };
438    pub use crate::quantum_supremacy_algorithms::{
439        BosonSampling, BosonSamplingSupremacyResult, IQPSampling, QuantumSimulationAdvantageResult,
440        QuantumSupremacyBenchmarkReport, QuantumSupremacyEngine, RandomCircuitSampling,
441        RandomCircuitSupremacyResult,
442    };
443    pub use crate::quantum_universal_framework::{
444        AdaptiveExecutionResult, AdaptiveQuantumRuntime, ArchitectureType, CrossPlatformOptimizer,
445        QuantumHardwareRegistry, QuantumPortabilityEngine, UniversalCompilationResult,
446        UniversalFrameworkAdvantageReport, UniversalQuantumCircuit, UniversalQuantumCompiler,
447        UniversalQuantumFramework,
448    };
449    pub use crate::quantum_volume_tomography::{
450        GateSetModel, GateSetTomography, ProcessMatrix, QuantumProcessTomography, QuantumVolume,
451        QuantumVolumeResult,
452    };
453    pub use crate::quantum_walk::{
454        CoinOperator, ContinuousQuantumWalk, DecoherentQuantumWalk, DiscreteQuantumWalk, Graph,
455        GraphType, MultiWalkerQuantumWalk, QuantumWalkSearch, SearchOracle, SzegedyQuantumWalk,
456    };
457    pub use crate::qubit::*;
458    pub use crate::real_time_compilation::{
459        CompilationContext, HardwareTarget, OptimizationPipeline, PerformanceMonitor,
460        RealTimeQuantumCompiler,
461    };
462    pub use crate::register::*;
463    pub use crate::scirs2_auto_optimizer::{
464        AutoOptimizer, AutoOptimizerConfig, BackendConfiguration, BackendSelection, BackendType,
465        CommunicationBackend, ComplexityClass as AutoOptimizerComplexityClass, ComplexityEstimate,
466        DistributedConfiguration, EntanglementAnalysis, FloatPrecision, GPUConfiguration,
467        GPUMemoryStrategy, GateComposition, LoadBalancingStrategy, MemoryPattern, MemoryStrategy,
468        OptimizationRecommendation as AutoOptimizerOptimizationRecommendation,
469        ParallelizationPotential, PerformanceMetrics as AutoOptimizerPerformanceMetrics,
470        PerformanceProfile, PrecisionSettings, ProblemAnalysis, ProblemSizeLimits,
471        ProblemType as AutoOptimizerProblemType,
472        RecommendationType as AutoOptimizerRecommendationType, ResourceCost, ResourceMonitor,
473        ResourceRequirements as AutoOptimizerResourceRequirements, ResourceUtilization,
474    };
475    pub use crate::scirs2_circuit_verifier::{
476        AlgorithmSpecification, AlgorithmVerificationResult, CircuitVerificationResult,
477        EquivalenceType, EquivalenceVerificationResult, NumericalStabilityAnalysis,
478        SciRS2CircuitVerifier, SciRS2VerificationEnhancements, VerificationConfig,
479        VerificationVerdict,
480    };
481    pub use crate::scirs2_circuit_verifier_enhanced::{
482        CertificateFormat, CircuitProperty, ConfidenceStatistics, Counterexample,
483        EnhancedCircuitVerifier, EnhancedVerificationConfig, FormalProof, FormalVerificationResult,
484        ProofStep, ProofStepType, ProofType, QCTLSpecification, QHLSpecification,
485        QLTLSpecification, SpecificationLanguage, VerificationReport, VerificationSummary,
486        VerificationTechnique, ZXSpecification,
487    };
488    pub use crate::scirs2_quantum_formatter::{
489        AnnotationLocation, AnnotationType, CodeAnnotation, CommentStyle, FormattedCode,
490        FormattingConfig, FormattingStatistics, FormattingStyle, IndentationStyle, OutputFormat,
491        ProgrammingLanguage, SciRS2QuantumFormatter,
492    };
493    pub use crate::scirs2_quantum_formatter_enhanced::{
494        AlgorithmPhase, BeautificationSuggestions, ChangeType, CircuitChange, ColorScheme,
495        CustomFormattingRule, EnhancedFormattedCode, EnhancedFormattingConfig,
496        EnhancedQuantumFormatter, FormattingOptions, FormattingSuggestion, HardwareFormattingInfo,
497        IncrementalUpdate, InteractiveSuggestion, PlatformOptimization, QuantumBackend,
498        QuantumPattern, SemanticInfo, SuggestionLocation, SuggestionType, SyntaxMetadata,
499        SyntaxScope, SyntaxToken, TemplatedCode, TokenType, UpdatedSection, VisualFormat,
500    };
501    pub use crate::scirs2_quantum_linter::{
502        AutomaticFix, LintFinding, LintFindingType, LintSeverity, LintingConfig, LintingReport,
503        OptimizationSuggestion, SciRS2Enhancement, SciRS2QuantumLinter,
504    };
505    pub use crate::scirs2_quantum_linter_enhanced::{
506        ChangeOperation, CircuitLocation, CircuitMetadata, CodeChange, Compatibility,
507        CustomLintRule, EnhancedLintFinding, EnhancedLintingConfig, EnhancedLintingReport,
508        EnhancedQuantumLinter, FixSuggestion, GatePatternMatcher, HardwareArchitecture,
509        ImpactAnalysis, LintPattern, LintingSummary, PerformanceImpact, QualityMetrics,
510        ReportFormat, ResourceImpact, ResourceMatcher, RiskLevel, StructuralMatcher,
511    };
512    pub use crate::scirs2_quantum_profiler::{
513        CircuitProfilingResult, GateProfilingResult, MemoryAnalysis, OptimizationRecommendation,
514        ProfilingPrecision, ProfilingSessionReport, SciRS2EnhancementSummary,
515        SciRS2ProfilingConfig, SciRS2QuantumProfiler, SimdAnalysis,
516    };
517    pub use crate::scirs2_quantum_profiler_enhanced::{
518        AnomalyEvent, AnomalySeverity, Bottleneck, BottleneckAnalysis, BottleneckType, Difficulty,
519        EnhancedGateProfilingResult, EnhancedOptimizationRecommendation, EnhancedProfilingConfig,
520        EnhancedProfilingReport, EnhancedQuantumProfiler, ExportFormat, HardwareCharacteristics,
521        HardwareOptimizationStrategy, HardwarePerformanceModel, MetricStatistics, MetricType,
522        OpportunityType, OptimizationOpportunity, PerformanceMetrics, PerformancePredictions,
523        PredictedPerformance, Priority, ProfilingSummary, RecommendationType, ScalingAnalysis,
524        ScalingModel, ScalingType,
525    };
526    pub use crate::scirs2_resource_estimator_enhanced::{
527        AnalysisDepth, BasicResourceAnalysis, CircuitTopology, CloudPlatform, ComparativeAnalysis,
528        ComplexityMetrics, ConstraintPriority, ConstraintType, CostAnalysisResult, CostBreakdown,
529        CostOptimization, Effort, EnhancedResourceConfig, EnhancedResourceEstimate,
530        EnhancedResourceEstimator, ErrorBudget, EstimationOptions, GatePattern, GateStatistics,
531        HardwareRecommendation, Impact, MLPredictions, MemoryRequirements, MonitoringReport,
532        OptimizationLevel as ResourceOptimizationLevel, OptimizationObjective,
533        OptimizationStrategy, PlatformCost, Priority as ResourcePriority, ReadinessLevel,
534        Recommendation, RecommendationCategory, ResourceAnomaly, ResourceConstraint,
535        ResourceImprovement, ResourceRequirements, ResourceScores, RiskAssessment,
536        ScalingPredictions, TopologyType,
537    };
538    pub use crate::shannon::{shannon_decompose, OptimizedShannonDecomposer, ShannonDecomposer};
539    pub use crate::silicon_quantum_dots::{
540        DeviceParams, QuantumDotParams, QuantumDotType, SiliconQuantumDot, SiliconQuantumDotGates,
541        SiliconQuantumDotSystem,
542    };
543    pub use crate::simd_ops::{
544        apply_phase_simd, controlled_phase_simd, expectation_z_simd, inner_product, normalize_simd,
545    };
546    #[cfg(feature = "symbolic")]
547    pub use crate::symbolic::calculus::{diff, expand, integrate, limit, simplify};
548    pub use crate::symbolic::{matrix::SymbolicMatrix, SymbolicExpression};
549    pub use crate::symbolic_hamiltonian::{
550        hamiltonians::{
551            heisenberg, maxcut, molecular_h2, number_partitioning, transverse_field_ising,
552        },
553        PauliOperator as SymbolicPauliOperator, PauliString as SymbolicPauliString,
554        SymbolicHamiltonian, SymbolicHamiltonianTerm,
555    };
556    pub use crate::symbolic_optimization::{
557        circuit_optimization::{extract_circuit_parameters, optimize_parametric_circuit},
558        HamiltonianExpectation, OptimizationResult, QAOACostFunction, SymbolicObjective,
559        SymbolicOptimizationConfig, SymbolicOptimizer,
560    };
561    pub use crate::synthesis::{
562        decompose_single_qubit_xyx, decompose_single_qubit_zyz, decompose_two_qubit_kak,
563        identify_gate, synthesize_unitary, KAKDecomposition, SingleQubitDecomposition,
564    };
565    pub use crate::tensor_network::{
566        contraction_optimization::DynamicProgrammingOptimizer, Tensor, TensorEdge, TensorNetwork,
567        TensorNetworkBuilder, TensorNetworkSimulator,
568    };
569    pub use crate::testing::{
570        QuantumAssert, QuantumTest, QuantumTestSuite, TestResult, TestSuiteResult,
571        DEFAULT_TOLERANCE,
572    };
573    pub use crate::topological::{
574        AnyonModel, AnyonType, AnyonWorldline, BraidingOperation, FibonacciModel, FusionTree,
575        IsingModel, TopologicalGate, TopologicalQC, ToricCode,
576    };
577    pub use crate::trapped_ion::{
578        IonLevel, IonSpecies, LaserPulse, MotionalMode, MotionalModeType, TrappedIon,
579        TrappedIonGates, TrappedIonSystem,
580    };
581    pub use crate::ultra_high_fidelity_synthesis::{
582        ErrorSuppressedSequence, ErrorSuppressionSynthesis, GateOperation, GrapeOptimizer,
583        GrapeResult, NoiseModel, QuantumGateRL, RLResult, SynthesisConfig, SynthesisMethod,
584        UltraFidelityResult, UltraHighFidelitySynthesis,
585    };
586    pub use crate::ultrathink_core::{
587        DistributedQuantumNetwork, HolonomicProcessor, QuantumAdvantageReport,
588        QuantumMLAccelerator, QuantumMemoryCore, RealTimeCompiler, UltraThinkQuantumComputer,
589    };
590    pub use crate::variational::{
591        ComputationGraph, DiffMode, Dual, Node, Operation, VariationalCircuit, VariationalGate,
592        VariationalOptimizer,
593    };
594    pub use crate::variational_optimization::{
595        create_natural_gradient_optimizer, create_qaoa_optimizer, create_spsa_optimizer,
596        create_vqe_optimizer, ConstrainedVariationalOptimizer,
597        HyperparameterOptimizer as VariationalHyperparameterOptimizer,
598        OptimizationConfig as VariationalOptimizationConfig, OptimizationHistory,
599        OptimizationMethod, OptimizationResult as VariationalOptimizationResult,
600        VariationalQuantumOptimizer,
601    };
602    pub use crate::zx_calculus::{
603        CircuitToZX, Edge, EdgeType, Spider, SpiderType, ZXDiagram, ZXOptimizer,
604    };
605    pub use crate::zx_extraction::{ZXExtractor, ZXPipeline};
606
607    #[cfg(feature = "python")]
608    pub use crate::python_bindings::{
609        PyCartanDecomposition, PyNumRS2Array, PyQuantumGate, PyQuantumInternet,
610        PyQuantumSensorNetwork, PyQubitId, PySingleQubitDecomposition, PyVariationalCircuit,
611    };
612
613    #[cfg(feature = "python")]
614    pub use crate::jupyter_visualization::{
615        PyQuantumCircuitVisualizer, PyQuantumPerformanceMonitor, PyQuantumStateVisualizer,
616    };
617
618    #[cfg(feature = "python")]
619    pub use crate::quantum_complexity_analysis::PyQuantumComplexityAnalyzer;
620
621    #[cfg(feature = "python")]
622    pub use crate::python_bindings::{
623        PyAggregatedStats, PyAlert, PyMetricMeasurement, PyMonitoringConfig, PyMonitoringStatus,
624        PyOptimizationRecommendation, PyRealtimeMonitor,
625    };
626}
627
628// For backward compatibility, also re-export the prelude at the top level
629#[deprecated(since = "1.0.0", note = "Use api::prelude modules for new code")]
630pub use prelude::*;
631
632/// Convenient access to the new organized API
633///
634/// # Examples
635///
636/// ```rust
637/// // For basic quantum programming
638/// use quantrs2_core::v1::essentials::*;
639///
640/// // For algorithm development
641/// use quantrs2_core::v1::algorithms::*;
642///
643/// // For hardware programming
644/// use quantrs2_core::v1::hardware::*;
645/// ```
646pub mod v1 {
647    pub use crate::api::prelude::*;
648}