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