opifex 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. opifex-0.1.0/.gitignore +505 -0
  2. opifex-0.1.0/LICENSE +21 -0
  3. opifex-0.1.0/PKG-INFO +611 -0
  4. opifex-0.1.0/README.md +225 -0
  5. opifex-0.1.0/examples/README.md +121 -0
  6. opifex-0.1.0/pyproject.toml +626 -0
  7. opifex-0.1.0/scripts/README.md +78 -0
  8. opifex-0.1.0/src/opifex/README.md +88 -0
  9. opifex-0.1.0/src/opifex/__init__.py +117 -0
  10. opifex-0.1.0/src/opifex/benchmarking/README.md +268 -0
  11. opifex-0.1.0/src/opifex/benchmarking/__init__.py +61 -0
  12. opifex-0.1.0/src/opifex/benchmarking/_shared.py +82 -0
  13. opifex-0.1.0/src/opifex/benchmarking/adapters.py +138 -0
  14. opifex-0.1.0/src/opifex/benchmarking/analysis_engine.py +725 -0
  15. opifex-0.1.0/src/opifex/benchmarking/baseline_repository.py +383 -0
  16. opifex-0.1.0/src/opifex/benchmarking/benchmark_registry.py +387 -0
  17. opifex-0.1.0/src/opifex/benchmarking/benchmark_runner.py +747 -0
  18. opifex-0.1.0/src/opifex/benchmarking/cli.py +281 -0
  19. opifex-0.1.0/src/opifex/benchmarking/evaluation_engine.py +346 -0
  20. opifex-0.1.0/src/opifex/benchmarking/operator_executor.py +255 -0
  21. opifex-0.1.0/src/opifex/benchmarking/pdebench_configs.py +185 -0
  22. opifex-0.1.0/src/opifex/benchmarking/pdebench_integration.py +374 -0
  23. opifex-0.1.0/src/opifex/benchmarking/profiling/__init__.py +36 -0
  24. opifex-0.1.0/src/opifex/benchmarking/profiling/event_coordinator.py +318 -0
  25. opifex-0.1.0/src/opifex/benchmarking/profiling/profiling_harness.py +635 -0
  26. opifex-0.1.0/src/opifex/benchmarking/report_generator.py +529 -0
  27. opifex-0.1.0/src/opifex/benchmarking/results_manager.py +548 -0
  28. opifex-0.1.0/src/opifex/benchmarking/validation_framework.py +427 -0
  29. opifex-0.1.0/src/opifex/benchmarking/validators/__init__.py +22 -0
  30. opifex-0.1.0/src/opifex/benchmarking/validators/chemical_accuracy.py +196 -0
  31. opifex-0.1.0/src/opifex/benchmarking/validators/conservation.py +187 -0
  32. opifex-0.1.0/src/opifex/benchmarking/visualization_tools.py +481 -0
  33. opifex-0.1.0/src/opifex/core/README.md +508 -0
  34. opifex-0.1.0/src/opifex/core/__init__.py +79 -0
  35. opifex-0.1.0/src/opifex/core/conditions.py +1090 -0
  36. opifex-0.1.0/src/opifex/core/device_utils.py +98 -0
  37. opifex-0.1.0/src/opifex/core/geometry/__init__.py +0 -0
  38. opifex-0.1.0/src/opifex/core/gpu_acceleration.py +657 -0
  39. opifex-0.1.0/src/opifex/core/optimization/__init__.py +52 -0
  40. opifex-0.1.0/src/opifex/core/optimization/fusion_optimizer.py +371 -0
  41. opifex-0.1.0/src/opifex/core/optimization/memory_layout.py +329 -0
  42. opifex-0.1.0/src/opifex/core/physics/__init__.py +79 -0
  43. opifex-0.1.0/src/opifex/core/physics/adaptive_methods.py +322 -0
  44. opifex-0.1.0/src/opifex/core/physics/autodiff_engine.py +357 -0
  45. opifex-0.1.0/src/opifex/core/physics/boundaries.py +248 -0
  46. opifex-0.1.0/src/opifex/core/physics/conservation.py +577 -0
  47. opifex-0.1.0/src/opifex/core/physics/gradnorm.py +263 -0
  48. opifex-0.1.0/src/opifex/core/physics/losses.py +869 -0
  49. opifex-0.1.0/src/opifex/core/physics/ntk/__init__.py +73 -0
  50. opifex-0.1.0/src/opifex/core/physics/ntk/diagnostics.py +372 -0
  51. opifex-0.1.0/src/opifex/core/physics/ntk/spectral_analysis.py +338 -0
  52. opifex-0.1.0/src/opifex/core/physics/ntk/wrapper.py +273 -0
  53. opifex-0.1.0/src/opifex/core/physics/pde_registry.py +1092 -0
  54. opifex-0.1.0/src/opifex/core/physics/quantum_constraints.py +190 -0
  55. opifex-0.1.0/src/opifex/core/problems.py +705 -0
  56. opifex-0.1.0/src/opifex/core/quantum/__init__.py +33 -0
  57. opifex-0.1.0/src/opifex/core/quantum/molecular_system.py +490 -0
  58. opifex-0.1.0/src/opifex/core/quantum/operators.py +852 -0
  59. opifex-0.1.0/src/opifex/core/solver/interface.py +75 -0
  60. opifex-0.1.0/src/opifex/core/solver/strategies.py +97 -0
  61. opifex-0.1.0/src/opifex/core/spectral/__init__.py +48 -0
  62. opifex-0.1.0/src/opifex/core/spectral/fft_operations.py +354 -0
  63. opifex-0.1.0/src/opifex/core/spectral/spectral_utils.py +194 -0
  64. opifex-0.1.0/src/opifex/core/spectral/validation.py +260 -0
  65. opifex-0.1.0/src/opifex/core/symbolic/__init__.py +0 -0
  66. opifex-0.1.0/src/opifex/core/testing_infrastructure.py +257 -0
  67. opifex-0.1.0/src/opifex/core/timing.py +12 -0
  68. opifex-0.1.0/src/opifex/core/training/__init__.py +82 -0
  69. opifex-0.1.0/src/opifex/core/training/components/__init__.py +367 -0
  70. opifex-0.1.0/src/opifex/core/training/components/adaptive_sampling.py +297 -0
  71. opifex-0.1.0/src/opifex/core/training/components/base.py +50 -0
  72. opifex-0.1.0/src/opifex/core/training/components/checkpoint_manager.py +305 -0
  73. opifex-0.1.0/src/opifex/core/training/components/lifecycle.py +58 -0
  74. opifex-0.1.0/src/opifex/core/training/components/orbax_manager.py +342 -0
  75. opifex-0.1.0/src/opifex/core/training/components/recovery.py +130 -0
  76. opifex-0.1.0/src/opifex/core/training/config.py +268 -0
  77. opifex-0.1.0/src/opifex/core/training/monitoring/__init__.py +0 -0
  78. opifex-0.1.0/src/opifex/core/training/monitoring/flops.py +306 -0
  79. opifex-0.1.0/src/opifex/core/training/monitoring/metrics.py +566 -0
  80. opifex-0.1.0/src/opifex/core/training/optimizers.py +396 -0
  81. opifex-0.1.0/src/opifex/core/training/physics_configs.py +255 -0
  82. opifex-0.1.0/src/opifex/core/training/strategies/__init__.py +0 -0
  83. opifex-0.1.0/src/opifex/core/training/strategies/incremental_trainer.py +185 -0
  84. opifex-0.1.0/src/opifex/core/training/strategies/mixed_precision.py +360 -0
  85. opifex-0.1.0/src/opifex/core/training/strategies/multilevel/__init__.py +52 -0
  86. opifex-0.1.0/src/opifex/core/training/strategies/multilevel/cascade_training.py +112 -0
  87. opifex-0.1.0/src/opifex/core/training/strategies/multilevel/coarse_to_fine.py +331 -0
  88. opifex-0.1.0/src/opifex/core/training/strategies/multilevel/multilevel_adam.py +154 -0
  89. opifex-0.1.0/src/opifex/core/training/strategies/multilevel/multilevel_fno.py +473 -0
  90. opifex-0.1.0/src/opifex/core/training/strategies/quantum.py +136 -0
  91. opifex-0.1.0/src/opifex/core/training/trainer.py +716 -0
  92. opifex-0.1.0/src/opifex/core/training/utils_legacy.py +78 -0
  93. opifex-0.1.0/src/opifex/data/__init__.py +11 -0
  94. opifex-0.1.0/src/opifex/data/datasets/__init__.py +24 -0
  95. opifex-0.1.0/src/opifex/data/loaders/__init__.py +22 -0
  96. opifex-0.1.0/src/opifex/data/loaders/factory.py +346 -0
  97. opifex-0.1.0/src/opifex/data/preprocessing/__init__.py +0 -0
  98. opifex-0.1.0/src/opifex/data/preprocessing/spectral_analysis.py +203 -0
  99. opifex-0.1.0/src/opifex/data/sources/__init__.py +31 -0
  100. opifex-0.1.0/src/opifex/data/sources/burgers_source.py +204 -0
  101. opifex-0.1.0/src/opifex/data/sources/darcy_source.py +142 -0
  102. opifex-0.1.0/src/opifex/data/sources/diffusion_source.py +173 -0
  103. opifex-0.1.0/src/opifex/data/sources/navier_stokes_source.py +206 -0
  104. opifex-0.1.0/src/opifex/data/sources/scientific.py +613 -0
  105. opifex-0.1.0/src/opifex/data/sources/shallow_water_source.py +122 -0
  106. opifex-0.1.0/src/opifex/data/transforms/__init__.py +18 -0
  107. opifex-0.1.0/src/opifex/data/transforms/pde_transforms.py +143 -0
  108. opifex-0.1.0/src/opifex/deployment/__init__.py +35 -0
  109. opifex-0.1.0/src/opifex/deployment/cloud/__init__.py +31 -0
  110. opifex-0.1.0/src/opifex/deployment/cloud/aws.py +553 -0
  111. opifex-0.1.0/src/opifex/deployment/cloud/gcp.py +360 -0
  112. opifex-0.1.0/src/opifex/deployment/core_serving.py +506 -0
  113. opifex-0.1.0/src/opifex/deployment/kubernetes/__init__.py +21 -0
  114. opifex-0.1.0/src/opifex/deployment/kubernetes/autoscaler.py +283 -0
  115. opifex-0.1.0/src/opifex/deployment/kubernetes/manifest_generator.py +303 -0
  116. opifex-0.1.0/src/opifex/deployment/kubernetes/orchestrator.py +250 -0
  117. opifex-0.1.0/src/opifex/deployment/kubernetes/resource_manager.py +332 -0
  118. opifex-0.1.0/src/opifex/deployment/monitoring/__init__.py +94 -0
  119. opifex-0.1.0/src/opifex/deployment/monitoring/alerts.py +615 -0
  120. opifex-0.1.0/src/opifex/deployment/monitoring/dashboards.py +213 -0
  121. opifex-0.1.0/src/opifex/deployment/monitoring/health.py +583 -0
  122. opifex-0.1.0/src/opifex/deployment/monitoring/logging.py +613 -0
  123. opifex-0.1.0/src/opifex/deployment/monitoring/metrics.py +542 -0
  124. opifex-0.1.0/src/opifex/deployment/resource_management/__init__.py +42 -0
  125. opifex-0.1.0/src/opifex/deployment/resource_management/cost_controller.py +173 -0
  126. opifex-0.1.0/src/opifex/deployment/resource_management/global_manager.py +201 -0
  127. opifex-0.1.0/src/opifex/deployment/resource_management/gpu_manager.py +404 -0
  128. opifex-0.1.0/src/opifex/deployment/resource_management/orchestrator.py +423 -0
  129. opifex-0.1.0/src/opifex/deployment/resource_management/sustainability.py +109 -0
  130. opifex-0.1.0/src/opifex/deployment/resource_management/types.py +107 -0
  131. opifex-0.1.0/src/opifex/deployment/server.py +289 -0
  132. opifex-0.1.0/src/opifex/diagnostics/__init__.py +0 -0
  133. opifex-0.1.0/src/opifex/diagnostics/ntk_computation.py +143 -0
  134. opifex-0.1.0/src/opifex/diagnostics/spectrum_analysis.py +125 -0
  135. opifex-0.1.0/src/opifex/discovery/__init__.py +0 -0
  136. opifex-0.1.0/src/opifex/discovery/sindy/__init__.py +34 -0
  137. opifex-0.1.0/src/opifex/discovery/sindy/config.py +57 -0
  138. opifex-0.1.0/src/opifex/discovery/sindy/ensemble_sindy.py +149 -0
  139. opifex-0.1.0/src/opifex/discovery/sindy/library.py +174 -0
  140. opifex-0.1.0/src/opifex/discovery/sindy/optimizers.py +216 -0
  141. opifex-0.1.0/src/opifex/discovery/sindy/sindy.py +174 -0
  142. opifex-0.1.0/src/opifex/discovery/sindy/ude_distillation.py +65 -0
  143. opifex-0.1.0/src/opifex/discovery/sindy/utils.py +74 -0
  144. opifex-0.1.0/src/opifex/discovery/sindy/weak_sindy.py +242 -0
  145. opifex-0.1.0/src/opifex/discovery/symbolic.py +176 -0
  146. opifex-0.1.0/src/opifex/distributed/__init__.py +38 -0
  147. opifex-0.1.0/src/opifex/distributed/config.py +48 -0
  148. opifex-0.1.0/src/opifex/distributed/manager.py +123 -0
  149. opifex-0.1.0/src/opifex/distributed/training.py +132 -0
  150. opifex-0.1.0/src/opifex/education/__init__.py +0 -0
  151. opifex-0.1.0/src/opifex/fields/__init__.py +28 -0
  152. opifex-0.1.0/src/opifex/fields/advection.py +127 -0
  153. opifex-0.1.0/src/opifex/fields/field.py +215 -0
  154. opifex-0.1.0/src/opifex/fields/operations.py +152 -0
  155. opifex-0.1.0/src/opifex/fields/pressure.py +127 -0
  156. opifex-0.1.0/src/opifex/geometry/README.md +849 -0
  157. opifex-0.1.0/src/opifex/geometry/__init__.py +80 -0
  158. opifex-0.1.0/src/opifex/geometry/algebra/__init__.py +10 -0
  159. opifex-0.1.0/src/opifex/geometry/algebra/groups.py +314 -0
  160. opifex-0.1.0/src/opifex/geometry/base.py +61 -0
  161. opifex-0.1.0/src/opifex/geometry/csg.py +1305 -0
  162. opifex-0.1.0/src/opifex/geometry/manifolds/__init__.py +39 -0
  163. opifex-0.1.0/src/opifex/geometry/manifolds/base.py +194 -0
  164. opifex-0.1.0/src/opifex/geometry/manifolds/hyperbolic.py +420 -0
  165. opifex-0.1.0/src/opifex/geometry/manifolds/operators.py +277 -0
  166. opifex-0.1.0/src/opifex/geometry/manifolds/riemannian.py +454 -0
  167. opifex-0.1.0/src/opifex/geometry/manifolds/spherical.py +215 -0
  168. opifex-0.1.0/src/opifex/geometry/pytree_utils.py +468 -0
  169. opifex-0.1.0/src/opifex/geometry/topology/__init__.py +21 -0
  170. opifex-0.1.0/src/opifex/geometry/topology/base.py +215 -0
  171. opifex-0.1.0/src/opifex/geometry/topology/graphs.py +327 -0
  172. opifex-0.1.0/src/opifex/mlops/README.md +483 -0
  173. opifex-0.1.0/src/opifex/mlops/__init__.py +55 -0
  174. opifex-0.1.0/src/opifex/mlops/backends/__init__.py +32 -0
  175. opifex-0.1.0/src/opifex/mlops/backends/mlflow_backend.py +391 -0
  176. opifex-0.1.0/src/opifex/mlops/experiment.py +350 -0
  177. opifex-0.1.0/src/opifex/neural/README.md +1345 -0
  178. opifex-0.1.0/src/opifex/neural/__init__.py +10 -0
  179. opifex-0.1.0/src/opifex/neural/activations.py +295 -0
  180. opifex-0.1.0/src/opifex/neural/base.py +550 -0
  181. opifex-0.1.0/src/opifex/neural/bayesian/README.md +269 -0
  182. opifex-0.1.0/src/opifex/neural/bayesian/__init__.py +80 -0
  183. opifex-0.1.0/src/opifex/neural/bayesian/blackjax_integration.py +392 -0
  184. opifex-0.1.0/src/opifex/neural/bayesian/calibration_tools.py +784 -0
  185. opifex-0.1.0/src/opifex/neural/bayesian/config.py +123 -0
  186. opifex-0.1.0/src/opifex/neural/bayesian/conformal.py +135 -0
  187. opifex-0.1.0/src/opifex/neural/bayesian/layers.py +63 -0
  188. opifex-0.1.0/src/opifex/neural/bayesian/physics_informed_priors.py +1011 -0
  189. opifex-0.1.0/src/opifex/neural/bayesian/probabilistic_pinns.py +900 -0
  190. opifex-0.1.0/src/opifex/neural/bayesian/uncertainty_quantification.py +1048 -0
  191. opifex-0.1.0/src/opifex/neural/bayesian/variational_framework.py +515 -0
  192. opifex-0.1.0/src/opifex/neural/clifford/__init__.py +0 -0
  193. opifex-0.1.0/src/opifex/neural/clifford/clifford_fno.py +297 -0
  194. opifex-0.1.0/src/opifex/neural/dtypes.py +21 -0
  195. opifex-0.1.0/src/opifex/neural/kan/__init__.py +0 -0
  196. opifex-0.1.0/src/opifex/neural/kan/pikan.py +290 -0
  197. opifex-0.1.0/src/opifex/neural/operators/README.md +560 -0
  198. opifex-0.1.0/src/opifex/neural/operators/__init__.py +483 -0
  199. opifex-0.1.0/src/opifex/neural/operators/common/__init__.py +6 -0
  200. opifex-0.1.0/src/opifex/neural/operators/common/embeddings.py +413 -0
  201. opifex-0.1.0/src/opifex/neural/operators/common/protocols.py +17 -0
  202. opifex-0.1.0/src/opifex/neural/operators/common/tensor_ops.py +887 -0
  203. opifex-0.1.0/src/opifex/neural/operators/deeponet/README.md +53 -0
  204. opifex-0.1.0/src/opifex/neural/operators/deeponet/__init__.py +20 -0
  205. opifex-0.1.0/src/opifex/neural/operators/deeponet/adaptive.py +204 -0
  206. opifex-0.1.0/src/opifex/neural/operators/deeponet/base.py +485 -0
  207. opifex-0.1.0/src/opifex/neural/operators/deeponet/enhanced.py +186 -0
  208. opifex-0.1.0/src/opifex/neural/operators/deeponet/multiphysics.py +423 -0
  209. opifex-0.1.0/src/opifex/neural/operators/deeponet/pod.py +160 -0
  210. opifex-0.1.0/src/opifex/neural/operators/deeponet/trainer_adapter.py +71 -0
  211. opifex-0.1.0/src/opifex/neural/operators/fno/README.md +81 -0
  212. opifex-0.1.0/src/opifex/neural/operators/fno/__init__.py +122 -0
  213. opifex-0.1.0/src/opifex/neural/operators/fno/amortized.py +466 -0
  214. opifex-0.1.0/src/opifex/neural/operators/fno/base.py +556 -0
  215. opifex-0.1.0/src/opifex/neural/operators/fno/factorized.py +362 -0
  216. opifex-0.1.0/src/opifex/neural/operators/fno/local.py +421 -0
  217. opifex-0.1.0/src/opifex/neural/operators/fno/multigrid_tfno.py +889 -0
  218. opifex-0.1.0/src/opifex/neural/operators/fno/multiscale.py +255 -0
  219. opifex-0.1.0/src/opifex/neural/operators/fno/spectral.py +132 -0
  220. opifex-0.1.0/src/opifex/neural/operators/fno/spherical.py +432 -0
  221. opifex-0.1.0/src/opifex/neural/operators/fno/tensorized.py +447 -0
  222. opifex-0.1.0/src/opifex/neural/operators/fno/tensorly_integration.py +593 -0
  223. opifex-0.1.0/src/opifex/neural/operators/fno/ufno.py +387 -0
  224. opifex-0.1.0/src/opifex/neural/operators/foundations.py +82 -0
  225. opifex-0.1.0/src/opifex/neural/operators/graph/__init__.py +18 -0
  226. opifex-0.1.0/src/opifex/neural/operators/graph/gno.py +336 -0
  227. opifex-0.1.0/src/opifex/neural/operators/graph/mesh_graph_net.py +179 -0
  228. opifex-0.1.0/src/opifex/neural/operators/graph/utils.py +209 -0
  229. opifex-0.1.0/src/opifex/neural/operators/physics/README.md +46 -0
  230. opifex-0.1.0/src/opifex/neural/operators/physics/__init__.py +18 -0
  231. opifex-0.1.0/src/opifex/neural/operators/physics/attention.py +473 -0
  232. opifex-0.1.0/src/opifex/neural/operators/physics/informed.py +238 -0
  233. opifex-0.1.0/src/opifex/neural/operators/sensor_optimization.py +291 -0
  234. opifex-0.1.0/src/opifex/neural/operators/specialized/README.md +208 -0
  235. opifex-0.1.0/src/opifex/neural/operators/specialized/__init__.py +136 -0
  236. opifex-0.1.0/src/opifex/neural/operators/specialized/disco.py +409 -0
  237. opifex-0.1.0/src/opifex/neural/operators/specialized/fourier_continuation.py +537 -0
  238. opifex-0.1.0/src/opifex/neural/operators/specialized/gino.py +650 -0
  239. opifex-0.1.0/src/opifex/neural/operators/specialized/latent.py +237 -0
  240. opifex-0.1.0/src/opifex/neural/operators/specialized/lno.py +409 -0
  241. opifex-0.1.0/src/opifex/neural/operators/specialized/mgno.py +513 -0
  242. opifex-0.1.0/src/opifex/neural/operators/specialized/operator_network.py +267 -0
  243. opifex-0.1.0/src/opifex/neural/operators/specialized/spectral_normalization.py +605 -0
  244. opifex-0.1.0/src/opifex/neural/operators/specialized/transolver.py +559 -0
  245. opifex-0.1.0/src/opifex/neural/operators/specialized/uno.py +409 -0
  246. opifex-0.1.0/src/opifex/neural/operators/specialized/uqno.py +720 -0
  247. opifex-0.1.0/src/opifex/neural/operators/specialized/wavelet.py +296 -0
  248. opifex-0.1.0/src/opifex/neural/pinns/__init__.py +23 -0
  249. opifex-0.1.0/src/opifex/neural/pinns/domain_decomposition/__init__.py +69 -0
  250. opifex-0.1.0/src/opifex/neural/pinns/domain_decomposition/apinn.py +242 -0
  251. opifex-0.1.0/src/opifex/neural/pinns/domain_decomposition/base.py +442 -0
  252. opifex-0.1.0/src/opifex/neural/pinns/domain_decomposition/cpinn.py +228 -0
  253. opifex-0.1.0/src/opifex/neural/pinns/domain_decomposition/fbpinn.py +306 -0
  254. opifex-0.1.0/src/opifex/neural/pinns/domain_decomposition/xpinn.py +245 -0
  255. opifex-0.1.0/src/opifex/neural/pinns/fpinn.py +283 -0
  256. opifex-0.1.0/src/opifex/neural/pinns/gst_pinn.py +284 -0
  257. opifex-0.1.0/src/opifex/neural/pinns/multi_scale.py +354 -0
  258. opifex-0.1.0/src/opifex/neural/pinns/vpinn.py +296 -0
  259. opifex-0.1.0/src/opifex/neural/quantum/README.md +326 -0
  260. opifex-0.1.0/src/opifex/neural/quantum/__init__.py +12 -0
  261. opifex-0.1.0/src/opifex/neural/quantum/neural_dft.py +599 -0
  262. opifex-0.1.0/src/opifex/neural/quantum/neural_scf.py +463 -0
  263. opifex-0.1.0/src/opifex/neural/quantum/neural_xc.py +469 -0
  264. opifex-0.1.0/src/opifex/neural/structure_preserving/__init__.py +0 -0
  265. opifex-0.1.0/src/opifex/optimization/README.md +368 -0
  266. opifex-0.1.0/src/opifex/optimization/__init__.py +162 -0
  267. opifex-0.1.0/src/opifex/optimization/adaptive_deployment.py +811 -0
  268. opifex-0.1.0/src/opifex/optimization/control/__init__.py +57 -0
  269. opifex-0.1.0/src/opifex/optimization/control/mpc.py +757 -0
  270. opifex-0.1.0/src/opifex/optimization/control/system_id.py +690 -0
  271. opifex-0.1.0/src/opifex/optimization/edge_network.py +721 -0
  272. opifex-0.1.0/src/opifex/optimization/l2o/__init__.py +103 -0
  273. opifex-0.1.0/src/opifex/optimization/l2o/adaptive_schedulers.py +547 -0
  274. opifex-0.1.0/src/opifex/optimization/l2o/advanced_meta_learning.py +1048 -0
  275. opifex-0.1.0/src/opifex/optimization/l2o/constraint_learning.py +308 -0
  276. opifex-0.1.0/src/opifex/optimization/l2o/l2o_engine.py +685 -0
  277. opifex-0.1.0/src/opifex/optimization/l2o/multi_objective.py +712 -0
  278. opifex-0.1.0/src/opifex/optimization/l2o/parametric_solver.py +408 -0
  279. opifex-0.1.0/src/opifex/optimization/l2o/rl_optimization.py +791 -0
  280. opifex-0.1.0/src/opifex/optimization/meta_optimization/__init__.py +38 -0
  281. opifex-0.1.0/src/opifex/optimization/meta_optimization/meta_optimizer.py +332 -0
  282. opifex-0.1.0/src/opifex/optimization/meta_optimization/monitoring.py +239 -0
  283. opifex-0.1.0/src/opifex/optimization/meta_optimization/neural_learner.py +287 -0
  284. opifex-0.1.0/src/opifex/optimization/meta_optimization/schedulers.py +205 -0
  285. opifex-0.1.0/src/opifex/optimization/meta_optimization/warm_starting.py +158 -0
  286. opifex-0.1.0/src/opifex/optimization/performance_monitoring.py +472 -0
  287. opifex-0.1.0/src/opifex/optimization/production.py +675 -0
  288. opifex-0.1.0/src/opifex/optimization/scientific_integration.py +896 -0
  289. opifex-0.1.0/src/opifex/optimization/second_order/__init__.py +73 -0
  290. opifex-0.1.0/src/opifex/optimization/second_order/config.py +198 -0
  291. opifex-0.1.0/src/opifex/optimization/second_order/hybrid_optimizer.py +321 -0
  292. opifex-0.1.0/src/opifex/optimization/second_order/nnx_integration.py +301 -0
  293. opifex-0.1.0/src/opifex/optimization/second_order/wrappers.py +148 -0
  294. opifex-0.1.0/src/opifex/physics/__init__.py +11 -0
  295. opifex-0.1.0/src/opifex/physics/solvers/__init__.py +27 -0
  296. opifex-0.1.0/src/opifex/physics/solvers/burgers.py +350 -0
  297. opifex-0.1.0/src/opifex/physics/solvers/darcy.py +112 -0
  298. opifex-0.1.0/src/opifex/physics/solvers/diffusion_advection.py +106 -0
  299. opifex-0.1.0/src/opifex/physics/solvers/navier_stokes.py +259 -0
  300. opifex-0.1.0/src/opifex/physics/solvers/shallow_water.py +102 -0
  301. opifex-0.1.0/src/opifex/physics/spectral/__init__.py +26 -0
  302. opifex-0.1.0/src/opifex/physics/spectral/quantum_spectral.py +318 -0
  303. opifex-0.1.0/src/opifex/platform/__init__.py +30 -0
  304. opifex-0.1.0/src/opifex/platform/collaboration/__init__.py +24 -0
  305. opifex-0.1.0/src/opifex/platform/dashboard/__init__.py +24 -0
  306. opifex-0.1.0/src/opifex/platform/registry/__init__.py +92 -0
  307. opifex-0.1.0/src/opifex/platform/registry/core.py +448 -0
  308. opifex-0.1.0/src/opifex/platform/registry/models.py +338 -0
  309. opifex-0.1.0/src/opifex/platform/registry/search.py +587 -0
  310. opifex-0.1.0/src/opifex/platform/registry/validation.py +846 -0
  311. opifex-0.1.0/src/opifex/platform/registry/version.py +623 -0
  312. opifex-0.1.0/src/opifex/platform/search_types.py +19 -0
  313. opifex-0.1.0/src/opifex/py.typed +0 -0
  314. opifex-0.1.0/src/opifex/scalability/__init__.py +30 -0
  315. opifex-0.1.0/src/opifex/scalability/search.py +651 -0
  316. opifex-0.1.0/src/opifex/solvers/__init__.py +37 -0
  317. opifex-0.1.0/src/opifex/solvers/adapters/artifex.py +95 -0
  318. opifex-0.1.0/src/opifex/solvers/control_pinn.py +243 -0
  319. opifex-0.1.0/src/opifex/solvers/hybrid.py +74 -0
  320. opifex-0.1.0/src/opifex/solvers/neural_operator.py +70 -0
  321. opifex-0.1.0/src/opifex/solvers/pinn.py +377 -0
  322. opifex-0.1.0/src/opifex/solvers/ude.py +294 -0
  323. opifex-0.1.0/src/opifex/solvers/wrappers.py +231 -0
  324. opifex-0.1.0/src/opifex/training/README.md +1161 -0
  325. opifex-0.1.0/src/opifex/training/__init__.py +7 -0
  326. opifex-0.1.0/src/opifex/training/adaptive_sampling.py +1 -0
  327. opifex-0.1.0/src/opifex/training/basic_trainer.py +1485 -0
  328. opifex-0.1.0/src/opifex/training/checkpoint_manager.py +1 -0
  329. opifex-0.1.0/src/opifex/training/flops_counter.py +1 -0
  330. opifex-0.1.0/src/opifex/training/incremental_trainer.py +1 -0
  331. opifex-0.1.0/src/opifex/training/metrics.py +1 -0
  332. opifex-0.1.0/src/opifex/training/mixed_precision.py +1 -0
  333. opifex-0.1.0/src/opifex/training/multilevel/__init__.py +2 -0
  334. opifex-0.1.0/src/opifex/training/multilevel/cascade_training.py +1 -0
  335. opifex-0.1.0/src/opifex/training/multilevel/coarse_to_fine.py +1 -0
  336. opifex-0.1.0/src/opifex/training/multilevel/multilevel_adam.py +1 -0
  337. opifex-0.1.0/src/opifex/training/multilevel/multilevel_fno.py +1 -0
  338. opifex-0.1.0/src/opifex/training/orbax_checkpoint_manager.py +1 -0
  339. opifex-0.1.0/src/opifex/training/quantum_training.py +1 -0
  340. opifex-0.1.0/src/opifex/training/recovery.py +1 -0
  341. opifex-0.1.0/src/opifex/training/trainers/__init__.py +7 -0
  342. opifex-0.1.0/src/opifex/training/utils.py +1 -0
  343. opifex-0.1.0/src/opifex/typing.py +346 -0
  344. opifex-0.1.0/src/opifex/visualization/__init__.py +36 -0
  345. opifex-0.1.0/src/opifex/visualization/animation.py +70 -0
  346. opifex-0.1.0/src/opifex/visualization/field_plotting.py +462 -0
  347. opifex-0.1.0/src/opifex/visualization/performance.py +690 -0
