CPCLAB-UNIPI / SIPPY

Systems Identification Package for PYthon
GNU Lesser General Public License v3.0
269 stars 92 forks source link

replace np.int by int #51

Open Valle125 opened 10 months ago

Valle125 commented 10 months ago

I'm unable to call the system_identification function under linux with a recent version of numpy.

It throws the following stack trace:

Traceback (most recent call last):
  File "/home/xxx/sysId.py", line 30, in <module>
    sysi = sysid(y, u, id_method='OE', OE_orders=[1, 2, 0])
  File "/home/xxx/.venv/lib/python3.10/site-packages/sippy/__init__.py", line 276, in system_identification
    nb = (OE_orders[0] * np.ones((ydim, udim), dtype=np.int)).tolist()
  File "/home/xxx/.venv/lib/python3.10/site-packages/numpy/__init__.py", line 324, in __getattr__
    raise AttributeError(__former_attrs__[attr])
AttributeError: module 'numpy' has no attribute 'int'.
`np.int` was a deprecated alias for the builtin `int`. To avoid this error in existing code, use `int` by itself. Doing this will not modify any behavior and is safe. When replacing `np.int`, you may wish to use e.g. `np.int64` or `np.int32` to specify the precision. If you wish to review your current use, check the release note link for additional information.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
    https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations. Did you mean: 'inf'?

Replacing np.int by int fixes the problem for me. Please review my suggested changes.

Best, Valentin

dTeubl commented 2 months ago

With NumPy 1.2, the interface for NAN also changed.