pynamicalsys 1.4.0__tar.gz → 1.4.5__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 (78) hide show
  1. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/CHANGELOG.md +14 -2
  2. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/MANIFEST.in +1 -1
  3. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/PKG-INFO +1 -2
  4. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/pyproject.toml +9 -3
  5. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/__version__.py +3 -3
  6. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/continuous_time/chaotic_indicators.py +1 -1
  7. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/hamiltonian_systems.py +5 -4
  8. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/discrete_time/dynamical_indicators.py +4 -6
  9. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/hamiltonian_systems/chaotic_indicators.py +1 -1
  10. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/hamiltonian_systems/trajectory_analysis.py +3 -3
  11. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys.egg-info/PKG-INFO +1 -2
  12. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys.egg-info/SOURCES.txt +1 -32
  13. pynamicalsys-1.4.0/tests/continuous_time/test_RTE.ipynb +0 -357
  14. pynamicalsys-1.4.0/tests/continuous_time/test_SALI_and_LDI.ipynb +0 -259
  15. pynamicalsys-1.4.0/tests/continuous_time/test_basin_of_attraction.ipynb +0 -316
  16. pynamicalsys-1.4.0/tests/continuous_time/test_hurst_exponent.ipynb +0 -261
  17. pynamicalsys-1.4.0/tests/continuous_time/test_lyapunov.ipynb +0 -438
  18. pynamicalsys-1.4.0/tests/continuous_time/test_poincare_section.ipynb +0 -194
  19. pynamicalsys-1.4.0/tests/continuous_time/test_trajectory.ipynb +0 -443
  20. pynamicalsys-1.4.0/tests/discrete-time/test_FTLE.ipynb +0 -164
  21. pynamicalsys-1.4.0/tests/discrete-time/test_RTE.ipynb +0 -146
  22. pynamicalsys-1.4.0/tests/discrete-time/test_SALI.ipynb +0 -153
  23. pynamicalsys-1.4.0/tests/discrete-time/test_SALI.py +0 -62
  24. pynamicalsys-1.4.0/tests/discrete-time/test_bif_diagram.ipynb +0 -187
  25. pynamicalsys-1.4.0/tests/discrete-time/test_chaotic_saddle.ipynb +0 -369
  26. pynamicalsys-1.4.0/tests/discrete-time/test_dig.ipynb +0 -160
  27. pynamicalsys-1.4.0/tests/discrete-time/test_ensemble_statistics.ipynb +0 -562
  28. pynamicalsys-1.4.0/tests/discrete-time/test_escape.ipynb +0 -577
  29. pynamicalsys-1.4.0/tests/discrete-time/test_fractal_dimension.ipynb +0 -179
  30. pynamicalsys-1.4.0/tests/discrete-time/test_hurst_exponent.ipynb +0 -132
  31. pynamicalsys-1.4.0/tests/discrete-time/test_lyapunov.ipynb +0 -472
  32. pynamicalsys-1.4.0/tests/discrete-time/test_lyapunov_exponents.ipynb +0 -319
  33. pynamicalsys-1.4.0/tests/discrete-time/test_manifold.ipynb +0 -266
  34. pynamicalsys-1.4.0/tests/discrete-time/test_manifolds.ipynb +0 -264
  35. pynamicalsys-1.4.0/tests/discrete-time/test_period_counter.ipynb +0 -206
  36. pynamicalsys-1.4.0/tests/discrete-time/test_phase_space.ipynb +0 -108
  37. pynamicalsys-1.4.0/tests/discrete-time/test_step.py +0 -31
  38. pynamicalsys-1.4.0/tests/hamiltonian_systems/test_RTE.ipynb +0 -276
  39. pynamicalsys-1.4.0/tests/hamiltonian_systems/test_alignment_indices.ipynb +0 -315
  40. pynamicalsys-1.4.0/tests/hamiltonian_systems/test_hurst_exponent.ipynb +0 -242
  41. pynamicalsys-1.4.0/tests/hamiltonian_systems/test_lyapunov.ipynb +0 -348
  42. pynamicalsys-1.4.0/tests/hamiltonian_systems/test_poincare_section.ipynb +0 -146
  43. pynamicalsys-1.4.0/tests/hamiltonian_systems/test_trajectory.ipynb +0 -314
  44. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/.gitignore +0 -0
  45. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/CITATION.cff +0 -0
  46. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/CONTRIBUTING.md +0 -0
  47. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/LICENSE +0 -0
  48. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/README.md +0 -0
  49. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/setup.cfg +0 -0
  50. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/__init__.py +0 -0
  51. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/common/__init__.py +0 -0
  52. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/common/basin_analysis.py +0 -0
  53. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/common/recurrence_quantification_analysis.py +0 -0
  54. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/common/time_series_metrics.py +0 -0
  55. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/common/utils.py +0 -0
  56. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/continuous_time/__init__.py +0 -0
  57. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/continuous_time/models.py +0 -0
  58. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/continuous_time/numerical_integrators.py +0 -0
  59. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/continuous_time/trajectory_analysis.py +0 -0
  60. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/continuous_time/validators.py +0 -0
  61. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/__init__.py +0 -0
  62. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/basin_metrics.py +0 -0
  63. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/continuous_dynamical_systems.py +0 -0
  64. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/discrete_dynamical_systems.py +0 -0
  65. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/plot_styler.py +0 -0
  66. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/core/time_series_metrics.py +0 -0
  67. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/discrete_time/__init__.py +0 -0
  68. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/discrete_time/models.py +0 -0
  69. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/discrete_time/trajectory_analysis.py +0 -0
  70. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/discrete_time/transport.py +0 -0
  71. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/discrete_time/validators.py +0 -0
  72. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/hamiltonian_systems/__init__.py +0 -0
  73. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/hamiltonian_systems/models.py +0 -0
  74. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/hamiltonian_systems/numerical_integrators.py +0 -0
  75. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys/hamiltonian_systems/validators.py +0 -0
  76. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys.egg-info/dependency_links.txt +0 -0
  77. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys.egg-info/requires.txt +0 -0
  78. {pynamicalsys-1.4.0 → pynamicalsys-1.4.5}/src/pynamicalsys.egg-info/top_level.txt +0 -0