@@ -0,0 +1,505 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py,cover
50
+ .hypothesis/
51
+ .pytest_cache/
52
+ cover/
53
+
54
+ # Translations
55
+ *.mo
56
+ *.pot
57
+
58
+ # Django stuff:
59
+ *.log
60
+ local_settings.py
61
+ db.sqlite3
62
+ db.sqlite3-journal
63
+
64
+ # Flask stuff:
65
+ instance/
66
+ .webassets-cache
67
+
68
+ # Scrapy stuff:
69
+ .scrapy
70
+
71
+ # Sphinx documentation
72
+ docs/_build/
73
+
74
+ # PyBuilder
75
+ .pybuilder/
76
+ target/
77
+
78
+ # Jupyter Notebook
79
+ .ipynb_checkpoints
80
+
81
+ # IPython
82
+ profile_default/
83
+ ipython_config.py
84
+
85
+ # pyenv
86
+ # For a library or package, you might want to ignore these files since the code is
87
+ # intended to run in multiple environments; otherwise, check them in:
88
+ # .python-version
89
+
90
+ # pipenv
91
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
93
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
94
+ # install all needed dependencies.
95
+ #Pipfile.lock
96
+
97
+ # UV
98
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
99
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
100
+ # commonly ignored for libraries.
101
+ #uv.lock
102
+
103
+ # poetry
104
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
105
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
106
+ # commonly ignored for libraries.
107
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
108
+ #poetry.lock
109
+
110
+ # pdm
111
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
112
+ #pdm.lock
113
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
114
+ # in version control.
115
+ # https://pdm.fming.dev/latest/usage/project/#working-with-version-control
116
+ .pdm.toml
117
+ .pdm-python
118
+ .pdm-build/
119
+
120
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
121
+ __pypackages__/
122
+
123
+ # Celery stuff
124
+ celerybeat-schedule
125
+ celerybeat.pid
126
+
127
+ # SageMath parsed files
128
+ *.sage.py
129
+
130
+ # Environments
131
+ .env
132
+ .opifex.env
133
+ .env.local
134
+ .venv
135
+ env/
136
+ venv/
137
+ ENV/
138
+ env.bak/
139
+ venv.bak/
140
+
141
+ # Spyder project settings
142
+ .spyderproject
143
+ .spyproject
144
+
145
+ # Rope project settings
146
+ .ropeproject
147
+
148
+ # mkdocs documentation
149
+ /site
150
+
151
+ # mypy
152
+ .mypy_cache/
153
+ .dmypy.json
154
+ dmypy.json
155
+
156
+ # Pyre type checker
157
+ .pyre/
158
+
159
+ # pytype static type analyzer
160
+ .pytype/
161
+
162
+ # Cython debug symbols
163
+ cython_debug/
164
+
165
+ # PyCharm
166
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
167
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
168
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
169
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
170
+ #.idea/
171
+
172
+ # Abstra
173
+ # Abstra is an AI-powered process automation framework.
174
+ # Ignore directories containing user credentials, local state, and settings.
175
+ # Learn more at https://abstra.io/docs
176
+ .abstra/
177
+
178
+ # Visual Studio Code
179
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore
180
+ # that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
181
+ # and can be added to the global gitignore or merged into this file. However, if you prefer,
182
+ # you could uncomment the following to ignore the enitre vscode folder
183
+ # .vscode/
184
+
185
+ # Ruff stuff:
186
+ .ruff_cache/
187
+
188
+ # PyPI configuration file
189
+ .pypirc
190
+
191
+ # AI-powered code editors
192
+ # Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to
193
+ # exclude from AI features like autocomplete and code analysis. Recommended for sensitive data
194
+ # refer to https://docs.cursor.com/context/ignore-files
195
+ .cursor/
196
+ .cursorignore
197
+ .cursorindexingignore
198
+ .copilot/
199
+ .anthropic/
200
+
201
+ # Claude Code editor
202
+ .claude/
203
+
204
+ # Scientific Computing & ML Artifacts
205
+ # ====================================
206
+
207
+ # JAX compilation cache
208
+ jax_cache/
209
+
210
+ # Example output directories
211
+ examples_output/
212
+ .jax_cache/
213
+
214
+ # Checkpoints and model artifacts
215
+ checkpoints/
216
+ checkpoint_*/
217
+ *.checkpoint
218
+ *.ckpt
219
+ *.orbax-checkpoint*
220
+ *.orbax-tmp*
221
+
222
+ # Scientific data formats
223
+ *.hdf5
224
+ *.h5
225
+ *.nc
226
+ *.netcdf
227
+ *.vtk
228
+ *.vtu
229
+ *.vtp
230
+ *.xdmf
231
+ *.xml
232
+
233
+ # Serialized models and data
234
+ *.pkl
235
+ *.pickle
236
+ *.joblib
237
+ *.npy
238
+ *.npz
239
+
240
+ # Experiment outputs
241
+ experiments/
242
+ runs/
243
+ logs/
244
+ outputs/
245
+ results/
246
+ wandb/
247
+ tensorboard/
248
+ mlruns/
249
+
250
+ # Temporary computation files
251
+ *.tmp
252
+ *.temp
253
+ *_temp/
254
+ *_tmp/
255
+
256
+ # Benchmark and profiling outputs
257
+ *.prof
258
+ *.profile
259
+ benchmark_results/
260
+ pdebench_results/
261
+
262
+
263
+ # Test and temporary comparison directories
264
+ test_comparison*/
265
+ *test_comparison*/
266
+ test_benchmark*/
267
+ test_results/
268
+
269
+ # Generated scripts
270
+ scripts/activate_sciml.sh
271
+
272
+ # Cache directories
273
+ cache/
274
+ .cache/
275
+ tmp/
276
+ temp/
277
+ .tmp/
278
+
279
+ # Platform-specific optimizations
280
+ *.fasl
281
+ *.dfsl
282
+ *.cfsl
283
+ *.d64fsl
284
+ *.p64fsl
285
+ *.lx64fsl
286
+ *.lx32fsl
287
+ *.dx64fsl
288
+ *.dx32fsl
289
+ *.fx64fsl
290
+ *.fx32fsl
291
+ *.sx64fsl
292
+ *.sx32fsl
293
+ *.wx64fsl
294
+ *.wx32fsl
295
+
296
+ # GPU-specific files
297
+ *.cubin
298
+ *.fatbin
299
+ *.ptx
300
+
301
+ # Generated files
302
+ autom4te.cache/
303
+ *.x
304
+ *.i*86
305
+ *.x86_64
306
+ *.hex
307
+
308
+ # Statistical/numerical computation artifacts
309
+ *.npy
310
+ *.npz
311
+ *.mat
312
+ *.csv
313
+ *.tsv
314
+ *.json.gz
315
+ *.pickle.gz
316
+
317
+ # LaTeX files for documentation
318
+ *.aux
319
+ *.bbl
320
+ *.blg
321
+ *.fdb_latexmk
322
+ *.fls
323
+ *.lof
324
+ *.log
325
+ *.lot
326
+ *.out
327
+ *.toc
328
+ *.synctex.gz
329
+ *.nav
330
+ *.snm
331
+ *.vrb
332
+
333
+ # VS Code workspace files
334
+ *.code-workspace
335
+
336
+ # OS generated files
337
+ .DS_Store
338
+ .DS_Store?
339
+ ._*
340
+ .Spotlight-V100
341
+ .Trashes
342
+ ehthumbs.db
343
+ Thumbs.db
344
+
345
+ # IDE files
346
+ *.swp
347
+ *.swo
348
+ *~
349
+
350
+ # Backup files
351
+ *.bak
352
+ *.backup
353
+ *.old
354
+
355
+ # Documentation build artifacts
356
+ _build/
357
+ .doctrees/
358
+
359
+ # Profiling and benchmark data
360
+ *.prof
361
+ *.perf
362
+ *.memprof
363
+
364
+ # Coverage reports
365
+ htmlcov/
366
+ .coverage
367
+ .coverage.*
368
+ coverage.xml
369
+ *.cover
370
+
371
+ # Configuration files (if they contain secrets)
372
+ config.ini
373
+ config.cfg
374
+ secrets.yaml
375
+ credentials.json
376
+
377
+ # Local development files
378
+ .local/
379
+ local/
380
+
381
+ # Editor temporary files
382
+ #*#
383
+ .#*
384
+
385
+ # macOS
386
+ .DS_Store
387
+ .AppleDouble
388
+ .LSOverride
389
+
390
+ # Windows
391
+ Thumbs.db
392
+ Thumbs.db:encryptable
393
+ ehthumbs.db
394
+ ehthumbs_vista.db
395
+ *.stackdump
396
+ [Dd]esktop.ini
397
+ $RECYCLE.BIN/
398
+ *.cab
399
+ *.msi
400
+ *.msix
401
+ *.msm
402
+ *.msp
403
+ *.lnk
404
+
405
+ # Linux
406
+ *~
407
+ .fuse_hidden*
408
+ .directory
409
+ .Trash-*
410
+ .nfs*
411
+
412
+ # Temporary files
413
+ *.tmp
414
+ *.bak
415
+ *.swp
416
+ *~.nib
417
+ *.lock
418
+ !uv.lock
419
+
420
+ # Development environments
421
+ .env.local
422
+ .env.development.local
423
+ .env.test.local
424
+ .env.production.local
425
+
426
+ # Database files
427
+ *.db
428
+ *.sqlite
429
+ *.sqlite3
430
+
431
+ # Generated API documentation
432
+ api_docs/
433
+
434
+ # Compiled files
435
+ *.exe
436
+ *.dll
437
+ *.pdb
438
+ *.lib
439
+ *.exp
440
+
441
+ # Archive files
442
+ *.tar
443
+ *.zip
444
+ *.7z
445
+ *.rar
446
+ *.gz
447
+ *.bz2
448
+ *.xz
449
+
450
+ # Node.js (if any JavaScript tooling is used)
451
+ node_modules/
452
+ npm-debug.log*
453
+ yarn-debug.log*
454
+ yarn-error.log*
455
+
456
+ # Python virtual environments
457
+ bin/
458
+ include/
459
+ pyvenv.cfg
460
+
461
+ # Jupyter notebook output files
462
+ *.ipynb_checkpoints/
463
+
464
+ # Documentation sources
465
+ *.rst~
466
+ *.md~
467
+
468
+ # prompts
469
+ prompt*
470
+ AGENTS.md
471
+ CLAUDE.md
472
+ copilot-instructions.md
473
+ .github/copilot-instructions.md
474
+ CHANGELOG.md
475
+ custom_modes/
476
+ documents/
477
+ example_data/
478
+
479
+ # Internal development and memory bank files
480
+ memory-bank/
481
+ COMPREHENSIVE_REPOSITORY_AUDIT_*.md
482
+ DOCUMENTATION_*.md
483
+ *_REFACTORING_PLAN.md
484
+ *_SUMMARY.md
485
+
486
+ # Internal documentation and style guides (should not be in public docs nav)
487
+ docs/GPU_TESTING_SOLUTION.md
488
+ docs/STYLE_GUIDE.md
489
+ docs/development-setup.md
490
+ docs/development/breaking-changes.md
491
+ docs/development/nnx-migration.md
492
+
493
+
494
+ # Deployment infrastructure (auto-generated scaffolding)
495
+ /deployment/
496
+
497
+ # Benchmark output data and one-off scripts
498
+ benchmark-data/
499
+ benchmarks/
500
+ docs/deployment/DEPLOYMENT_SUMMARY.md
501
+
502
+ bandit-report.json
503
+ sandbox/
504
+ # One-off config stubs
505
+ /config/
opifex-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Mahdi Shafiei
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.