Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test ag08bd agnostic of Af-lambda*Ef scaling #158

Merged
merged 1 commit into from
Nov 9, 2021

Conversation

bnavigator
Copy link
Collaborator

Fixes #157

From the AG08BD.f docstring:

C     PURPOSE
C
C     To extract from the system pencil
C
C                       ( A-lambda*E B )
C           S(lambda) = (              )
C                       (      C     D )
C
C     a regular pencil Af-lambda*Ef which has the finite Smith zeros of
C     S(lambda) as generalized eigenvalues. The routine also computes
C     the orders of the infinite Smith zeros and determines the singular
C     and infinite Kronecker structure of system pencil, i.e., the right
C     and left Kronecker indices, and the multiplicities of infinite
C     eigenvalues.

As reported in #157, some math libraries out there compute Af, Ef with a different scaling as the SLICOT example. The result should still be valid.

@bnavigator
Copy link
Collaborator Author

I verified this on Arch Linux, which failed before: https://build.opensuse.org/package/show/home:bnavigator:archlinux/python-slycot

@roryyorke
Copy link
Collaborator

Looks good to me; from Wikipedia the generalized eigenvalue problem is Af @ x == lambda * Ef @ x, so Af and Ef are not unique.

This change can't be causing the test failures. I see control/tests/flatsys_test.py::TestFlatSys::test_point_to_point_errors is common to all the failing runs, and that two cases fail control/tests/timeresp_test.py::TestTimeresp::test_forced_response_T_U[dt=True, no T] and control/tests/timeresp_test.py::TestTimeresp::test_forced_response_T_U[dt=0.2, no T]. I don't have any suggestions for this, except the not-so-helpful one of ignoring the failures and merging anyway.

@bnavigator
Copy link
Collaborator Author

Thanks.

The mentioned failures should be fixed by python-control/python-control#659. I just retriggered the CI jobs now. If it succeeds, all is well. If not, we can still ignore.

@bnavigator bnavigator merged commit 223fdd7 into python-control:master Nov 9, 2021
@bnavigator bnavigator deleted the fix-157 branch May 3, 2022 19:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

A test test_tg01fd.test4_ag08bd failure
2 participants