@@ -5,7 +5,19 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [Unreleased]
8
+ ## [v1.4.4] - 17-09-2025
9
+
10
+ ### Modified
11
+
12
+ - `DiscreteDynamicalSystem` class:
13
+ - Fixed problems in the `finite_hurst_exponent`
14
+
15
+ - `ContinuousDynamicalSystem` and `HamiltonianSystem` classes:
16
+ - Fixed the output of the `recurrence_time_entropy` method when `return_final_state=True`.
17
+
18
+ [v1.4.3]: https://github.com/mrolims/pynamicalsys/compare/v1.4.1...v1.4.4
19
+
20
+ ## [v1.4.1] - 2025-09-15
9
21
 
10
22
  ### Added
11
23
 
@@ -42,7 +54,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
42
54
  - `ContinuousDynamicalSystem` class:
43
55
  - `lyapunov` method now uses a specific function to compute only the maximum Lyapunov exponent when `num_exponents=1`.
44
56
 
45
- [Unreleased]: https://github.com/mrolims/pynamicalsys/compare/v1.3.1...HEAD
57
+ [v1.4.1]: https://github.com/mrolims/pynamicalsys/compare/v1.3.1...v1.4.1
46
58
 
47
59
  ## [v1.3.1] - 2025-08-24
48
60
 
@@ -1,7 +1,7 @@
1
1
  # MANIFEST.in
2
2
 
3
3
  # Exclude tests and notebooks
4
- prune discrete-time-tests
4
+ prune tests
5
5
  prune paper
6
6
 
7
7
  # Exclude docs (if you have a docs folder)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pynamicalsys
3
- Version: 1.4.0
3
+ Version: 1.4.5
4
4
  Summary: A Python toolkit for the analysis of dynamical systems
5
5
  Author-email: Matheus Rolim Sales <rolim.sales.m@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -677,7 +677,6 @@ License: GNU GENERAL PUBLIC LICENSE
677
677
  the library. If this is what you want to do, use the GNU Lesser General
