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

Allow minreal to work with static gain StateSpace objects #108

Closed

Conversation

roryyorke
Copy link
Contributor

Finding this bug is what provoked #107, which this builds on.

This takes the simple option of doing nothing for a static gain. I didn't investigate the slycot.tb01pd call at all; perhaps it can take a static gain, and there's some other bug lurking in minreal code.

…ects.

Allows StateSpace([],[],[],D), which failed previously.  Static gains
have sizes enforced as follows: A 0-by-0, B 0-by-ninputs, C
noutputs-by-0.

Tests added for instantiation, and sum, product, feedback, and appending,
of 1x1, 2x3, and 3x2 static gains StateSpace objects.
On Python 2.7, the special case "all states useless" in
_remove_useless_states resulted in A=[[0]] (and similarly for B and C).

The special case is no longer needed, since empty A, B, C matrices can
be handled.  numpy.delete does the right thing w.r.t. matrix
sizes (e.g., deleting all columns of a nxm matrix gives an nx0 matrix).

Added test for this.
Do this by only calling Slycot's tb01pd for non-static systems.
@coveralls
Copy link

coveralls commented Aug 12, 2016

Coverage Status

Coverage increased (+0.06%) to 76.065% when pulling fb1e905 on roryyorke:ry-ss-static-minreal into d0528fd on python-control:master.

@slivingston
Copy link
Member

Pull request #110 subsumes this one.

@roryyorke roryyorke deleted the ry-ss-static-minreal branch January 5, 2019 05:01
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.

None yet

3 participants