pynamicalsys 1.3.0__py3-none-any.whl → 1.3.1__py3-none-any.whl

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.
@@ -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.3.0'
32
- __version_tuple__ = version_tuple = (1, 3, 0)
31
+ __version__ = version = '1.3.1'
32
+ __version_tuple__ = version_tuple = (1, 3, 1)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -91,7 +91,7 @@ class RTEConfig:
91
91
  raise ValueError("metric must be 'supremum', 'euclidean' or 'manhattan'")
92
92
 
93
93
 
94
- @njit(cache=True)
94
+ @njit
95
95
  def _recurrence_matrix(
96
96
  arr: NDArray[np.float64], threshold: float, metric_id: int
97
97
  ) -> NDArray[np.uint8]:
@@ -21,7 +21,7 @@ from numpy.typing import NDArray
21
21
  from numba import njit
22
22
 
23
23
 
24
- @njit(cache=True)
24
+ @njit
25
25
  def qr(M: NDArray[np.float64]) -> Tuple[NDArray[np.float64], NDArray[np.float64]]:
26
26
  """
27
27
  Perform numerically stable QR decomposition using modified Gram-Schmidt with reorthogonalization.
@@ -92,7 +92,7 @@ def qr(M: NDArray[np.float64]) -> Tuple[NDArray[np.float64], NDArray[np.float64]
92
92
  return Q, R
93
93
 
94
94
 
95
- @njit(cache=True)
95
+ @njit
96
96
  def householder_qr(
97
97
  M: NDArray[np.float64],
98
98
  ) -> Tuple[NDArray[np.float64], NDArray[np.float64]]:
@@ -184,7 +184,7 @@ def householder_qr(
184
184
  return Q, R
185
185
 
186
186
 
187
- @njit(cache=True)
187
+ @njit
188
188
  def finite_difference_jacobian(
189
189
  u: NDArray[np.float64],
190
190
  parameters: NDArray[np.float64],
@@ -25,7 +25,7 @@ from pynamicalsys.continuous_time.trajectory_analysis import step, evolve_system
25
25
  from pynamicalsys.continuous_time.numerical_integrators import rk4_step_wrapped
26
26
 
27
27
 
28
- # @njit(cache=True)
28
+ # @njit
29
29
  def lyapunov_exponents(
30
30
  u: NDArray[np.float64],
31
31
  parameters: NDArray[np.float64],
@@ -136,7 +136,7 @@ def lyapunov_exponents(
136
136
  return [result]
137
137
 
138
138
 
139
- @njit(cache=True)
139
+ @njit
140
140
  def SALI(
141
141
  u: NDArray[np.float64],
142
142
  parameters: NDArray[np.float64],
@@ -238,7 +238,7 @@ def SALI(
238
238
  return [[time, sali]]
239
239
 
240
240
 
241
- # @njit(cache=True)
241
+ # @njit
242
242
  def LDI(
243
243
  u: NDArray[np.float64],
244
244
  parameters: NDArray[np.float64],
@@ -23,7 +23,7 @@ from numba import njit, prange
23
23
  from pynamicalsys.continuous_time.models import variational_equations
24
24
 
25
25
 
26
- @njit(cache=True)
26
+ @njit
27
27
  def rk4_step(
28
28
  t: float,
29
29
  u: NDArray[np.float64],
@@ -43,7 +43,7 @@ def rk4_step(
43
43
  return u_next
44
44
 
45
45
 
46
- @njit(cache=True)
46
+ @njit
47
47
  def variational_rk4_step(
48
48
  t: float,
49
49
  u: NDArray[np.float64],
@@ -115,7 +115,7 @@ RK45_B4 = np.array(
115
115
  )
116
116
 
117
117
 
118
- @njit(cache=True)
118
+ @njit
119
119
  def rk45_step(t, u, parameters, equations_of_motion, time_step, atol=1e-6, rtol=1e-3):
120
120
  """Single adaptive step of RK45 (Dormand-Prince).
121
121
 
