fix complex -> real error messages#1086
Merged
murrayrm merged 1 commit intopython-control:mainfrom Dec 31, 2024
Merged
Conversation
slivingston
approved these changes
Dec 31, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is a small PR that fixes some errors I found when updating the documentation. In two cases, there was a complex-valued array getting used as a real-valued array (and generating an error message):
In
TransferFunction._common_den, the numerator and denominator polynomial's are computing by extracting poles and zeros and then regenerating polynomials. Because the poles and zeros can be complex, the operations generate a complex-valued array of coefficients. These should be cast back to real coefficients before assigning them back to the real-valued numerator and denominator coefficient arrays. This error showed up inexamples/cruise.ipynb, which was also updated to remove the error message in the Output cells.In
examples/describing-function.ipynbthere was a plot of the describing function for a static nonlinearity. Because describing functions can be complex valued in general (eg, if there is hysteresis), before plotting the value of the real-valued describing function, the results needs to be explicitly cast to real (otherwise you get an error message). This was a small change in the Jupyter notebook.For the two Jupyter notebooks, all of the plots were also updated, even though they basically look the same => the changes look bigger than they are (and rendering the difference is very slow...).