GeezerVison is showing github.com — Adjust sb03md docstring · python-control/Slycot@6ab16c8
File treeExpand file treeCollapse file tree Open diff view settings Expand file treeCollapse file tree Open diff view settings Collapse file Copy file name to clipboardExpand all lines: slycot/synthesis.py +20-22Lines changed: 20 additions & 22 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -698,26 +698,16 @@ def sb03md57(A, U=None, C=None, | 698 | 698 |
| 699 | 699 | Parameters | 700 | 700 | ---------- | 701 | | - n : int | 702 | | - The order of the matrices A, X, and C. n > 0. | 703 | 701 | A : (n, n) array_like | 704 | | - On entry, the leading n-by-n part of this array must contain the | 705 | | - matrix A. If fact = 'F', then A contains an upper quasi-triangular | | 702 | + If fact = 'F', then A contains an upper quasi-triangular | 706 | 703 | matrix in Schur canonical form; the elements below the upper | 707 | 704 | Hessenberg part of the array A are not referenced. | 708 | | - On exit, the leading n-by-n upper Hessenberg part of this array | 709 | | - contains the upper quasi-triangular matrix in Schur canonical form | 710 | | - from the Schur factorization of A. The contents of array A is not | 711 | | - modified if fact = 'F'. | 712 | 705 | U : (n, n) array_like | 713 | | - If fact = 'F', then U is an input argument and on entry the leading | 714 | | - n-by-n part of this array must contain the orthogonal matrix U of | | 706 | + If fact = 'F', then this array must contain the orthogonal matrix U of | 715 | 707 | the real Schur factorization of A. | 716 | | - If fact = 'N', then U is an output argument and on exit, it contains | 717 | | - the orthogonal n-by-n matrix from the real Schur factorization of A. | 718 | 708 | C : (n, n) array_like | 719 | | - If job = 'X' or 'B', the leading n-by-n part of this array must | 720 | | - contain the symmetric matrix C. If job = 'S', C is not referenced. | | 709 | + If job = 'X' or 'B', this array must contain the symmetric matrix C. | | 710 | + If job = 'S', C is not referenced. | 721 | 711 | dico : {'C', 'D'} | 722 | 712 | Specifies the equation from which X is to be determined as follows: | 723 | 713 | := 'C': Equation (1), continuous-time case; | @@ -745,6 +735,14 @@ def sb03md57(A, U=None, C=None, | 745 | 735 |
| 746 | 736 | Returns | 747 | 737 | ------- | | 738 | + Ar : (n, n) ndarray | | 739 | + The leading n-by-n upper Hessenberg part of this array | | 740 | + contains the upper quasi-triangular matrix in Schur canonical form | | 741 | + from the Schur factorization of A. The content of array A is not | | 742 | + modified if fact = 'F'. | | 743 | + Ur : (n, n) ndarray | | 744 | + If fact = 'N', this arrray contains the orthogonal n-by-n matrix | | 745 | + from the real Schur factorization of A. | 748 | 746 | X : (n, n) ndarray | 749 | 747 | If job = 'X' or 'B', the leading n-by-n part contains the symmetric | 750 | 748 | solution matrix. | @@ -761,7 +759,7 @@ def sb03md57(A, U=None, C=None, | 761 | 759 | relative error in the computed solution, measured in the Frobenius | 762 | 760 | norm: norm(X - X_true)/norm(X_true). | 763 | 761 | w : (n, ) complex ndarray | 764 | | - If fact = 'N', this array contain the eigenvalues of A. | | 762 | + If fact = 'N', this array contains the eigenvalues of A. | 765 | 763 |
| 766 | 764 | Warns | 767 | 765 | ----- | @@ -804,7 +802,7 @@ def sb03md57(A, U=None, C=None, | 804 | 802 |
| 805 | 803 | def sb03md(n, C, A, U, dico, job='X',fact='N',trana='N',ldwork=None): | 806 | 804 | """ X,scale,sep,ferr,w = sb03md(n,C,A,U,dico,[job,fact,trana,ldwork]) | 807 | | - | | 805 | +
| 808 | 806 | .. deprecated:: 0.5 | 809 | 807 | This function uses a call signature of SB03MD prior to SLICOT version | 810 | 808 | 5.7. Use `sb03md57` instead. | @@ -2474,15 +2472,15 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None): | 2474 | 2472 |
| 2475 | 2473 | To compute the matrices of an H-infinity (sub)optimal n-state | 2476 | 2474 | controller | 2477 | | - | | 2475 | +
| 2478 | 2476 | :: | 2479 | 2477 |
| 2480 | 2478 | | AK | BK | | 2481 | 2479 | K = |----|----|, | 2482 | 2480 | | CK | DK | | 2483 | 2481 |
| 2484 | 2482 | using modified Glover's and Doyle's 1988 formulas, for the system | 2485 | | - | | 2483 | +
| 2486 | 2484 | :: | 2487 | 2485 |
| 2488 | 2486 | | A | B1 B2 | | A | B | | @@ -2495,7 +2493,7 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None): | 2495 | 2493 | of measurements (nmeas) being provided to the controller. | 2496 | 2494 |
| 2497 | 2495 | It is assumed that | 2498 | | - | | 2496 | +
| 2499 | 2497 | :: | 2500 | 2498 |
| 2501 | 2499 | (A1) (A,B2) is stabilizable and (C2,A) is detectable, | @@ -2614,7 +2612,7 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None): | 2614 | 2612 |
| 2615 | 2613 | :: | 2616 | 2614 |
| 2617 | | - | A-j*omega*I B2 | | | 2615 | + | A-j*omega*I B2 | | 2618 | 2616 | | C1 D12 | | 2619 | 2617 |
| 2620 | 2618 | had no full column rank in respect to the tolerance eps | @@ -2642,7 +2640,7 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None): | 2642 | 2640 |
| 2643 | 2641 | |A B2 |, |A B1 |, D12 or D21). | 2644 | 2642 | |C1 D12| |C2 D21| | 2645 | | - | | 2643 | +
| 2646 | 2644 | :info = 6: | 2647 | 2645 | The controller is not admissible (too small value | 2648 | 2646 | of gamma) | @@ -2657,7 +2655,7 @@ def sb10fd(n,m,np,ncon,nmeas,gamma,A,B,C,D,tol=0.0,ldwork=None): | 2657 | 2655 | :info = 9: | 2658 | 2656 | The determinant of ``Im2 + Tu*D11HAT*Ty*D22`` is zero | 2659 | 2657 | [3]_. | 2660 | | - | | 2658 | +
| 2661 | 2659 | Notes | 2662 | 2660 | ----- | 2663 | 2661 | Method | |
|