GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||
GeezerVison is showing github.com — Removed epsilon perturbation value in solve_passivity_LMI. Fix associated unit test. by Mark-Yeatman · Pull Request #814 · python-control/python-control Conversation
|
|
Coverage increased (+0.008%) to 94.81% when pulling e6b837d on Mark-Yeatman:main into 9d65bf8 on python-control:main. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
This is dangerous. There is a zoo of lower precision hardware systems out there where python-control might be used and packaged. For example, I frequently encounter errors for such tests on the openSUSE build system with i586, aarch64, 32-bit arm, s390x, PowerPC and so on platforms. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
I think we'd either have to delete this test then; or do something like detect the precision of the architecture somehow, then back out the values of the matrices such that the condition number is bounded by like 10^(n/2), where n is the number of bits allocated to representing floating points numbers. (Just spit balling). |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
I will delete the test. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
| except ImportError: | ||
| cvx = None | ||
|
|
||
| eps = np.nextafter(0, 1) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
(This is a by-the-way comment, feel free to ignore.)
This eps was very small; I think a more typical "eps" would be "the smallest number eps such that 1+eps > 1", or a multiple or maybe square root of that. np.finfo is useful to find these sorts of value.
In [402]: np.nextafter(0, 1)
Out[402]: 5e-324
In [403]: np.finfo(float).eps
Out[403]: 2.220446049250313e-16
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
That is a pro tip, and what I was aiming for.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Co-authored-by: Ben Greiner <[email protected]>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
Passivity test is ill-conditioned
There was an error while loading. Please reload this page.