@@ -1903,75 +1903,80 @@ def ag08bd(l,n,m,p,A,E,B,C,D,equil='N',tol=0.0,ldwork=None):
19031903 and left Kronecker indices, and the multiplicities of infinite
19041904 eigenvalues.
19051905
1906- Required arguments:
1907- l : input int
1908- The number of rows of matrices A, B, and E. l >= 0.
1909- n : input int
1910- The number of columns of matrices A, E, and C. n >= 0.
1911- m : input int
1912- The number of columns of matrix B. m >= 0.
1913- p : input int
1914- The number of rows of matrix C. p >= 0.
1915- A : rank-2 array('d') with bounds (l,n)
1916- The leading l-by-n part of this array must
1917- contain the state dynamics matrix A of the system.
1918- E : rank-2 array('d') with bounds (l,n)
1919- The leading l-by-n part of this array must
1920- contain the descriptor matrix E of the system.
1921- B : rank-2 array('d') with bounds (l,m)
1922- The leading l-by-m part of this array must
1923- contain the input/state matrix B of the system.
1924- C : rank-2 array('d') with bounds (p,n)
1925- The leading p-by-n part of this array must
1926- contain the state/output matrix C of the system.
1927- D : rank-2 array('d') with bounds (p,m)
1928- The leading p-by-m part of this array must contain the
1929- direct transmission matrix D of the system.
1930- Optional arguments:
1931- equil := 'N' input string(len=1)
1932- Specifies whether the user wishes to balance the system
1933- matrix as follows:
1934- = 'S': Perform balancing (scaling);
1935- = 'N': Do not perform balancing.
1936- tol := 0 input float
1937- A tolerance used in rank decisions to determine the
1938- effective rank, which is defined as the order of the
1939- largest leading (or trailing) triangular submatrix in the
1940- QR (or RQ) factorization with column (or row) pivoting
1941- whose estimated condition number is less than 1/TOL.
1942- If the user sets TOL <= 0, then default tolerances are
1943- used instead, as follows: TOLDEF = L*N*EPS in TG01FD
1944- (to determine the rank of E) and TOLDEF = (L+P)*(N+M)*EPS
1945- in the rest, where EPS is the machine precision
1946- (see LAPACK Library routine DLAMCH). TOL < 1.
1947- ldwork : input int
1948- The length of the cache array.
1949- ldwork >= max( 4*(l,n), ldw ), if equil = 'S',
1950- ldwork >= ldw, if equil = 'N', where
1951- ldw = max(l+p,m+n)*(m+n) + max(1,5*max(l+p,m+n)).
1952- For optimum performance ldwork should be larger.
1953- Return objects:
1954- Af : rank-2 array('d')
1955- the leading NFZ-by-NFZ part of this array
1956- contains the matrix Af of the reduced pencil.
1957- Ef : rank-2 array('d')
1958- the leading NFZ-by-NFZ part of this array
1959- contains the matrix Ef of the reduced pencil.
1960- nrank : output int
1961- The normal rank of the system pencil.
1962- niz : output int
1963- The number of infinite zeros.
1964- infz : rank-1 array('i')
1965- The leading DINFZ elements of infz contain information
1966- on the infinite elementary divisors as follows:
1967- the system has infz(i) infinite elementary divisors of
1968- degree i in the Smith form, where i = 1,2,...,DINFZ.
1969- kronr : rank-1 array('i')
1970- The leading NKROR elements of this array contain the
1971- right Kronecker (column) indices.
1972- infe : rank-1 array('i')
1973- The leading NINFE elements of infe contain the
1974- multiplicities of infinite eigenvalues.
1906+ Parameters
1907+ ----------
1908+ l : int
1909+ The number of rows of matrices A, B, and E. l >= 0.
1910+ n : int
1911+ The number of columns of matrices A, E, and C. n >= 0.
1912+ m : int
1913+ The number of columns of matrix B. m >= 0.
1914+ p : int
1915+ The number of rows of matrix C. p >= 0.
1916+ A : (l, n) array_like
1917+ The leading l-by-n part of this array must
1918+ contain the state dynamics matrix A of the system.
1919+ E : (l, n) array_like
1920+ The leading l-by-n part of this array must
1921+ contain the descriptor matrix E of the system.
1922+ B : (l, m) array_like
1923+ The leading l-by-m part of this array must
1924+ contain the input/state matrix B of the system.
1925+ C : (p, n) array_like
1926+ The leading p-by-n part of this array must
1927+ contain the state/output matrix C of the system.
1928+ D : (p, m) array_like
1929+ The leading p-by-m part of this array must contain the
1930+ direct transmission matrix D of the system.
1931+ equil : {'S', 'N'}, optional
1932+ Specifies whether the user wishes to balance the system
1933+ matrix as follows:
1934+ = 'S': Perform balancing (scaling);
1935+ = 'N': Do not perform balancing.
1936+ Default is `N`
1937+ tol : float, optional
1938+ A tolerance used in rank decisions to determine the
1939+ effective rank, which is defined as the order of the
1940+ largest leading (or trailing) triangular submatrix in the
1941+ QR (or RQ) factorization with column (or row) pivoting
1942+ whose estimated condition number is less than 1/TOL.
1943+ If the user sets TOL <= 0, then default tolerances are
1944+ used instead, as follows: TOLDEF = L*N*EPS in TG01FD
1945+ (to determine the rank of E) and TOLDEF = (L+P)*(N+M)*EPS
1946+ in the rest, where EPS is the machine precision
1947+ (see LAPACK Library routine DLAMCH). TOL < 1.
1948+ Default is 0.
1949+ ldwork : int, optional
1950+ The length of the cache array.
1951+ ldwork >= max( 4*(l,n), ldw ), if equil = 'S',
1952+ ldwork >= ldw, if equil = 'N', where
1953+ ldw = max(l+p,m+n)*(m+n) + max(1,5*max(l+p,m+n)).
1954+ For optimum performance ldwork should be larger.
1955+ Default is None.
1956+
1957+ Returns
1958+ -------
1959+ Af : (nfz, nfz) ndarray
1960+ the leading NFZ-by-NFZ part of this array
1961+ contains the matrix Af of the reduced pencil.
1962+ Ef : (nfz, nfz) ndarray
1963+ the leading NFZ-by-NFZ part of this array
1964+ contains the matrix Ef of the reduced pencil.
1965+ nrank : int
1966+ The normal rank of the system pencil.
1967+ niz : int
1968+ The number of infinite zeros.
1969+ infz : (n+1) ndarray
1970+ The leading DINFZ elements of infz contain information
1971+ on the infinite elementary divisors as follows:
1972+ the system has infz(i) infinite elementary divisors of
1973+ degree i in the Smith form, where i = 1,2,...,DINFZ.
1974+ kronr : (n+m+1) ndarray
1975+ The leading NKROR elements of this array contain the
1976+ right Kronecker (column) indices.
1977+ infe : (1+min(l+p,n+m)) ndarray
1978+ The leading NINFE elements of infe contain the
1979+ multiplicities of infinite eigenvalues.
19751980 """
19761981 hidden = ' (hidden by the wrapper)'
19771982 arg_list = ['equil' , 'l' , 'n' , 'm' , 'p' ,
0 commit comments