jinns 1.2.0__tar.gz → 1.4.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 (190) hide show
  1. {jinns-1.2.0 → jinns-1.4.0}/.gitlab-ci.yml +27 -12
  2. jinns-1.4.0/.pre-commit-config.yaml +11 -0
  3. jinns-1.4.0/Notebooks/ODE/1D_Generalized_Lotka_Volterra.ipynb +762 -0
  4. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/ODE/linear_fo_equation.ipynb +11 -11
  5. jinns-1.4.0/Notebooks/ODE/systems_biology_informed_neural_network.ipynb +878 -0
  6. jinns-1.4.0/Notebooks/PDE/1D_non_stationary_Burgers.ipynb +786 -0
  7. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/1D_non_stationary_Fisher_KPP_Bounded_Domain.ipynb +2 -2
  8. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/2D_Heat_inverse_problem.ipynb +9 -9
  9. jinns-1.4.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow.ipynb +832 -0
  10. jinns-1.4.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_Metamodel_hyperpinn.ipynb +1322 -0
  11. jinns-1.4.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_SoftConstraints.ipynb +1083 -0
  12. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/2D_Poisson_inverse_problem.ipynb +1 -1
  13. jinns-1.4.0/Notebooks/PDE/2D_non_stationary_OU.ipynb +1059 -0
  14. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/Reaction_Diffusion_2D_heterogenous_model.ipynb +2 -2
  15. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/Reaction_Diffusion_2D_homogeneous_metamodel_hyperpinn_diffrax.ipynb +1 -1
  16. jinns-1.4.0/Notebooks/Tutorials/1D_non_stationary_Burgers_JointEstimation_Vanilla.ipynb +887 -0
  17. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/Tutorials/implementing_your_own_PDE_problem.ipynb +3 -3
  18. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/Tutorials/introducing_validation_loss.ipynb +2 -2
  19. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/Tutorials/load_save_model.ipynb +2 -2
  20. {jinns-1.2.0 → jinns-1.4.0}/PKG-INFO +11 -10
  21. {jinns-1.2.0 → jinns-1.4.0}/README.md +8 -8
  22. {jinns-1.2.0 → jinns-1.4.0}/docs/api/loss/dynamic_loss.md +1 -5
  23. jinns-1.4.0/docs/api/loss/loss_weights.md +9 -0
  24. jinns-1.4.0/docs/api/pinn/hyperpinn.md +3 -0
  25. jinns-1.4.0/docs/api/pinn/pinn.md +7 -0
  26. jinns-1.4.0/docs/api/pinn/ppinn.md +3 -0
  27. jinns-1.4.0/docs/api/pinn/save_load.md +5 -0
  28. jinns-1.4.0/docs/api/pinn/spinn.md +7 -0
  29. {jinns-1.2.0 → jinns-1.4.0}/docs/changelog.md +15 -0
  30. {jinns-1.2.0 → jinns-1.4.0}/docs/index.md +12 -4
  31. jinns-1.4.0/jinns/__init__.py +18 -0
  32. jinns-1.4.0/jinns/data/_AbstractDataGenerator.py +19 -0
  33. jinns-1.4.0/jinns/data/_Batchs.py +42 -0
  34. jinns-1.4.0/jinns/data/_CubicMeshPDENonStatio.py +431 -0
  35. jinns-1.4.0/jinns/data/_CubicMeshPDEStatio.py +464 -0
  36. jinns-1.4.0/jinns/data/_DataGeneratorODE.py +187 -0
  37. jinns-1.4.0/jinns/data/_DataGeneratorObservations.py +189 -0
  38. jinns-1.4.0/jinns/data/_DataGeneratorParameter.py +206 -0
  39. jinns-1.4.0/jinns/data/__init__.py +21 -0
  40. jinns-1.4.0/jinns/data/_utils.py +149 -0
  41. {jinns-1.2.0 → jinns-1.4.0}/jinns/experimental/__init__.py +9 -0
  42. {jinns-1.2.0 → jinns-1.4.0}/jinns/loss/_DynamicLoss.py +116 -189
  43. {jinns-1.2.0 → jinns-1.4.0}/jinns/loss/_DynamicLossAbstract.py +45 -68
  44. jinns-1.4.0/jinns/loss/_LossODE.py +303 -0
  45. {jinns-1.2.0 → jinns-1.4.0}/jinns/loss/_LossPDE.py +176 -513
  46. jinns-1.4.0/jinns/loss/__init__.py +50 -0
  47. jinns-1.4.0/jinns/loss/_abstract_loss.py +15 -0
  48. {jinns-1.2.0 → jinns-1.4.0}/jinns/loss/_boundary_conditions.py +22 -21
  49. {jinns-1.2.0 → jinns-1.4.0}/jinns/loss/_loss_utils.py +98 -173
  50. jinns-1.4.0/jinns/loss/_loss_weights.py +27 -0
  51. {jinns-1.2.0 → jinns-1.4.0}/jinns/loss/_operators.py +84 -76
  52. jinns-1.4.0/jinns/nn/__init__.py +22 -0
  53. jinns-1.4.0/jinns/nn/_abstract_pinn.py +22 -0
  54. jinns-1.4.0/jinns/nn/_hyperpinn.py +434 -0
  55. jinns-1.4.0/jinns/nn/_mlp.py +217 -0
  56. jinns-1.4.0/jinns/nn/_pinn.py +204 -0
  57. jinns-1.4.0/jinns/nn/_ppinn.py +239 -0
  58. {jinns-1.2.0/jinns/utils → jinns-1.4.0/jinns/nn}/_save_load.py +39 -53
  59. jinns-1.4.0/jinns/nn/_spinn.py +123 -0
  60. jinns-1.4.0/jinns/nn/_spinn_mlp.py +202 -0
  61. jinns-1.4.0/jinns/nn/_utils.py +38 -0
  62. jinns-1.4.0/jinns/parameters/__init__.py +13 -0
  63. {jinns-1.2.0 → jinns-1.4.0}/jinns/parameters/_derivative_keys.py +116 -177
  64. {jinns-1.2.0 → jinns-1.4.0}/jinns/parameters/_params.py +18 -46
  65. {jinns-1.2.0 → jinns-1.4.0}/jinns/plot/__init__.py +2 -0
  66. {jinns-1.2.0 → jinns-1.4.0}/jinns/plot/_plot.py +38 -37
  67. {jinns-1.2.0 → jinns-1.4.0}/jinns/solver/_rar.py +82 -65
  68. {jinns-1.2.0 → jinns-1.4.0}/jinns/solver/_solve.py +111 -71
  69. {jinns-1.2.0 → jinns-1.4.0}/jinns/solver/_utils.py +4 -6
  70. jinns-1.4.0/jinns/utils/__init__.py +3 -0
  71. {jinns-1.2.0 → jinns-1.4.0}/jinns/utils/_containers.py +12 -9
  72. jinns-1.4.0/jinns/utils/_types.py +19 -0
  73. {jinns-1.2.0 → jinns-1.4.0}/jinns/utils/_utils.py +4 -11
  74. {jinns-1.2.0 → jinns-1.4.0}/jinns/validation/__init__.py +2 -0
  75. {jinns-1.2.0 → jinns-1.4.0}/jinns/validation/_validation.py +20 -19
  76. {jinns-1.2.0 → jinns-1.4.0}/jinns.egg-info/PKG-INFO +11 -10
  77. {jinns-1.2.0 → jinns-1.4.0}/jinns.egg-info/SOURCES.txt +32 -11
  78. {jinns-1.2.0 → jinns-1.4.0}/mkdocs.yml +4 -13
  79. {jinns-1.2.0 → jinns-1.4.0}/pyproject.toml +10 -0
  80. jinns-1.4.0/tests/loss_tests/test_lossODE.py +41 -0
  81. jinns-1.4.0/tests/loss_tests/test_lossPDEnonstatio.py +58 -0
  82. jinns-1.4.0/tests/loss_tests/test_lossPDEstatio.py +138 -0
  83. jinns-1.4.0/tests/loss_tests/test_norm_loss.py +92 -0
  84. jinns-1.4.0/tests/nn_tests/test_hyperpinns.py +109 -0
  85. jinns-1.4.0/tests/nn_tests/test_mlp.py +104 -0
  86. jinns-1.4.0/tests/nn_tests/test_pinn.py +84 -0
  87. jinns-1.4.0/tests/nn_tests/test_ppinn_mlp.py +107 -0
  88. jinns-1.4.0/tests/nn_tests/test_smlp.py +72 -0
  89. {jinns-1.2.0/tests/utils_tests → jinns-1.4.0/tests/nn_tests}/test_spinn.py +16 -10
  90. {jinns-1.2.0 → jinns-1.4.0}/tests/operator_tests/test_divergence_fwd.py +2 -2
  91. {jinns-1.2.0 → jinns-1.4.0}/tests/operator_tests/test_divergence_rev.py +4 -2
  92. {jinns-1.2.0 → jinns-1.4.0}/tests/operator_tests/test_laplacian_fwd.py +2 -2
  93. {jinns-1.2.0 → jinns-1.4.0}/tests/operator_tests/test_laplacian_rev.py +4 -2
  94. {jinns-1.2.0 → jinns-1.4.0}/tests/operator_tests/test_vectorial_laplacian_fwd.py +2 -2
  95. {jinns-1.2.0 → jinns-1.4.0}/tests/operator_tests/test_vectorial_laplacian_rev.py +4 -2
  96. {jinns-1.2.0 → jinns-1.4.0}/tests/parameters_tests/test_DerivativeKeysODE.py +1 -1
  97. {jinns-1.2.0 → jinns-1.4.0}/tests/plot_tests/test_plot1D.py +1 -1
  98. {jinns-1.2.0 → jinns-1.4.0}/tests/plot_tests/test_plot2D.py +1 -1
  99. {jinns-1.2.0 → jinns-1.4.0}/tests/save_load_tests/test_saving_loading_hyperpinn.py +10 -20
  100. jinns-1.4.0/tests/save_load_tests/test_saving_loading_pinn.py +75 -0
  101. {jinns-1.2.0 → jinns-1.4.0}/tests/save_load_tests/test_saving_loading_spinn.py +3 -3
  102. {jinns-1.2.0 → jinns-1.4.0}/tests/sharding_tests/test_Burgers_x32_multiple_shardings.py +6 -2
  103. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_Burgers_x32.py +5 -3
  104. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_Burgers_x64.py +5 -3
  105. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_Fisher_x32.py +5 -3
  106. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_Fisher_x64.py +5 -3
  107. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_GLV_x32.py +27 -43
  108. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_GLV_x64.py +26 -43
  109. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_NSPipeFlow_x32.py +44 -48
  110. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_NSPipeFlow_x64.py +45 -48
  111. jinns-1.4.0/tests/solver_tests/test_OU1D_statio_x32.py +134 -0
  112. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_OU2D_x32.py +9 -8
  113. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_nan_params_catch.py +3 -1
  114. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_parameter_tracker.py +3 -1
  115. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests/test_rar_algorithm.py +18 -15
  116. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests_hyperpinn/test_NSPipeFlow_x32_hyperpinn.py +31 -40
  117. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests_spinn/test_Burgers_x32_spinn.py +3 -3
  118. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests_spinn/test_Fisher_x32_spinn.py +3 -3
  119. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests_spinn/test_NSPipeFlow_x32_spinn.py +32 -58
  120. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests_spinn/test_OU2D_x32_spinn.py +8 -6
  121. {jinns-1.2.0 → jinns-1.4.0}/tests/solver_tests_spinn/test_ReactionDiffusion_nonhomo_x64_spinn.py +2 -2
  122. {jinns-1.2.0 → jinns-1.4.0}/tests/utils_tests/test_solver_utils.py +1 -1
  123. {jinns-1.2.0 → jinns-1.4.0}/tests/validation_tests/test_vanilla_validation.py +1 -1
  124. jinns-1.2.0/.pre-commit-config.yaml +0 -23
  125. jinns-1.2.0/Notebooks/ODE/1D_Generalized_Lotka_Volterra.ipynb +0 -783
  126. jinns-1.2.0/Notebooks/ODE/systems_biology_informed_neural_network.ipynb +0 -1037
  127. jinns-1.2.0/Notebooks/PDE/1D_non_stationary_Burgers.ipynb +0 -756
  128. jinns-1.2.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow.ipynb +0 -825
  129. jinns-1.2.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_Metamodel_hyperpinn.ipynb +0 -1377
  130. jinns-1.2.0/Notebooks/PDE/2D_Navier_Stokes_PipeFlow_SoftConstraints.ipynb +0 -1134
  131. jinns-1.2.0/Notebooks/PDE/2D_non_stationary_OU.ipynb +0 -1083
  132. jinns-1.2.0/Notebooks/Tutorials/1D_non_stationary_Burgers_JointEstimation_Vanilla.ipynb +0 -860
  133. jinns-1.2.0/docs/api/loss/systems_of_xde.md +0 -13
  134. jinns-1.2.0/docs/api/pinn/hyperpinn.md +0 -5
  135. jinns-1.2.0/docs/api/pinn/pinn.md +0 -5
  136. jinns-1.2.0/docs/api/pinn/save_load.md +0 -5
  137. jinns-1.2.0/docs/api/pinn/spinn.md +0 -5
  138. jinns-1.2.0/jinns/__init__.py +0 -8
  139. jinns-1.2.0/jinns/data/_Batchs.py +0 -23
  140. jinns-1.2.0/jinns/data/_DataGenerators.py +0 -1634
  141. jinns-1.2.0/jinns/data/__init__.py +0 -11
  142. jinns-1.2.0/jinns/loss/_LossODE.py +0 -568
  143. jinns-1.2.0/jinns/loss/__init__.py +0 -28
  144. jinns-1.2.0/jinns/loss/_loss_weights.py +0 -59
  145. jinns-1.2.0/jinns/parameters/__init__.py +0 -6
  146. jinns-1.2.0/jinns/utils/__init__.py +0 -6
  147. jinns-1.2.0/jinns/utils/_hyperpinn.py +0 -420
  148. jinns-1.2.0/jinns/utils/_pinn.py +0 -324
  149. jinns-1.2.0/jinns/utils/_ppinn.py +0 -227
  150. jinns-1.2.0/jinns/utils/_spinn.py +0 -249
  151. jinns-1.2.0/jinns/utils/_types.py +0 -65
  152. jinns-1.2.0/tests/save_load_tests/test_saving_loading_pinn.py +0 -170
  153. jinns-1.2.0/tests/utils_tests/test_hyperpinns.py +0 -132
  154. jinns-1.2.0/tests/utils_tests/test_pinn.py +0 -125
  155. {jinns-1.2.0 → jinns-1.4.0}/.gitignore +0 -0
  156. {jinns-1.2.0 → jinns-1.4.0}/AUTHORS +0 -0
  157. {jinns-1.2.0 → jinns-1.4.0}/LICENSE +0 -0
  158. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/ODE/sbinn_data/glucose.dat +0 -0
  159. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/ODE/sbinn_data/meal.dat +0 -0
  160. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/2d_nonstatio_ou_standardsampling.png +0 -0
  161. {jinns-1.2.0 → jinns-1.4.0}/Notebooks/PDE/OU_1D_nonstatio_solution_grid.npy +0 -0
  162. /jinns-1.2.0/Notebooks/Tutorials/burger_solution_grid.npy → /jinns-1.4.0/Notebooks/Tutorials/burgers_solution_grid.npy +0 -0
  163. {jinns-1.2.0 → jinns-1.4.0}/codemeta.json +0 -0
  164. {jinns-1.2.0 → jinns-1.4.0}/docs/README.md +0 -0
  165. {jinns-1.2.0 → jinns-1.4.0}/docs/_static/custom_css.css +0 -0
  166. {jinns-1.2.0 → jinns-1.4.0}/docs/_static/favicon.png +0 -0
  167. {jinns-1.2.0 → jinns-1.4.0}/docs/api/advanced/derivative_keys.md +0 -0
  168. {jinns-1.2.0 → jinns-1.4.0}/docs/api/advanced/differential_operators.md +0 -0
  169. {jinns-1.2.0 → jinns-1.4.0}/docs/api/datagenerators/datagenerators_core.md +0 -0
  170. {jinns-1.2.0 → jinns-1.4.0}/docs/api/datagenerators/datagenerators_other.md +0 -0
  171. {jinns-1.2.0 → jinns-1.4.0}/docs/api/loss/loss_xde.md +0 -0
  172. {jinns-1.2.0 → jinns-1.4.0}/docs/api/plot.md +0 -0
  173. {jinns-1.2.0 → jinns-1.4.0}/docs/api/solver.md +0 -0
  174. {jinns-1.2.0 → jinns-1.4.0}/docs/doc_requirements.txt +0 -0
  175. {jinns-1.2.0 → jinns-1.4.0}/docs/javascripts/katex.js +0 -0
  176. {jinns-1.2.0 → jinns-1.4.0}/docs/maths/fokker_planck.md +0 -0
  177. {jinns-1.2.0 → jinns-1.4.0}/docs/maths/introduction_to_pinns.md +0 -0
  178. {jinns-1.2.0 → jinns-1.4.0}/img/jinns-diagram.png +0 -0
  179. {jinns-1.2.0 → jinns-1.4.0}/jinns/experimental/_diffrax_solver.py +0 -0
  180. {jinns-1.2.0 → jinns-1.4.0}/jinns/solver/__init__.py +0 -0
  181. {jinns-1.2.0 → jinns-1.4.0}/jinns.egg-info/dependency_links.txt +0 -0
  182. {jinns-1.2.0 → jinns-1.4.0}/jinns.egg-info/requires.txt +0 -0
  183. {jinns-1.2.0 → jinns-1.4.0}/jinns.egg-info/top_level.txt +0 -0
  184. {jinns-1.2.0 → jinns-1.4.0}/setup.cfg +0 -0
  185. {jinns-1.2.0 → jinns-1.4.0}/tests/conftest.py +0 -0
  186. {jinns-1.2.0 → jinns-1.4.0}/tests/dataGenerator_tests/test_CubicMeshPDENonStatio.py +0 -0
  187. {jinns-1.2.0 → jinns-1.4.0}/tests/dataGenerator_tests/test_CubicMeshPDEStatio.py +0 -0
  188. {jinns-1.2.0 → jinns-1.4.0}/tests/dataGenerator_tests/test_DataGeneratorODE.py +0 -0
  189. {jinns-1.2.0 → jinns-1.4.0}/tests/dataGenerator_tests/test_DataGeneratorParameter.py +0 -0
  190. {jinns-1.2.0 → jinns-1.4.0}/tests/utils_tests/test_subtract_with_check.py +0 -0
@@ -6,32 +6,47 @@ 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
19
32
  before_script:
20
- - pip install --break-system-packages pytest coverage pytest-cov
21
- - pwd
33
+ - virtualenv venv
34
+ - source venv/bin/activate
35
+ - pip install pytest coverage pytest-cov
36
+ - pip install -e .
22
37
  script:
23
- - pip install --break-system-packages -e .
24
- - pytest --cov=jinns --ignore=tests/solver_tests/test_NSPipeFlow_x64.py
38
+ - pytest --cov=jinns
25
39
  coverage: '/TOTAL.*\s+(\d+%)$/'
26
40
 
27
41
  build_doc:
28
42
  stage: build
29
43
  needs: [] # don't need to wait for other jobs
30
44
  before_script:
31
-
45
+ - virtualenv venv
46
+ - source venv/bin/activate
47
+ - pip install -e .
48
+ - pip install -r docs/doc_requirements.txt
32
49
  script:
33
- - pip install --break-system-packages -e .
34
- - pip install --break-system-packages -r docs/doc_requirements.txt
35
50
  - mkdocs build
36
51
  - mkdocs build # twice, see https://github.com/patrick-kidger/pytkdocs_tweaks
37
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