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