Skip to content

Conversation

@bnavigator
Copy link
Collaborator

@bnavigator bnavigator commented May 13, 2020

The originally chosen defective Matrix is not always detected, e.g. on i586 (Edit: most recent log not appilcable anymore):

[  247s] =================================== FAILURES ===================================
[  247s] _________________________ test_mb.test_mb05md_warning __________________________
[  247s] 
[  247s] self = <slycot.tests.test_mb.test_mb testMethod=test_mb05md_warning>
[  247s] 
[  247s]     @unittest.skipIf(sys.version < "3", "no assertWarns in old Python")
[  247s]     def test_mb05md_warning(self):
[  247s]         """ Check that the correct warning is raised from docstring"""
[  247s]         A = np.array([[5, 4, 2, 1],
[  247s]                       [0, 1, -1, -1],
[  247s]                       [-1, -1, 3, 0],
[  247s]                       [1, 1, -1, 2]])
[  247s]         delta = 0.
[  247s]     
[  247s]         with self.assertWarns(SlycotResultWarning,
[  247s]                               msg="\n"
[  247s]                                   "Matrix A is defective, possibly "
[  247s]                                   "due to rounding errors.") as cm:
[  247s] >           (Ar, Vr, Yr, VAL) = mb05md(A, delta)
[  247s] E           AssertionError: SlycotResultWarning not triggered : 
[  247s] E           Matrix A is defective, possibly due to rounding errors.

Replacing by Jordan blocks, which succeed on all architectures.

@repagh repagh merged commit 8dc3069 into python-control:master May 16, 2020
@bnavigator bnavigator deleted the warn-mb05md branch December 31, 2020 13:32
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.

2 participants