|
49 | 49 | from .statefbk import gram
|
50 | 50 | from .timeresp import TimeResponseData
|
51 | 51 |
|
52 |
| -__all__ = ['hsvd', 'balred', 'modred', 'eigensys_realization', 'markov', 'minreal', 'era'] |
| 52 | +__all__ = ['hankel_singular_values', 'balanced_reduction', 'model_reduction', |
| 53 | + 'minimal_realization', 'eigensys_realization', 'markov', 'hsvd', |
| 54 | + 'balred', 'modred', 'minreal', 'era'] |
53 | 55 |
|
54 | 56 |
|
55 | 57 | # Hankel Singular Value Decomposition
|
56 | 58 | #
|
57 | 59 | # The following returns the Hankel singular values, which are singular values
|
58 | 60 | # of the matrix formed by multiplying the controllability and observability
|
59 | 61 | # Gramians
|
60 |
| -def hsvd(sys): |
| 62 | +def hankel_singular_values(sys): |
61 | 63 | """Calculate the Hankel singular values.
|
62 | 64 |
|
63 | 65 | Parameters
|
@@ -106,7 +108,7 @@ def hsvd(sys):
|
106 | 108 | return hsv[::-1]
|
107 | 109 |
|
108 | 110 |
|
109 |
| -def modred(sys, ELIM, method='matchdc'): |
| 111 | +def model_reduction(sys, ELIM, method='matchdc'): |
110 | 112 | """
|
111 | 113 | Model reduction of `sys` by eliminating the states in `ELIM` using a given
|
112 | 114 | method.
|
@@ -216,7 +218,7 @@ def modred(sys, ELIM, method='matchdc'):
|
216 | 218 | return rsys
|
217 | 219 |
|
218 | 220 |
|
219 |
| -def balred(sys, orders, method='truncate', alpha=None): |
| 221 | +def balanced_reduction(sys, orders, method='truncate', alpha=None): |
220 | 222 | """Balanced reduced order model of sys of a given order.
|
221 | 223 | States are eliminated based on Hankel singular value.
|
222 | 224 | If sys has unstable modes, they are removed, the
|
@@ -340,7 +342,7 @@ def balred(sys, orders, method='truncate', alpha=None):
|
340 | 342 | return rsys
|
341 | 343 |
|
342 | 344 |
|
343 |
| -def minreal(sys, tol=None, verbose=True): |
| 345 | +def minimal_realization(sys, tol=None, verbose=True): |
344 | 346 | '''
|
345 | 347 | Eliminates uncontrollable or unobservable states in state-space
|
346 | 348 | models or cancelling pole-zero pairs in transfer functions. The
|
@@ -386,8 +388,7 @@ def _block_hankel(Y, m, n):
|
386 | 388 | def eigensys_realization(arg, r, m=None, n=None, dt=True, transpose=False):
|
387 | 389 | r"""eigensys_realization(YY, r)
|
388 | 390 |
|
389 |
| - Calculate an ERA model of order `r` based on the impulse-response data |
390 |
| - `YY`. |
| 391 | + Calculate ERA model of order `r` based on impulse-response data `YY`. |
391 | 392 |
|
392 | 393 | This function computes a discrete time system
|
393 | 394 |
|
@@ -686,4 +687,8 @@ def markov(*args, m=None, transpose=False, dt=None, truncate=False):
|
686 | 687 | return H if not transpose else np.transpose(H)
|
687 | 688 |
|
688 | 689 | # Function aliases
|
| 690 | +hsvd = hankel_singular_values |
| 691 | +balred = balanced_reduction |
| 692 | +modred = model_reduction |
| 693 | +minreal = minimal_realization |
689 | 694 | era = eigensys_realization
|
0 commit comments