|
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