678
678
  Public License instead of this License. But first, please read
679
679
  <https://www.gnu.org/licenses/why-not-lgpl.html>.
680
- Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
681
680
  Classifier: Programming Language :: Python :: 3
682
681
  Classifier: Programming Language :: Python :: 3.8
683
682
  Classifier: Operating System :: OS Independent
@@ -6,7 +6,6 @@ authors = [{ name = "Matheus Rolim Sales", email = "rolim.sales.m@gmail.com" }]
6
6
  readme = "README.md"
7
7
  license = { file = "LICENSE" }
8
8
  classifiers = [
9
- "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
10
9
  "Programming Language :: Python :: 3",
11
10
  "Programming Language :: Python :: 3.8",
12
11
  "Operating System :: OS Independent",
@@ -25,11 +24,18 @@ dependencies = [
25
24
  requires-python = ">=3.8"
26
25
 
27
26
  [build-system]
28
- requires = ["setuptools>=61.0", "setuptools-scm>=8"]
27
+ requires = ["setuptools>=77.0", "setuptools-scm>=9"]
29
28
  build-backend = "setuptools.build_meta"
30
29
 
31
30
  [tool.setuptools]
32
- packages = ["pynamicalsys"]
31
+ packages = [
32
+ "pynamicalsys",
33
+ "pynamicalsys.common",
34
+ "pynamicalsys.continuous_time",
35
+ "pynamicalsys.core",
36
+ "pynamicalsys.discrete_time",
37
+ "pynamicalsys.hamiltonian_systems",
38
+ ]
33
39
  package-dir = { "" = "src" }
34
40
  license-files = []
35
41
 
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '1.4.0'
32
- __version_tuple__ = version_tuple = (1, 4, 0)
31
+ __version__ = version = '1.4.5'
32
+ __version_tuple__ = version_tuple = (1, 4, 5)
33
33
 
34
- __commit_id__ = commit_id = 'g99b46b31b'
34
+ __commit_id__ = commit_id = 'gb18384e86'
@@ -657,7 +657,7 @@ def recurrence_time_entropy(
657
657
  # Prepare output
658
658
  result = [rte]
659
659
  if config.return_final_state:
660
- result.append(points[-1])
660
+ result.append(points[-1, 1:])
661
661
  if config.return_recmat:
662
662
  result.append(recmat)
663
663
  if config.return_p:
@@ -440,14 +440,15 @@ class HamiltonianSystem:
440
440
  Value at which the section is taken.
441
441
  crossing : {-1, 0, 1}, default=1
442
442
  Direction of crossing:
443
- -1 : downward
444
- 0 : all crossings
445
- 1 : upward
443
+
444
+ - -1 : downward
445
+ - 0 : all crossings
446
+ - 1 : upward
446
447
 
447
448
  Returns
448
449
  -------
449
450
  section_points : ndarray
450
- Points of the trajectory lying on the Poincaré section.
451
+ Points of the trajectory lying on the Poincaré section. The first column is the time of each crossing.
451
452
 
452
453
  Raises
453
454
  ------
@@ -1122,12 +1122,10 @@ def finite_time_hurst_exponent(
1122
1122
 
1123
1123
  # Compute Hurst exponent for each window
1124
1124
  for i in range(num_windows):
1125
- result = hurst_exponent(
1126
- u, parameters, finite_time, mapping, wmin=wmin, return_last=True
1127
- )
1128
- H_values[i] = result[: len(u)]
1129
- phase_space_points[i] = u
1130
- u = result[len(u) :]
1125
+ time_series = generate_trajectory(u, parameters, finite_time, mapping)
1126
+ H_values[i] = hurst_exponent(time_series, wmin=wmin)
1127
+ phase_space_points[i] = time_series[-1, :]
1128
+ u = time_series[-1, :]
1131
1129
 
1132
1130
  if return_points:
1133
1131
  return H_values, phase_space_points
@@ -591,7 +591,7 @@ def recurrence_time_entropy(
591
591
  # Prepare output
592
592
  result = [rte]
593
593
  if config.return_final_state:
594
- result.append(points[-1])
594
+ result.append(points[-1, 1:])
595
595
  if config.return_recmat:
596
596
  result.append(recmat)
597
597
  if config.return_p:
@@ -270,11 +270,11 @@ def ensemble_poincare_section(
270
270
 
271
271
  Returns
272
272
  -------
273
- section_points : NDArray[np.float64], shape (num_ic, num_intersections, 2*dof)
274
- Poincaré section points for each initial condition.
273
+ section_points : NDArray[np.float64], shape (num_ic, num_intersections, 2*dof + 1)
274
+ Poincaré section points for each initial condition with the first column being the time at each crossing.
275
275
  """
276
276
  num_ic, dof = q.shape
277
- section_points = np.zeros((num_ic, num_intersections, 2 * dof))
277
+ section_points = np.zeros((num_ic, num_intersections, 2 * dof + 1))
278
278
  for i in prange(num_ic):
279
279
  section_points[i] = generate_poincare_section(
280
280
  q[i],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pynamicalsys
3
- Version: 1.4.0
3
+ Version: 1.4.5
4
4
  Summary: A Python toolkit for the analysis of dynamical systems
5
5
  Author-email: Matheus Rolim Sales <rolim.sales.m@gmail.com>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -677,7 +677,6 @@ License: GNU GENERAL PUBLIC LICENSE
677
677
  the library. If this is what you want to do, use the GNU Lesser General
678
678
  Public License instead of this License. But first, please read
679
679
  <https://www.gnu.org/licenses/why-not-lgpl.html>.
680
- Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
681
680
  Classifier: Programming Language :: Python :: 3
682
681
  Classifier: Programming Language :: Python :: 3.8
683
682
  Classifier: Operating System :: OS Independent
@@ -42,35 +42,4 @@ src/pynamicalsys/hamiltonian_systems/chaotic_indicators.py
42
42
  src/pynamicalsys/hamiltonian_systems/models.py
43
43
  src/pynamicalsys/hamiltonian_systems/numerical_integrators.py
44
44
  src/pynamicalsys/hamiltonian_systems/trajectory_analysis.py
45
- src/pynamicalsys/hamiltonian_systems/validators.py
46
- tests/continuous_time/test_RTE.ipynb
47
- tests/continuous_time/test_SALI_and_LDI.ipynb
48
- tests/continuous_time/test_basin_of_attraction.ipynb
49
- tests/continuous_time/test_hurst_exponent.ipynb
50
- tests/continuous_time/test_lyapunov.ipynb
51
- tests/continuous_time/test_poincare_section.ipynb
52
- tests/continuous_time/test_trajectory.ipynb
53
- tests/discrete-time/test_FTLE.ipynb
54
- tests/discrete-time/test_RTE.ipynb
55
- tests/discrete-time/test_SALI.ipynb
56
- tests/discrete-time/test_SALI.py
57
- tests/discrete-time/test_bif_diagram.ipynb
58
- tests/discrete-time/test_chaotic_saddle.ipynb
59
- tests/discrete-time/test_dig.ipynb
60
- tests/discrete-time/test_ensemble_statistics.ipynb
61
- tests/discrete-time/test_escape.ipynb
62
- tests/discrete-time/test_fractal_dimension.ipynb
63
- tests/discrete-time/test_hurst_exponent.ipynb
64
- tests/discrete-time/test_lyapunov.ipynb
65
- tests/discrete-time/test_lyapunov_exponents.ipynb
66
- tests/discrete-time/test_manifold.ipynb
67
- tests/discrete-time/test_manifolds.ipynb
68
- tests/discrete-time/test_period_counter.ipynb
69
- tests/discrete-time/test_phase_space.ipynb
70
- tests/discrete-time/test_step.py
71
- tests/hamiltonian_systems/test_RTE.ipynb
72
- tests/hamiltonian_systems/test_alignment_indices.ipynb
73
- tests/hamiltonian_systems/test_hurst_exponent.ipynb
74
- tests/hamiltonian_systems/test_lyapunov.ipynb
75
- tests/hamiltonian_systems/test_poincare_section.ipynb
76
- tests/hamiltonian_systems/test_trajectory.ipynb
45
+ src/pynamicalsys/hamiltonian_systems/validators.py