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