@@ -163,7 +163,7 @@ def rk45_step(t, u, parameters, equations_of_motion, time_step, atol=1e-6, rtol=
163
163
  return u5, t + time_step, time_step_new, accept
164
164
 
165
165
 
166
- @njit(cache=True)
166
+ @njit
167
167
  def variational_rk45_step(
168
168
  t,
169
169
  u,
@@ -227,7 +227,7 @@ def variational_rk45_step(
227
227
  return u5, t + time_step, time_step_new, accept
228
228
 
229
229
 
230
- @njit(cache=True)
230
+ @njit
231
231
  def rk4_step_wrapped(
232
232
  t: float,
233
233
  u: NDArray[np.float64],
@@ -265,7 +265,7 @@ def rk4_step_wrapped(
265
265
  return u_next, t_next, h_next, accept
266
266
 
267
267
 
268
- @njit(cache=True)
268
+ @njit
269
269
  def rk45_step_wrapped(
270
270
  t: float,
271
271
  u: NDArray[np.float64],
@@ -302,7 +302,7 @@ def rk45_step_wrapped(
302
302
  )
303
303
 
304
304
 
305
- @njit(cache=True)
305
+ @njit
306
306
  def estimate_initial_step(
307
307
  t0: float,
308
308
  u0: np.ndarray,
@@ -24,7 +24,7 @@ from numpy.typing import NDArray
24
24
  from pynamicalsys.continuous_time.numerical_integrators import rk4_step_wrapped
25
25
 
26
26
 
27
- @njit(cache=True)
27
+ @njit
28
28
  def step(
29
29
  time: np.float64,
30
30
  u: NDArray[np.float64],
@@ -68,7 +68,7 @@ def step(
68
68
  return u_new, time_new, time_step_new
69
69
 
70
70
 
71
- @njit(cache=True)
71
+ @njit
72
72
  def evolve_system(
73
73
  u: NDArray[np.float64],
74
74
  parameters: NDArray[np.float64],
@@ -102,7 +102,7 @@ def evolve_system(
102
102
  return u
103
103
 
104
104
 
105
- @njit(cache=True)
105
+ @njit
106
106
  def generate_trajectory(
107
107
  u: NDArray[np.float64],
108
108
  parameters: NDArray[np.float64],
@@ -32,7 +32,7 @@ from pynamicalsys.discrete_time.trajectory_analysis import (
32
32
  from pynamicalsys.common.utils import qr, householder_qr, fit_poly, wedge_norm
33
33
 
34
34
 
35
- @njit(cache=True)
35
+ @njit
36
36
  def lyapunov_1D(
37
37
  u: NDArray[np.float64],
38
38
  parameters: NDArray[np.float64],
@@ -120,7 +120,7 @@ def lyapunov_1D(
120
120
  return history if return_history else np.array([exponent / sample_size])
121
121
 
122
122
 
123
- @njit(cache=True)
123
+ @njit
124
124
  def lyapunov_er(
125
125
  u: NDArray[np.float64],
126
126
  parameters: NDArray[np.float64],
@@ -246,7 +246,7 @@ def lyapunov_er(
246
246
  return aux_exponents, u_contig
247
247
 
248
248
 
249
- @njit(cache=True)
249
+ @njit
250
250
  def maximum_lyapunov_er(
251
251
  u: NDArray[np.float64],
252
252
  parameters: NDArray[np.float64],
@@ -367,7 +367,7 @@ def maximum_lyapunov_er(
367
367
  return np.array([exponent / sample_size]), u_contig
368
368
 
369
369
 
370
- @njit(cache=True)
370
+ @njit
371
371
  def lyapunov_qr(
372
372
  u: NDArray[np.float64],
373
373
  parameters: NDArray[np.float64],
@@ -701,7 +701,7 @@ def dig(
701
701
  return -np.log10(abs(WB0 - WB1))
702
702
 
703
703
 
704
- @njit(cache=True)
704
+ @njit
705
705
  def SALI(
706
706
  u: NDArray[np.float64],
707
707
  parameters: NDArray[np.float64],
@@ -761,7 +761,7 @@ def SALI(
761
761
  - Uses QR decomposition to initialize orthonormal deviation vectors.
762
762
  - Computes both Parallel (PAI) and Antiparallel (AAI) Alignment Indices.
763
763
  - Early termination occurs if SALI < `tol` (indicating chaotic behavior).
764
- - Optimized with `@njit(cache=True)` for performance.
764
+ - Optimized with `@njit` for performance.
765
765
  """
766
766
 
767
767
  np.random.seed(seed) # For reproducibility
@@ -1047,7 +1047,7 @@ def GALI_k(
1047
1047
  return np.array([gali])
1048
1048
 
1049
1049
 
1050
- @njit(cache=True)
1050
+ @njit
1051
1051
  def hurst_exponent(
1052
1052
  u: NDArray[np.float64],
1053
1053
  parameters: NDArray[np.float64],
@@ -1224,13 +1224,13 @@ def finite_time_hurst_exponent(
1224
1224
  return H_values
1225
1225
 
1226
1226
 
1227
- @njit(cache=True)
1227
+ @njit
1228
1228
  def lyapunov_vectors():
1229
1229
  # ! To be implemented...
1230
1230
  pass
1231
1231
 
1232
1232
 
1233
- @njit(cache=True)
1233
+ @njit
1234
1234
  def lagrangian_descriptors(
1235
1235
  u: NDArray[np.float64],
1236
1236
  parameters: NDArray[np.float64],
@@ -408,7 +408,7 @@ def logistic_map_jacobian(
408
408
  # ! ------------------ !
409
409
 
410
410
 
411
- @njit(cache=True)
411
+ @njit
412
412
  def rulkov_map(
413
413
  u: NDArray[np.float64], parameters: Union[NDArray[np.float64], Sequence[float]]
414
414
  ) -> NDArray[np.float64]:
@@ -419,7 +419,7 @@ def rulkov_map(
419
419
  return np.array([x_new, y_new])
420
420
 
421
421
 
422
- @njit(cache=True)
422
+ @njit
423
423
  def rulkov_map_jacobian(
424
424
  u: NDArray[np.float64],
425
425
  parameters: Union[NDArray[np.float64], Sequence[float]],
@@ -22,7 +22,7 @@ from numba import njit, prange
22
22
  from numpy.typing import NDArray
23
23
 
24
24
 
25
- @njit(cache=True)
25
+ @njit
26
26
  def iterate_mapping(
27
27
  u: NDArray[np.float64],
28
28
  parameters: NDArray[np.float64],
@@ -78,7 +78,7 @@ def iterate_mapping(
78
78
  return u
79
79
 
80
80
 
81
- @njit(cache=True)
81
+ @njit
82
82
  def generate_trajectory(
83
83
  u: NDArray[np.float64],
84
84
  parameters: NDArray[np.float64],
@@ -331,7 +331,7 @@ def bifurcation_diagram(
331
331
  return param_values, results
332
332
 
333
333
 
334
- @njit(cache=True)
334
+ @njit
335
335
  def period_counter(
336
336
  u: NDArray[np.float64],
337
337
  parameters: NDArray[np.float64],
@@ -415,7 +415,7 @@ def period_counter(
415
415
  return -1
416
416
 
417
417
 
418
- @njit(cache=True)
418
+ @njit
419
419
  def rotation_number(
420
420
  u: Union[NDArray[np.float64], Sequence[float], float],
421
421
  parameters: Union[NDArray[np.float64], Sequence[float], float],
@@ -438,7 +438,7 @@ def rotation_number(
438
438
  return rn
439
439
 
440
440
 
441
- @njit(cache=True)
441
+ @njit
442
442
  def escape_basin_and_time_entering(
443
443
  u: NDArray[np.float64],
444
444
  parameters: NDArray[np.float64],
@@ -515,7 +515,7 @@ def escape_basin_and_time_entering(
515
515
  return -1, max_time
516
516
 
517
517
 
518
- @njit(cache=True)
518
+ @njit
519
519
  def escape_time_exiting(
520
520
  u: NDArray[np.float64],
521
521
  parameters: NDArray[np.float64],
@@ -584,7 +584,7 @@ def escape_time_exiting(
584
584
  return -1, max_time # No escape
585
585
 
586
586
 
587
- @njit(cache=True)
587
+ @njit
588
588
  def survival_probability(
589
589
  escape_times: NDArray[np.int32],
590
590
  max_time: np.int32,
@@ -659,7 +659,7 @@ def survival_probability(
659
659
  return t_values, survival_probs
660
660
 
661
661
 
662
- @njit(cache=True)
662
+ @njit
663
663
  def is_periodic(
664
664
  u: NDArray[np.float64],
665
665
  parameters: NDArray[np.float64],
@@ -811,7 +811,7 @@ def scan_phase_space(
811
811
  return result
812
812
 
813
813
 
814
- @njit(cache=True)
814
+ @njit
815
815
  def scan_symmetry_line(
816
816
  points: NDArray[np.float64],
817
817
  parameters: NDArray[np.float64],
@@ -1095,7 +1095,7 @@ def find_periodic_orbit(
1095
1095
  return periodic_orbit
1096
1096
 
1097
1097
 
1098
- @njit(cache=True)
1098
+ @njit
1099
1099
  def eigenvalues_and_eigenvectors(
1100
1100
  u: NDArray[np.float64],
1101
1101
  parameters: NDArray[np.float64],
@@ -390,7 +390,7 @@ def mean_squared_displacement(
390
390
  return output
391
391
 
392
392
 
393
- @njit(cache=True)
393
+ @njit
394
394
  def recurrence_times(
395
395
  u: NDArray[np.float64],
396
396
  parameters: NDArray[np.float64],
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: pynamicalsys
3
- Version: 1.3.0
3
+ Version: 1.3.1
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
@@ -1,14 +1,14 @@
1
1
  pynamicalsys/__init__.py,sha256=IBHDcCD7wX8pULFXLk0yvF3uuNodvDKGirJektm1nR4,1215
2
- pynamicalsys/__version__.py,sha256=0Oc4EBzGTJOvXX0Vym4evglW1NQPpe8RLn8TdxsKzfs,704
2
+ pynamicalsys/__version__.py,sha256=-4u7pjQ4caDQqa-1Qgms81j5hpkXjmjUYRCVEaLmb88,704
3
3
  pynamicalsys/common/__init__.py,sha256=W4OESm7TA-EUTGUOtIgBgvSd1n80Mgl0KA2dCkw8yIw,721
4
4
  pynamicalsys/common/basin_analysis.py,sha256=teGEOMPPOdzKNZsN0_OvkzBlcV-UOANRjcdFyI2-FLM,5473
5
- pynamicalsys/common/recurrence_quantification_analysis.py,sha256=neBolgoWrGJYOQta71Jf2ZMwNK1RoaZb_wNHqb1mM7I,14356
6
- pynamicalsys/common/utils.py,sha256=-sPpnoC3G8fJmdGZHzyQvbYU3Ym3BUMBlklaTgcz_Ac,10304
5
+ pynamicalsys/common/recurrence_quantification_analysis.py,sha256=WQDFwM1aCJJuaATTVNsHzCXode53lzG_PqPoHmBcprs,14344
6
+ pynamicalsys/common/utils.py,sha256=KexTurkehh_O7TR38iiBEnUVAAvqGRpwbxVKsqLDA4A,10268
7
7
  pynamicalsys/continuous_time/__init__.py,sha256=W4OESm7TA-EUTGUOtIgBgvSd1n80Mgl0KA2dCkw8yIw,721
8
- pynamicalsys/continuous_time/chaotic_indicators.py,sha256=UNZL1yJvUAvFC-RD-Xr3xZIEFCXgdpgw8KzmTh7U9OU,12542
8
+ pynamicalsys/continuous_time/chaotic_indicators.py,sha256=kwoI259MoGntEBO7-LBnb-SG6JuTq0Ixgz8lxXNl-tk,12506
9
9
  pynamicalsys/continuous_time/models.py,sha256=YJtmsVZqSn3GDNqV0IKSQBHWZSCDY_EJ5Sgh4ulDc9I,5339
10
- pynamicalsys/continuous_time/numerical_integrators.py,sha256=CtP8GWNWGE5_2FYnrpbKFZMKklJdZBDWq3FkeXoIG2U,9684
11
- pynamicalsys/continuous_time/trajectory_analysis.py,sha256=hpoEw0EZLRV3UoWEGM7P7rH6LLY8lRNZXJ2ymQnNNDw,5256
10
+ pynamicalsys/continuous_time/numerical_integrators.py,sha256=loIzJenp04ZWiukCK3oCs8vn9BeEcxckDO58B7QRKTo,9600
11
+ pynamicalsys/continuous_time/trajectory_analysis.py,sha256=GwAMFuvH0kLqCaROXSFoXmj1PYauwwB3h5M_gR17FLY,5220
12
12
  pynamicalsys/continuous_time/validators.py,sha256=dvtlcWbn2w5_vNUB68f7ywFPyFrPKe3cUDqGCk52mhw,3834
13
13
  pynamicalsys/core/__init__.py,sha256=W4OESm7TA-EUTGUOtIgBgvSd1n80Mgl0KA2dCkw8yIw,721
14
14
  pynamicalsys/core/basin_metrics.py,sha256=sqSj-UCzBQdRaTvOBtzo8SCgJN90T3GiWy4nlLsbg5c,7604
@@ -17,12 +17,12 @@ pynamicalsys/core/discrete_dynamical_systems.py,sha256=JcDL71M3kaQJLnkWOVTG28ylo
17
17
  pynamicalsys/core/plot_styler.py,sha256=sVX_rb1HSt340U3zyPlXojylhma9cKCOgYirMIge18M,5647
18
18
  pynamicalsys/core/time_series_metrics.py,sha256=7fwXO1I6lIjmv_MzYxBn-9k2gjjnhm_y_Tp3diE1z68,5102
19
19
  pynamicalsys/discrete_time/__init__.py,sha256=W4OESm7TA-EUTGUOtIgBgvSd1n80Mgl0KA2dCkw8yIw,721
20
- pynamicalsys/discrete_time/dynamical_indicators.py,sha256=XDZ6e-nFCDO7UgkkBnuqsr70c3LLJ8bvew82pXrV1no,51759
21
- pynamicalsys/discrete_time/models.py,sha256=u9MlaCzBzR_OomWRYbEC2sS2qpfDg7qzZjX8YDijVe0,10756
22
- pynamicalsys/discrete_time/trajectory_analysis.py,sha256=W3nqLJgqJYMV9DbBbSSOpzNDQ7XlroP3lC0sgSoFztY,48669
23
- pynamicalsys/discrete_time/transport.py,sha256=mp6jqI8zfqwVrV5ZXqyOaFKzAjuCPXl6pQtzmX-gDok,14429
20
+ pynamicalsys/discrete_time/dynamical_indicators.py,sha256=2Dz-ubootvvey2Hx9g3bGDSVUty3kVSXWvosAlwysHU,51651
21
+ pynamicalsys/discrete_time/models.py,sha256=8mw7jrjMLDxKF7qtRyOAIf6zRu7koX43epdzSbqwi1o,10732
22
+ pynamicalsys/discrete_time/trajectory_analysis.py,sha256=z9obMDO62pvUQI1xVikAVo5m6BiyMu7Rmvt3uhKiuYg,48549
23
+ pynamicalsys/discrete_time/transport.py,sha256=CyRiF5ZNLQVUgHbFANH9wIGJuMTOyPRg9Q67_3C8zFM,14417
24
24
  pynamicalsys/discrete_time/validators.py,sha256=sk5PuQ6vxNj6ReqIfBTb2iQqlgY0SUkndS56xcp3w_w,10013
25
- pynamicalsys-1.3.0.dist-info/METADATA,sha256=_A4OpfJ39pd-eGH-HY08lyuq-KcDbDZB6ktdNb-uWwk,45897
26
- pynamicalsys-1.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- pynamicalsys-1.3.0.dist-info/top_level.txt,sha256=1AqoHXye_hGRkvqu4KY0SdEuNTgqf3xyTlV8xhiJJFU,13
28
- pynamicalsys-1.3.0.dist-info/RECORD,,
25
+ pynamicalsys-1.3.1.dist-info/METADATA,sha256=yTQx9DYbgYQygq4dfqDmUmdIETMXrha58TswTb8_A-w,45897
26
+ pynamicalsys-1.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ pynamicalsys-1.3.1.dist-info/top_level.txt,sha256=1AqoHXye_hGRkvqu4KY0SdEuNTgqf3xyTlV8xhiJJFU,13
28
+ pynamicalsys-1.3.1.dist-info/RECORD,,