jinns 1.3.0__tar.gz → 1.5.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 (188) hide show
  1. {jinns-1.3.0 → jinns-1.5.0}/.gitlab-ci.yml +19 -8
  2. jinns-1.5.0/.pre-commit-config.yaml +11 -0
  3. jinns-1.5.0/Notebooks/ODE/1D_Generalized_Lotka_Volterra.ipynb +785 -0
  4. jinns-1.5.0/Notebooks/ODE/MS_model_Verhulst.ipynb +1951 -0
  5. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/ODE/linear_fo_equation.ipynb +28 -23
  6. jinns-1.5.0/Notebooks/ODE/systems_biology_informed_neural_network.ipynb +899 -0
  7. jinns-1.5.0/Notebooks/PDE/1D_non_stationary_Burgers.ipynb +784 -0
  8. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/1D_non_stationary_Fisher_KPP_Bounded_Domain.ipynb +91 -44
  9. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/2D_Heat_inverse_problem.ipynb +128 -68
  10. jinns-1.5.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow.ipynb +826 -0
  11. jinns-1.5.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_Metamodel_hyperpinn.ipynb +1390 -0
  12. jinns-1.5.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_SoftConstraints.ipynb +1089 -0
  13. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/2D_Poisson_inverse_problem.ipynb +88 -47
  14. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/2D_non_stationary_OU.ipynb +13 -9
  15. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/Reaction_Diffusion_2D_heterogenous_model.ipynb +209 -219
  16. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/Reaction_Diffusion_2D_homogeneous_metamodel_hyperpinn_diffrax.ipynb +98 -75
  17. jinns-1.5.0/Notebooks/Tutorials/1D_non_stationary_Burgers_JointEstimation_Vanilla.ipynb +887 -0
  18. jinns-1.5.0/Notebooks/Tutorials/implementing_your_own_PDE_problem.ipynb +769 -0
  19. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/Tutorials/introducing_validation_loss.ipynb +2 -2
  20. {jinns-1.3.0 → jinns-1.5.0}/PKG-INFO +8 -4
  21. {jinns-1.3.0 → jinns-1.5.0}/README.md +5 -2
  22. jinns-1.5.0/docs/api/advanced/loss_weight_updates.md +7 -0
  23. {jinns-1.3.0 → jinns-1.5.0}/docs/api/loss/dynamic_loss.md +1 -5
  24. jinns-1.5.0/docs/api/loss/loss_weights.md +13 -0
  25. {jinns-1.3.0 → jinns-1.5.0}/docs/changelog.md +13 -0
  26. jinns-1.5.0/jinns/__init__.py +18 -0
  27. jinns-1.5.0/jinns/data/_AbstractDataGenerator.py +19 -0
  28. jinns-1.5.0/jinns/data/_Batchs.py +42 -0
  29. jinns-1.5.0/jinns/data/_CubicMeshPDENonStatio.py +431 -0
  30. jinns-1.5.0/jinns/data/_CubicMeshPDEStatio.py +464 -0
  31. jinns-1.5.0/jinns/data/_DataGeneratorODE.py +187 -0
  32. jinns-1.5.0/jinns/data/_DataGeneratorObservations.py +189 -0
  33. jinns-1.5.0/jinns/data/_DataGeneratorParameter.py +206 -0
  34. jinns-1.5.0/jinns/data/__init__.py +21 -0
  35. jinns-1.5.0/jinns/data/_utils.py +149 -0
  36. {jinns-1.3.0 → jinns-1.5.0}/jinns/experimental/__init__.py +9 -0
  37. {jinns-1.3.0 → jinns-1.5.0}/jinns/loss/_DynamicLoss.py +114 -187
  38. {jinns-1.3.0 → jinns-1.5.0}/jinns/loss/_DynamicLossAbstract.py +74 -69
  39. jinns-1.5.0/jinns/loss/_LossODE.py +352 -0
  40. jinns-1.5.0/jinns/loss/_LossPDE.py +841 -0
  41. jinns-1.5.0/jinns/loss/__init__.py +54 -0
  42. jinns-1.5.0/jinns/loss/_abstract_loss.py +128 -0
  43. {jinns-1.3.0 → jinns-1.5.0}/jinns/loss/_boundary_conditions.py +20 -19
  44. jinns-1.5.0/jinns/loss/_loss_components.py +43 -0
  45. {jinns-1.3.0 → jinns-1.5.0}/jinns/loss/_loss_utils.py +85 -179
  46. jinns-1.5.0/jinns/loss/_loss_weight_updates.py +202 -0
  47. jinns-1.5.0/jinns/loss/_loss_weights.py +83 -0
  48. {jinns-1.3.0 → jinns-1.5.0}/jinns/loss/_operators.py +84 -74
  49. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/__init__.py +15 -0
  50. jinns-1.5.0/jinns/nn/_abstract_pinn.py +22 -0
  51. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_hyperpinn.py +94 -57
  52. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_mlp.py +50 -25
  53. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_pinn.py +33 -19
  54. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_ppinn.py +70 -34
  55. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_save_load.py +21 -51
  56. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_spinn.py +33 -16
  57. {jinns-1.3.0 → jinns-1.5.0}/jinns/nn/_spinn_mlp.py +28 -22
  58. jinns-1.5.0/jinns/nn/_utils.py +38 -0
  59. jinns-1.5.0/jinns/parameters/__init__.py +13 -0
  60. {jinns-1.3.0 → jinns-1.5.0}/jinns/parameters/_derivative_keys.py +116 -177
  61. {jinns-1.3.0 → jinns-1.5.0}/jinns/parameters/_params.py +18 -46
  62. {jinns-1.3.0 → jinns-1.5.0}/jinns/plot/__init__.py +2 -0
  63. {jinns-1.3.0 → jinns-1.5.0}/jinns/plot/_plot.py +35 -34
  64. {jinns-1.3.0 → jinns-1.5.0}/jinns/solver/_rar.py +80 -63
  65. {jinns-1.3.0 → jinns-1.5.0}/jinns/solver/_solve.py +207 -92
  66. {jinns-1.3.0 → jinns-1.5.0}/jinns/solver/_utils.py +4 -6
  67. {jinns-1.3.0 → jinns-1.5.0}/jinns/utils/__init__.py +2 -0
  68. {jinns-1.3.0 → jinns-1.5.0}/jinns/utils/_containers.py +16 -10
  69. jinns-1.5.0/jinns/utils/_types.py +31 -0
  70. {jinns-1.3.0 → jinns-1.5.0}/jinns/utils/_utils.py +4 -11
  71. {jinns-1.3.0 → jinns-1.5.0}/jinns/validation/__init__.py +2 -0
  72. {jinns-1.3.0 → jinns-1.5.0}/jinns/validation/_validation.py +20 -19
  73. {jinns-1.3.0 → jinns-1.5.0}/jinns.egg-info/PKG-INFO +8 -4
  74. {jinns-1.3.0 → jinns-1.5.0}/jinns.egg-info/SOURCES.txt +22 -3
  75. {jinns-1.3.0 → jinns-1.5.0}/mkdocs.yml +5 -4
  76. {jinns-1.3.0 → jinns-1.5.0}/pyproject.toml +10 -0
  77. jinns-1.5.0/tests/adaptative_weight_tests/test_ReLoBRaLo_update.py +58 -0
  78. jinns-1.5.0/tests/adaptative_weight_tests/test_loss_weight_update.py +210 -0
  79. jinns-1.5.0/tests/adaptative_weight_tests/test_lr_annealing.py +69 -0
  80. jinns-1.5.0/tests/adaptative_weight_tests/test_soft_adapt.py +57 -0
  81. jinns-1.5.0/tests/loss_tests/test_lossODE.py +41 -0
  82. jinns-1.5.0/tests/loss_tests/test_lossPDEnonstatio.py +58 -0
  83. {jinns-1.3.0 → jinns-1.5.0}/tests/loss_tests/test_lossPDEstatio.py +1 -2
  84. {jinns-1.3.0 → jinns-1.5.0}/tests/parameters_tests/test_DerivativeKeysODE.py +1 -2
  85. jinns-1.5.0/tests/save_load_tests/test_saving_loading_pinn.py +75 -0
  86. {jinns-1.3.0 → jinns-1.5.0}/tests/sharding_tests/test_Burgers_x32_multiple_shardings.py +2 -2
  87. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_Burgers_x32.py +1 -1
  88. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_Burgers_x64.py +1 -1
  89. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_Fisher_x32.py +1 -1
  90. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_Fisher_x64.py +1 -1
  91. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_GLV_x32.py +25 -45
  92. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_GLV_x64.py +24 -45
  93. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_NSPipeFlow_x32.py +43 -53
  94. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_NSPipeFlow_x64.py +44 -53
  95. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_OU1D_statio_x32.py +2 -6
  96. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_OU2D_x32.py +1 -1
  97. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_nan_params_catch.py +1 -2
  98. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_parameter_tracker.py +1 -1
  99. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests/test_rar_algorithm.py +1 -2
  100. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests_hyperpinn/test_NSPipeFlow_x32_hyperpinn.py +27 -47
  101. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests_spinn/test_Burgers_x32_spinn.py +1 -1
  102. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests_spinn/test_Fisher_x32_spinn.py +1 -1
  103. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests_spinn/test_NSPipeFlow_x32_spinn.py +33 -59
  104. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests_spinn/test_OU2D_x32_spinn.py +1 -1
  105. {jinns-1.3.0 → jinns-1.5.0}/tests/solver_tests_spinn/test_ReactionDiffusion_nonhomo_x64_spinn.py +1 -2
  106. {jinns-1.3.0 → jinns-1.5.0}/tests/validation_tests/test_vanilla_validation.py +1 -0
  107. jinns-1.3.0/.pre-commit-config.yaml +0 -23
  108. jinns-1.3.0/Notebooks/ODE/1D_Generalized_Lotka_Volterra.ipynb +0 -783
  109. jinns-1.3.0/Notebooks/ODE/systems_biology_informed_neural_network.ipynb +0 -1036
  110. jinns-1.3.0/Notebooks/PDE/1D_non_stationary_Burgers.ipynb +0 -756
  111. jinns-1.3.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow.ipynb +0 -825
  112. jinns-1.3.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_Metamodel_hyperpinn.ipynb +0 -1402
  113. jinns-1.3.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_SoftConstraints.ipynb +0 -1134
  114. jinns-1.3.0/Notebooks/Tutorials/1D_non_stationary_Burgers_JointEstimation_Vanilla.ipynb +0 -860
  115. jinns-1.3.0/Notebooks/Tutorials/implementing_your_own_PDE_problem.ipynb +0 -740
  116. jinns-1.3.0/docs/api/loss/systems_of_xde.md +0 -13
  117. jinns-1.3.0/jinns/__init__.py +0 -8
  118. jinns-1.3.0/jinns/data/_Batchs.py +0 -23
  119. jinns-1.3.0/jinns/data/_DataGenerators.py +0 -1634
  120. jinns-1.3.0/jinns/data/__init__.py +0 -11
  121. jinns-1.3.0/jinns/loss/_LossODE.py +0 -568
  122. jinns-1.3.0/jinns/loss/_LossPDE.py +0 -1128
  123. jinns-1.3.0/jinns/loss/__init__.py +0 -28
  124. jinns-1.3.0/jinns/loss/_loss_weights.py +0 -59
  125. jinns-1.3.0/jinns/parameters/__init__.py +0 -6
  126. jinns-1.3.0/jinns/utils/_types.py +0 -65
  127. jinns-1.3.0/tests/save_load_tests/test_saving_loading_pinn.py +0 -172
  128. {jinns-1.3.0 → jinns-1.5.0}/.gitignore +0 -0
  129. {jinns-1.3.0 → jinns-1.5.0}/AUTHORS +0 -0
  130. {jinns-1.3.0 → jinns-1.5.0}/LICENSE +0 -0
  131. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/ODE/sbinn_data/glucose.dat +0 -0
  132. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/ODE/sbinn_data/meal.dat +0 -0
  133. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/2d_nonstatio_ou_standardsampling.png +0 -0
  134. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/PDE/OU_1D_nonstatio_solution_grid.npy +0 -0
  135. /jinns-1.3.0/Notebooks/Tutorials/burger_solution_grid.npy → /jinns-1.5.0/Notebooks/Tutorials/burgers_solution_grid.npy +0 -0
  136. {jinns-1.3.0 → jinns-1.5.0}/Notebooks/Tutorials/load_save_model.ipynb +0 -0
  137. {jinns-1.3.0 → jinns-1.5.0}/codemeta.json +0 -0
  138. {jinns-1.3.0 → jinns-1.5.0}/docs/README.md +0 -0
  139. {jinns-1.3.0 → jinns-1.5.0}/docs/_static/custom_css.css +0 -0
  140. {jinns-1.3.0 → jinns-1.5.0}/docs/_static/favicon.png +0 -0
  141. {jinns-1.3.0 → jinns-1.5.0}/docs/api/advanced/derivative_keys.md +0 -0
  142. {jinns-1.3.0 → jinns-1.5.0}/docs/api/advanced/differential_operators.md +0 -0
  143. {jinns-1.3.0 → jinns-1.5.0}/docs/api/datagenerators/datagenerators_core.md +0 -0
  144. {jinns-1.3.0 → jinns-1.5.0}/docs/api/datagenerators/datagenerators_other.md +0 -0
  145. {jinns-1.3.0 → jinns-1.5.0}/docs/api/loss/loss_xde.md +0 -0
  146. {jinns-1.3.0 → jinns-1.5.0}/docs/api/pinn/hyperpinn.md +0 -0
  147. {jinns-1.3.0 → jinns-1.5.0}/docs/api/pinn/pinn.md +0 -0
  148. {jinns-1.3.0 → jinns-1.5.0}/docs/api/pinn/ppinn.md +0 -0
  149. {jinns-1.3.0 → jinns-1.5.0}/docs/api/pinn/save_load.md +0 -0
  150. {jinns-1.3.0 → jinns-1.5.0}/docs/api/pinn/spinn.md +0 -0
  151. {jinns-1.3.0 → jinns-1.5.0}/docs/api/plot.md +0 -0
  152. {jinns-1.3.0 → jinns-1.5.0}/docs/api/solver.md +0 -0
  153. {jinns-1.3.0 → jinns-1.5.0}/docs/doc_requirements.txt +0 -0
  154. {jinns-1.3.0 → jinns-1.5.0}/docs/index.md +0 -0
  155. {jinns-1.3.0 → jinns-1.5.0}/docs/javascripts/katex.js +0 -0
  156. {jinns-1.3.0 → jinns-1.5.0}/docs/maths/fokker_planck.md +0 -0
  157. {jinns-1.3.0 → jinns-1.5.0}/docs/maths/introduction_to_pinns.md +0 -0
  158. {jinns-1.3.0 → jinns-1.5.0}/img/jinns-diagram.png +0 -0
  159. {jinns-1.3.0 → jinns-1.5.0}/jinns/experimental/_diffrax_solver.py +0 -0
  160. {jinns-1.3.0 → jinns-1.5.0}/jinns/solver/__init__.py +0 -0
  161. {jinns-1.3.0 → jinns-1.5.0}/jinns.egg-info/dependency_links.txt +0 -0
  162. {jinns-1.3.0 → jinns-1.5.0}/jinns.egg-info/requires.txt +0 -0
  163. {jinns-1.3.0 → jinns-1.5.0}/jinns.egg-info/top_level.txt +0 -0
  164. {jinns-1.3.0 → jinns-1.5.0}/setup.cfg +0 -0
  165. {jinns-1.3.0 → jinns-1.5.0}/tests/conftest.py +0 -0
  166. {jinns-1.3.0 → jinns-1.5.0}/tests/dataGenerator_tests/test_CubicMeshPDENonStatio.py +0 -0
  167. {jinns-1.3.0 → jinns-1.5.0}/tests/dataGenerator_tests/test_CubicMeshPDEStatio.py +0 -0
  168. {jinns-1.3.0 → jinns-1.5.0}/tests/dataGenerator_tests/test_DataGeneratorODE.py +0 -0
  169. {jinns-1.3.0 → jinns-1.5.0}/tests/dataGenerator_tests/test_DataGeneratorParameter.py +0 -0
  170. {jinns-1.3.0 → jinns-1.5.0}/tests/loss_tests/test_norm_loss.py +0 -0
  171. {jinns-1.3.0 → jinns-1.5.0}/tests/nn_tests/test_hyperpinns.py +0 -0
  172. {jinns-1.3.0 → jinns-1.5.0}/tests/nn_tests/test_mlp.py +0 -0
  173. {jinns-1.3.0 → jinns-1.5.0}/tests/nn_tests/test_pinn.py +0 -0
  174. {jinns-1.3.0 → jinns-1.5.0}/tests/nn_tests/test_ppinn_mlp.py +0 -0
  175. {jinns-1.3.0 → jinns-1.5.0}/tests/nn_tests/test_smlp.py +0 -0
  176. {jinns-1.3.0 → jinns-1.5.0}/tests/nn_tests/test_spinn.py +0 -0
  177. {jinns-1.3.0 → jinns-1.5.0}/tests/operator_tests/test_divergence_fwd.py +0 -0
  178. {jinns-1.3.0 → jinns-1.5.0}/tests/operator_tests/test_divergence_rev.py +0 -0
  179. {jinns-1.3.0 → jinns-1.5.0}/tests/operator_tests/test_laplacian_fwd.py +0 -0
  180. {jinns-1.3.0 → jinns-1.5.0}/tests/operator_tests/test_laplacian_rev.py +0 -0
  181. {jinns-1.3.0 → jinns-1.5.0}/tests/operator_tests/test_vectorial_laplacian_fwd.py +0 -0
  182. {jinns-1.3.0 → jinns-1.5.0}/tests/operator_tests/test_vectorial_laplacian_rev.py +0 -0
  183. {jinns-1.3.0 → jinns-1.5.0}/tests/plot_tests/test_plot1D.py +0 -0
  184. {jinns-1.3.0 → jinns-1.5.0}/tests/plot_tests/test_plot2D.py +0 -0
  185. {jinns-1.3.0 → jinns-1.5.0}/tests/save_load_tests/test_saving_loading_hyperpinn.py +0 -0
  186. {jinns-1.3.0 → jinns-1.5.0}/tests/save_load_tests/test_saving_loading_spinn.py +0 -0
  187. {jinns-1.3.0 → jinns-1.5.0}/tests/utils_tests/test_solver_utils.py +0 -0
  188. {jinns-1.3.0 → jinns-1.5.0}/tests/utils_tests/test_subtract_with_check.py +0 -0
