dynamicslab / pysindy

A package for the sparse identification of nonlinear dynamical systems from data
https://pysindy.readthedocs.io/en/latest/
Other
1.42k stars 310 forks source link

Simpler inputs #362

Closed Jacob-Stevens-Haas closed 1 year ago

Jacob-Stevens-Haas commented 1 year ago

Fixes #306

Only thing to consider is whether we want to enforce sorted inputs_per_library. I maintained current behavior in cases, where

imputs_per_library=[[2,0]]

might cause some nonsensical behavior, since arr[[2,0]] != arr[[0,2]], but also might make no difference since it applies the same to feature names. Can easily change this to automatically sort inputs if people want.

codecov[bot] commented 1 year ago

Codecov Report

Patch coverage: 95.71% and project coverage change: -0.26 :warning:

Comparison is base (ac61b4a) 93.95% compared to head (044b4f5) 93.70%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #362 +/- ## ========================================== - Coverage 93.95% 93.70% -0.26% ========================================== Files 37 37 Lines 3688 3589 -99 ========================================== - Hits 3465 3363 -102 - Misses 223 226 +3 ``` | [Impacted Files](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab) | Coverage Δ | | |---|---|---| | [pysindy/feature\_library/custom\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvY3VzdG9tX2xpYnJhcnkucHk=) | `100.00% <ø> (ø)` | | | [pysindy/feature\_library/fourier\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvZm91cmllcl9saWJyYXJ5LnB5) | `100.00% <ø> (ø)` | | | [pysindy/feature\_library/identity\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvaWRlbnRpdHlfbGlicmFyeS5weQ==) | `96.55% <ø> (-0.42%)` | :arrow_down: | | [pysindy/feature\_library/pde\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvcGRlX2xpYnJhcnkucHk=) | `95.45% <ø> (-0.08%)` | :arrow_down: | | [pysindy/feature\_library/polynomial\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvcG9seW5vbWlhbF9saWJyYXJ5LnB5) | `96.10% <ø> (-1.96%)` | :arrow_down: | | [pysindy/feature\_library/sindy\_pi\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvc2luZHlfcGlfbGlicmFyeS5weQ==) | `96.00% <ø> (+0.68%)` | :arrow_up: | | [pysindy/feature\_library/weak\_pde\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvd2Vha19wZGVfbGlicmFyeS5weQ==) | `95.84% <ø> (+0.22%)` | :arrow_up: | | [pysindy/optimizers/base.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9vcHRpbWl6ZXJzL2Jhc2UucHk=) | `92.30% <83.33%> (+0.70%)` | :arrow_up: | | [pysindy/feature\_library/generalized\_library.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvZ2VuZXJhbGl6ZWRfbGlicmFyeS5weQ==) | `87.82% <92.85%> (-9.52%)` | :arrow_down: | | [pysindy/feature\_library/base.py](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab#diff-cHlzaW5keS9mZWF0dXJlX2xpYnJhcnkvYmFzZS5weQ==) | `96.61% <100.00%> (+0.69%)` | :arrow_up: | | ... and [2 more](https://app.codecov.io/gh/dynamicslab/pysindy/pull/362?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=dynamicslab) | |

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.