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