@@ -6,13 +6,26 @@ stages:
6
6
  - build
7
7
  - publish
8
8
 
9
- black:
9
+ .base_ruff: # from https://docs.astral.sh/ruff/integrations/#github-actions
10
10
  stage: linting
11
- image: registry.gitlab.com/pipeline-components/black:latest
11
+ interruptible: true
12
+ image:
13
+ name: ghcr.io/astral-sh/ruff:0.11.8-alpine
14
+ before_script:
15
+ - ruff --version
16
+
17
+ Ruff Check:
18
+ extends: .base_ruff
12
19
  script:
13
- - black --check --verbose -- .
14
- tags:
15
- - saas-linux-small-amd64
20
+ - ruff check jinns --output-format=gitlab > code-quality-report.json
21
+ artifacts:
22
+ reports:
23
+ codequality: jinns/code-quality-report.json
24
+
25
+ Ruff Format:
26
+ extends: .base_ruff
27
+ script:
28
+ - ruff format jinns --diff
16
29
 
17
30
  run_tests:
18
31
  stage: tests
@@ -22,7 +35,7 @@ run_tests:
22
35
  - pip install pytest coverage pytest-cov
23
36
  - pip install -e .
24
37
  script:
25
- - pytest --cov=jinns --ignore=tests/solver_tests/test_NSPipeFlow_x64.py
38
+ - pytest --cov=jinns
26
39
  coverage: '/TOTAL.*\s+(\d+%)$/'
27
40
 
28
41
  build_doc:
@@ -34,8 +47,6 @@ build_doc:
34
47
  - pip install -e .
35
48
  - pip install -r docs/doc_requirements.txt
36
49
  script:
37
- - pip list
38
- - python -m mkdocstrings_handlers.python.debug
39
50
  - mkdocs build
40
51
  - mkdocs build # twice, see https://github.com/patrick-kidger/pytkdocs_tweaks
41
52
 
@@ -0,0 +1,11 @@
1
+ default_stages: [pre-commit]
2
+ repos:
3
+ - repo: https://github.com/astral-sh/ruff-pre-commit
4
+ # Ruff version.
5
+ rev: v0.11.8
6
+ hooks:
7
+ # Run the linter.
8
+ - id: ruff
9
+ args: [ --fix ]
10
+ # Run the formatter.
11
+ - id: ruff-format