1#![recursion_limit = "8192"]
2#![allow(warnings)]
3#![allow(clippy::all)]
4#![allow(clippy::pedantic)]
5#![allow(clippy::nursery)]
6#![allow(clippy::restriction)]
7
8use fastrand;
42use std::error::Error;
43use thiserror::Error;
44
45pub mod barren_plateau;
46pub mod blockchain;
47pub mod classification;
48pub mod crypto;
49pub mod enhanced_gan;
50pub mod gan;
51pub mod hep;
52pub mod kernels;
53pub mod nlp;
54pub mod optimization;
55pub mod qcnn;
56pub mod qnn;
57pub mod qsvm;
58pub mod reinforcement;
59pub mod vae;
60pub mod variational;
61
62pub mod adversarial;
63pub mod anneal_integration;
64pub mod anomaly_detection;
65pub mod attention;
66pub mod autodiff;
67pub mod automl;
68pub mod benchmarking;
69pub mod boltzmann;
70pub mod circuit_integration;
71pub mod classical_ml_integration;
72pub mod clustering;
73pub mod computer_vision;
74pub mod continual_learning;
75pub mod continuous_rl;
76pub mod device_compilation;
77pub mod diffusion;
78pub mod dimensionality_reduction;
79pub mod domain_templates;
80pub mod error;
81pub mod error_mitigation;
82pub mod explainable_ai;
83pub mod federated;
84pub mod few_shot;
85pub mod gnn;
86#[cfg(feature = "gpu")]
87pub mod gpu_backend_impl;
88pub mod industry_examples;
89pub mod keras_api;
90pub mod lstm;
91pub mod meta_learning;
92pub mod model_zoo;
93pub mod onnx_export;
94pub mod performance_profiler;
95pub mod pytorch_api;
96pub mod quantum_advanced_diffusion;
97pub mod quantum_advantage_validator;
98pub mod quantum_continuous_flows;
99pub mod quantum_graph_attention;
100pub mod quantum_implicit_neural_representations;
101pub mod quantum_in_context_learning;
102pub mod quantum_llm;
103pub mod quantum_memory_networks;
104pub mod quantum_mixture_of_experts;
105pub mod quantum_nas;
106pub mod quantum_neural_odes;
107pub mod quantum_neural_radiance_fields;
108pub mod quantum_pinns;
109pub mod quantum_reservoir_computing;
110pub mod quantum_self_supervised_learning;
111pub mod quantum_transformer;
112pub mod recommender;
113pub mod scirs2_integration;
114pub mod simulator_backends;
115pub mod sklearn_compatibility;
116pub mod tensorflow_compatibility;
117pub mod time_series;
118pub mod torchquantum;
119pub mod transfer;
120pub mod tutorials;
121
122pub mod utils;
124
125pub mod qaoa_warm_start;
127
128pub mod vqe_natural_gradient;
130
131pub mod hybrid_automl_engine;
133
134pub use error::MLError;
136pub use error::Result;
137
138pub mod prelude {
140 pub use crate::adversarial::{
141 create_comprehensive_defense, create_default_adversarial_config, AdversarialTrainingConfig,
142 QuantumAdversarialExample, QuantumAdversarialTrainer, QuantumAttackType,
143 QuantumDefenseStrategy, RobustnessMetrics,
144 };
145 pub use crate::anneal_integration::{
146 AnnealingClient, AnnealingParams, AnnealingResult,
147 AnnealingSchedule as MLAnnealingSchedule, CircuitOptimizationProblem,
148 FeatureSelectionProblem, HyperparameterProblem, IsingProblem, OptimizationResult,
149 PortfolioOptimizationProblem, QuantumMLAnnealer, QuantumMLOptimizationProblem,
150 QuantumMLQUBO,
151 };
152 pub use crate::anomaly_detection::{
153 AnomalyDetectionMethod, AnomalyMetrics, AnomalyResult, PerformanceConfig,
154 PreprocessingConfig as AnomalyPreprocessingConfig, QuantumAnomalyConfig,
155 QuantumAnomalyDetector, QuantumAnomalyMetrics, QuantumAutoencoder,
156 QuantumEnhancementConfig, QuantumIsolationForest, QuantumLOF, QuantumOneClassSVM,
157 RealtimeConfig, SpecializedDetectorConfig,
158 };
159 pub use crate::automl::{
160 create_comprehensive_automl_config, create_default_automl_config, AdvancedAutoMLFeatures,
161 AlgorithmSearchSpace, EnsembleSearchSpace, EvaluationConfig, HyperparameterSearchSpace,
162 MLTaskType, OptimizationObjective, QuantumAutoML, QuantumAutoMLConfig, QuantumConstraints,
163 QuantumEncodingMethod, SearchBudgetConfig, SearchSpaceConfig,
164 };
165 pub use crate::benchmarking::{
166 Benchmark, BenchmarkCategory, BenchmarkConfig, BenchmarkFramework, BenchmarkReport,
167 BenchmarkResults, BenchmarkRunResult, BenchmarkSummary, ScalingType,
168 };
169 pub use crate::blockchain::{ConsensusType, QuantumBlockchain, QuantumToken, SmartContract};
170 pub use crate::boltzmann::{
171 AnnealingSchedule, DeepBoltzmannMachine, QuantumBoltzmannMachine, QuantumRBM,
172 };
173 pub use crate::circuit_integration::{
174 BackendManager, DeviceTopology, ExpressionvityMetrics, HardwareAwareCompiler,
175 MLCircuitAnalyzer, MLCircuitOptimizer, OptimizationPass, ParameterizedLayer, QuantumLayer,
176 QuantumMLExecutor, QubitProperties, RotationAxis, TrainabilityMetrics,
177 };
178 pub use crate::classical_ml_integration::{
179 utils as pipeline_utils, AutoOptimizationConfig, ClassicalModel, DataPreprocessor,
180 DatasetInfo, EnsembleStrategy, HybridModel, HybridPipeline, HybridPipelineManager,
181 MinMaxScaler, ModelRegistry, ModelType, OptimizedPipeline, PerformanceProfile,
182 PipelineConfig, PipelineRecommendation, PipelineStage, PipelineTemplate,
183 ResourceConstraints, StandardScaler, ValidationStrategy, WeightedVotingEnsemble,
184 };
185 pub use crate::classification::{ClassificationMetrics, Classifier};
186 pub use crate::clustering::{
187 ClusteringAlgorithm, CoreClusteringMetrics as QuantumClusteringMetrics, QuantumClusterer,
188 QuantumClusteringConfig,
189 };
190 pub use crate::computer_vision::{
191 AugmentationConfig, ColorSpace, ComputationalMetrics, ConvolutionalConfig,
192 ImageEncodingMethod, ImagePreprocessor, PreprocessingConfig, QuantumConvolutionalNN,
193 QuantumEnhancement, QuantumFeatureExtractor, QuantumImageEncoder, QuantumMetrics,
194 QuantumSpatialAttention, QuantumVisionConfig, QuantumVisionPipeline, ResidualBlock,
195 TaskOutput, TaskTarget, TrainingHistory, VisionBackbone, VisionMetrics, VisionTaskConfig,
196 };
197 pub use crate::continual_learning::{
198 create_continual_task, generate_task_sequence, ContinualLearningStrategy, ContinualTask,
199 Experience, ForgettingMetrics, MemoryBuffer, MemorySelectionStrategy,
200 ParameterAllocationStrategy, QuantumContinualLearner, TaskMetrics, TaskType,
201 };
202 pub use crate::continuous_rl::{
203 ContinuousEnvironment, Experience as RLExperience, PendulumEnvironment, QuantumActor,
204 QuantumCritic, QuantumDDPG, QuantumSAC, ReplayBuffer,
205 };
206 pub use crate::crypto::{
207 ProtocolType, QuantumAuthentication, QuantumKeyDistribution, QuantumSignature,
208 };
209 pub use crate::device_compilation::{
210 CompilationMetrics, CompilationOptions, CompiledModel, DeviceCharacterization,
211 DeviceCompiler, QuantumMLModel, QubitMapping, RoutingAlgorithm, SynthesisMethod,
212 };
213 pub use crate::diffusion::{
214 NoiseSchedule, QuantumDiffusionModel, QuantumScoreDiffusion, QuantumVariationalDiffusion,
215 };
216 pub use crate::dimensionality_reduction::{
217 AutoencoderArchitecture, DRTrainedState, DimensionalityReductionAlgorithm,
218 DimensionalityReductionMetrics, ManifoldMetrics, QAutoencoderConfig, QCCAConfig,
219 QFactorAnalysisConfig, QFeatureSelectionConfig, QICAConfig, QKernelPCAConfig, QLDAConfig,
220 QManifoldConfig, QNMFConfig, QPCAConfig, QSpecializedConfig, QUMAPConfig, QtSNEConfig,
221 QuantumDimensionalityReducer, QuantumDistanceMetric as DRQuantumDistanceMetric,
222 QuantumEigensolver, QuantumEnhancementLevel as DRQuantumEnhancementLevel,
223 QuantumFeatureMap, ReconstructionMetrics,
224 };
225 pub use crate::domain_templates::{
226 utils as domain_utils, CreditRiskModel, Domain, DomainModel, DomainTemplateManager,
227 DrugDiscoveryModel, FraudDetectionModel, MaterialPropertyModel, MedicalImageModel,
228 ModelComplexity, MolecularPropertyModel, PortfolioOptimizationModel, ProblemType,
229 SmartGridModel, TemplateConfig, TemplateMetadata, VehicleRoutingModel,
230 };
231 pub use crate::error::{MLError, Result};
232 pub use crate::error_mitigation::{
233 AdaptiveConfig, CalibrationData, CircuitFoldingMethod, CoherenceTimeModel, ErrorType,
234 ExtrapolationMethod, GateErrorModel, MeasurementErrorModel, MitigatedInferenceData,
235 MitigatedTrainingData, MitigationStrategy, NoiseModel, QuantumMLErrorMitigator,
236 ReadoutCorrectionMethod,
237 };
238 pub use crate::explainable_ai::{
239 create_default_xai_config, AggregationMethod, AttributionMethod, CircuitExplanation,
240 ExplanationMethod, ExplanationResult, LRPRule, LocalModelType, PerturbationMethod,
241 QuantumExplainableAI, QuantumStateProperties,
242 };
243 pub use crate::few_shot::{
244 DistanceMetric, Episode, FewShotLearner, FewShotMethod, QuantumMAML,
245 QuantumPrototypicalNetwork,
246 };
247 pub use crate::gan::{Discriminator, GANEvaluationMetrics, Generator, QuantumGAN};
248 pub use crate::hep::{
249 AnomalyDetector, EventReconstructor, HEPQuantumClassifier, ParticleCollisionClassifier,
250 };
251 pub use crate::industry_examples::{
252 utils as industry_utils, BenchmarkResult, BusinessImpact, DataRequirements, ExampleResult,
253 ImplementationComplexity, Industry, IndustryExampleManager, PerformanceMetrics,
254 QuantumAdvantageMetrics, ROIEstimate, ROISummary, ResourceRequirements, UseCase,
255 };
256 pub use crate::keras_api::{
257 utils as keras_utils, Activation, ActivationFunction, Callback, DataType, Dense,
258 EarlyStopping, InitializerType, Input, KerasLayer, LayerInfo, LossFunction, MetricType,
259 ModelSummary, OptimizerType, QuantumAnsatzType, QuantumDense, Sequential,
260 TrainingHistory as KerasTrainingHistory,
261 };
262 pub use crate::kernels::{KernelMethod, QuantumKernel};
263 pub use crate::meta_learning::{
264 ContinualMetaLearner, MetaLearningAlgorithm, MetaLearningHistory, MetaTask,
265 QuantumMetaLearner, TaskGenerator,
266 };
267 pub use crate::model_zoo::{
268 utils as model_zoo_utils, IrisQuantumSVM, MNISTQuantumNN, ModelCategory, ModelMetadata,
269 ModelRequirements, ModelZoo, PortfolioQAOA, QuantumModel, TrainingConfig, H2VQE,
270 };
271 pub use crate::nlp::{NLPTaskType, QuantumLanguageModel, SentimentAnalyzer, TextSummarizer};
272 pub use crate::onnx_export::{
273 utils as onnx_utils, ExportOptions, ImportOptions, ModelInfo, ONNXAttribute, ONNXDataType,
274 ONNXExporter, ONNXGraph, ONNXImporter, ONNXNode, ONNXTensor, ONNXValueInfo,
275 QuantumBackendTarget, TargetFramework, UnsupportedOpHandling, ValidationReport,
276 };
277 pub use crate::optimization::{ObjectiveFunction, OptimizationMethod, Optimizer};
278 pub use crate::performance_profiler::{
279 Bottleneck, BottleneckSeverity, CircuitMetrics, MemorySnapshot, MemoryStats,
280 OperationStats, ProfilerConfig, ProfilingReport, QuantumMLProfiler,
281 };
282 pub use crate::pytorch_api::{
283 ActivationType as PyTorchActivationType, DataLoader, InitType, MemoryDataLoader, Parameter,
284 QuantumActivation, QuantumConv2d, QuantumCrossEntropyLoss, QuantumLinear, QuantumLoss,
285 QuantumMSELoss, QuantumModule, QuantumSequential, QuantumTrainer,
286 TrainingHistory as PyTorchTrainingHistory,
287 };
288 pub use crate::qnn::{QNNBuilder, QNNLayer, QuantumNeuralNetwork};
289 pub use crate::qsvm::{
290 FeatureMapType, QSVMParams, QuantumKernel as QSVMKernel, QuantumKernelRidge, QSVM,
291 };
292 pub use crate::quantum_llm::{
293 GenerationConfig, GenerationStatistics, MemoryRetrievalType, ModelScale,
294 QLLMTrainingConfig, QualityMetrics, QuantumAnalogyEngine, QuantumAssociativeMemory,
295 QuantumLLM, QuantumLLMConfig, QuantumMemoryConfig, QuantumMemorySystem,
296 QuantumParameterUpdate, QuantumReasoningConfig, QuantumReasoningModule, Vocabulary,
297 };
298 pub use crate::quantum_nas::{
299 create_default_search_space, AcquisitionFunction, ArchitectureCandidate,
300 ArchitectureMetrics, ArchitectureProperties, QuantumNAS, QuantumTopology, QubitConstraints,
301 RLAgentType, SearchSpace, SearchStrategy,
302 };
303 pub use crate::quantum_transformer::{
304 create_causal_mask, create_padding_mask, ActivationType, AttentionOutput,
305 PositionEncodingType, QuantumAttentionInfo, QuantumAttentionType, QuantumFeedForward,
306 QuantumMultiHeadAttention, QuantumPositionEncoding, QuantumTransformer,
307 QuantumTransformerConfig, QuantumTransformerLayer,
308 };
309 pub use crate::recommender::{
310 BusinessRules, FeatureExtractionMethod, ItemFeatures, ProfileLearningMethod,
311 QuantumEnhancementLevel, QuantumRecommender, QuantumRecommenderConfig, Recommendation,
312 RecommendationAlgorithm, RecommendationExplanation, RecommendationOptions,
313 SimilarityMeasure, UserProfile,
314 };
315 pub use crate::reinforcement::{Environment, QuantumAgent, ReinforcementLearning};
316 pub use crate::scirs2_integration::{
317 SciRS2Array, SciRS2DistributedTrainer, SciRS2Optimizer, SciRS2Serializer, SciRS2Tensor,
318 };
319 pub use crate::simulator_backends::{
320 BackendCapabilities, BackendSelectionStrategy, GradientMethod, MPSBackend, Observable,
321 SimulationResult, SimulatorBackend, StatevectorBackend,
322 };
323 pub use crate::sklearn_compatibility::{
324 model_selection, pipeline, QuantumKMeans, QuantumMLPClassifier, QuantumMLPRegressor,
325 QuantumSVC, SklearnClassifier, SklearnClusterer, SklearnEstimator, SklearnRegressor,
326 };
327 pub use crate::tensorflow_compatibility::{
328 tfq_utils, DataEncodingType, PQCLayer, PaddingType, ParameterInitStrategy,
329 QuantumCircuitLayer, QuantumConvolutionalLayer, QuantumDataset, QuantumDatasetIterator,
330 RegularizationType, TFQCircuitFormat, TFQGate, TFQLayer, TFQLossFunction, TFQModel,
331 TFQOptimizer,
332 };
333 pub use crate::time_series::{
334 generate_synthetic_time_series, AnomalyPoint, AnomalyType, DiversityStrategy,
335 EnsembleConfig, EnsembleMethod, FeatureEngineeringConfig, ForecastMetrics, ForecastResult,
336 QuantumEnhancementLevel as TSQuantumEnhancementLevel, QuantumTimeSeriesConfig,
337 QuantumTimeSeriesForecaster, SeasonalityConfig, TimeSeriesModel,
338 };
339 pub use crate::transfer::{
340 LayerConfig, PretrainedModel, QuantumModelZoo, QuantumTransferLearning, TransferStrategy,
341 };
342 pub use crate::tutorials::{
343 utils as tutorial_utils, CodeExample, DifficultyLevel, Exercise, ExerciseResult,
344 ExerciseType, ExperienceLevel, InteractiveElement, InteractiveType, TestCase, Tutorial,
345 TutorialCategory, TutorialManager, TutorialProgress, TutorialSection, TutorialSession,
346 UserBackground,
347 };
348 pub use crate::variational::{VariationalAlgorithm, VariationalCircuit};
349
350 pub use crate::torchquantum::prelude::{
352 expval_joint_analytical, expval_joint_sampling, gen_bitstrings, measure as tq_measure,
353 CType as TQCType, FType as TQFType, NParamsEnum, TQAmplitudeEncoder, TQBarrenLayer,
354 TQDevice, TQEncoder, TQFarhiLayer, TQGeneralEncoder, TQHadamard, TQLayerConfig,
355 TQMaxwellLayer, TQMeasureAll, TQModule, TQModuleList, TQOp1QAllLayer, TQOp2QAllLayer,
356 TQOperator, TQParameter, TQPauliX, TQPauliY, TQPauliZ, TQPhaseEncoder, TQRXYZCXLayer, TQRx,
357 TQRy, TQRz, TQSethLayer, TQStateEncoder, TQStrongEntanglingLayer, WiresEnum, TQCNOT, TQCRX,
358 TQCRY, TQCRZ, TQCZ, TQRXX, TQRYY, TQRZX, TQRZZ, TQS, TQSWAP, TQSX, TQT,
359 };
360
361 pub use crate::quantum_graph_attention::{
363 AttentionAnalysis, AttentionConfig as QGATAttentionConfig,
364 BenchmarkResults as QGATBenchmarkResults, Graph, PoolingConfig, QGATConfig,
365 QuantumAttentionType as QGATQuantumAttentionType, QuantumGraphAttentionNetwork,
366 TrainingMetrics as QGATTrainingMetrics,
367 };
368 pub use crate::quantum_in_context_learning::{
369 AdaptationResult, AdaptationStrategy, AdaptationTarget, ContextExample, ContextMetadata,
370 ContextModality, ContextRetrievalMethod, EntanglementPattern, InContextLearningMetrics,
371 InContextLearningOutput, InContextLearningStatistics, InterpolationMethod,
372 MetaUpdateStrategy, QuantumAttentionMechanism, QuantumContextAttention,
373 QuantumContextEncoder, QuantumContextEncoding, QuantumContextState, QuantumDistanceMetric,
374 QuantumEpisodicMemory, QuantumInContextLearner, QuantumInContextLearningConfig,
375 QuantumTaskAdapter, TransferLearningResults,
376 };
377 pub use crate::quantum_memory_networks::{
378 AddressingConfig, AddressingType, BenchmarkResults as QMANBenchmarkResults,
379 ControllerArchitecture, ControllerConfig as QMANControllerConfig, EpisodicMemory,
380 HeadConfig, HeadType as QMANHeadType, MemoryInitialization, QMANConfig, QMANTrainingConfig,
381 QuantumMemoryAugmentedNetwork, ReadParams, TrainingMetrics as QMANTrainingMetrics,
382 WriteParams,
383 };
384 pub use crate::quantum_neural_odes::{
385 AnsatzType as QNODEAnsatzType, BenchmarkResults as QNODEBenchmarkResults,
386 IntegrationMethod, OptimizationStrategy as QNODEOptimizationStrategy, QNODEConfig,
387 QuantumNeuralODE, TrainingMetrics as QNODETrainingMetrics,
388 };
389 pub use crate::quantum_pinns::{
390 BoundaryCondition, DerivativeResults, InitialCondition, LossWeights, PhysicsEquationType,
391 QPINNConfig, QuantumPINN, TrainingMetrics as QPINNTrainingMetrics,
392 };
393 pub use crate::quantum_reservoir_computing::{
394 BenchmarkResults as QRCBenchmarkResults, DynamicsAnalysis, InputEncoding, QRCConfig,
395 QuantumReservoirComputer, ReadoutConfig, ReservoirDynamics,
396 TrainingMetrics as QRCTrainingMetrics,
397 };
398
399 pub use crate::quantum_advanced_diffusion::{
400 DenoisingArchitecture, ErrorMitigationStrategy, GenerationMetrics,
401 QuantumAdvancedDiffusionConfig, QuantumAdvancedDiffusionModel, QuantumGenerationOutput,
402 QuantumNoiseSchedule, QuantumTrainingConfig,
403 };
404
405 pub use crate::quantum_advantage_validator::{
406 ClassicalBaseline, ComparisonMetric, QuantumAdvantage, QuantumAdvantageValidator,
407 QuantumResourceUsage, QuantumResult, ResourceUsage, StatisticalSignificance,
408 ValidationConfig, ValidationReport as AdvantageValidationReport,
409 };
410
411 pub use crate::quantum_continuous_flows::{
412 FlowArchitecture, FlowSamplingOutput, FlowTrainingConfig, QuantumContinuousFlow,
413 QuantumContinuousFlowConfig, QuantumODEFunction,
414 };
415
416 pub use crate::quantum_neural_radiance_fields::{
417 QuantumNeRF, QuantumNeRFConfig, QuantumRenderOutput, QuantumRenderingMetrics,
418 };
419
420 pub use crate::quantum_mixture_of_experts::{
421 InterferencePattern, MoEOutput, MoEStatistics, MoETrainingConfig,
422 QuantumCombinationMetrics, QuantumGatingMechanism, QuantumMixtureOfExperts,
423 QuantumMixtureOfExpertsConfig, QuantumRoutingStrategy,
424 };
425
426 pub use crate::quantum_self_supervised_learning::{
427 ContrastiveLossFunction, QuantumAugmentationStrategy, QuantumAugmenter, QuantumDecoder,
428 QuantumEncoder, QuantumMaskingStrategy, QuantumProjector, QuantumSSLMethod,
429 QuantumSSLMetrics, QuantumSelfSupervisedConfig, QuantumSelfSupervisedLearner,
430 QuantumSimilarityMetric, RepresentationEvaluationResults, SSLLearningOutput,
431 SSLTrainingConfig,
432 };
433
434 pub use crate::quantum_implicit_neural_representations::{
435 AdaptationOutput, CompressedRepresentation, CompressionConfig, CompressionManager,
436 EntanglementManager, INRQueryOutput, INRTrainingConfig, INRTrainingOutput,
437 MetaLearningConfig, OptimizationConfig, QuantumActivationConfig, QuantumGradientEstimator,
438 QuantumINRConfig, QuantumINRMetrics, QuantumImplicitNeuralRepresentation,
439 QuantumLayerConfig, QuantumOptimizer, QuantumPositionalEncoding, QuantumStateManager,
440 RepresentationMethod, SignalType,
441 };
442}