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