Skip to content

DC gain evaluation of State-space objects #128

Description

@roryyorke

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

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions