Skip to content

DC gain evaluation of State-space objects #128

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

Open
roryyorke opened this issue Jan 4, 2017 · 2 comments
Open

DC gain evaluation of State-space objects #128

roryyorke opened this issue Jan 4, 2017 · 2 comments

Comments

@roryyorke
Copy link
Contributor

Currently (see [1]) if a state space system has eigenvalues at 0, it will return a scalar NaN for DC gain:

        except LinAlgError:
            # zero eigenvalue: singular matrix
            return np.nan

The shape of the return is addressed in #126.

It may be possible to do better here: one relatively expensive way would be to minreal each input output pair and evaluate the DC gain. This would allow finite and non-finite entries in the returned matrix, rather than all NaNs. I'm not sure how to decide on +inf or -inf instead of NaN: in C*inv(-A)*B, if we find some sort of inverse of A that has infs (this is not hard using, e.g., singular value decomposition), one could still potentially add or subtract infs when multiplying by C and B, so getting NaNs.

[1]

except LinAlgError:
# zero eigenvalue: singular matrix
return np.nan

@murrayrm
Copy link
Member

If anyone takes up this enhancement, they should also address issue #127, which is closely related.

@murrayrm
Copy link
Member

Some related work in PR #542.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants