Skip to content

Commit 1178276

Browse files
committed
change ab05md docstring sections to numpydoc style
1 parent 5817cff commit 1178276

File tree

1 file changed

+72
-64
lines changed

1 file changed

+72
-64
lines changed

slycot/analysis.py

Lines changed: 72 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -144,76 +144,84 @@ def ab01nd(n, m, A, B, jobz='N', tol=0, ldwork=None):
144144
Z = None
145145
return Ac, Bc, ncont, indcon, nblk, Z, tau
146146

147-
148147
def ab05md(n1,m1,p1,n2,p2,A1,B1,C1,D1,A2,B2,C2,D2,uplo='U'):
149148
""" n,a,b,c,d = ab05md(n1,m1,p1,n2,p2,a1,b1,c1,d1,a2,b2,c2,d2,[uplo])
150149
151150
To obtain the state-space model (A,B,C,D) for the cascaded
152151
inter-connection of two systems, each given in state-space form.
153152
154-
Required arguments:
155-
n1 : input int
156-
The number of state variables in the first system, i.e. the order
157-
of the matrix A1. n1 > 0.
158-
m1 : input int
159-
The number of input variables for the first system. m1 > 0.
160-
p1 : input int
161-
The number of output variables from the first system and the number
162-
of input variables for the second system. p1 > 0.
163-
n2 : input int
164-
The number of state variables in the second system, i.e. the order
165-
of the matrix A2. n2 > 0.
166-
p2 : input int
167-
The number of output variables from the second system. p2 > 0.
168-
A1 : input rank-2 array('d') with bounds (n1,n1)
169-
The leading n1-by-n1 part of this array must contain the state
170-
transition matrix A1 for the first system.
171-
B1 : input rank-2 array('d') with bounds (n1,m1)
172-
The leading n1-by-m1 part of this array must contain the input/state
173-
matrix B1 for the first system.
174-
C1 : input rank-2 array('d') with bounds (p1,n1)
175-
The leading p1-by-n1 part of this array must contain the state/output
176-
matrix C1 for the first system.
177-
D1 : input rank-2 array('d') with bounds (p1,m1)
178-
The leading p1-by-m1 part of this array must contain the input/output
179-
matrix D1 for the first system.
180-
A2 : input rank-2 array('d') with bounds (n2,n2)
181-
The leading n2-by-n2 part of this array must contain the state
182-
transition matrix A2 for the second system.
183-
B2 : input rank-2 array('d') with bounds (n2,p1)
184-
The leading n2-by-p1 part of this array must contain the input/state
185-
matrix B2 for the second system.
186-
C2 : input rank-2 array('d') with bounds (p2,n2)
187-
The leading p2-by-n2 part of this array must contain the state/output
188-
matrix C2 for the second system.
189-
D2 : input rank-2 array('d') with bounds (p2,p1)
190-
The leading p2-by-p1 part of this array must contain the input/output
191-
matrix D2 for the second system.
192-
Optional arguments:
193-
uplo := 'U' input string(len=1)
194-
Indicates whether the user wishes to obtain the matrix A in
195-
the upper or lower block diagonal form, as follows:
196-
= 'U': Obtain A in the upper block diagonal form;
197-
= 'L': Obtain A in the lower block diagonal form.
198-
Return objects:
199-
n : int
200-
The number of state variables (n1 + n2) in the resulting system,
201-
i.e. the order of the matrix A, the number of rows of B and
202-
the number of columns of C.
203-
A : rank-2 array('d') with bounds (n1+n2,n1+n2)
204-
The leading N-by-N part of this array contains the state transition
205-
matrix A for the cascaded system.
206-
B : rank-2 array('d') with bounds (n1+n2,m1)
207-
The leading n-by-m1 part of this array contains the input/state
208-
matrix B for the cascaded system.
209-
C : rank-2 array('d') with bounds (p2,n1+n2)
210-
The leading p2-by-n part of this array contains the state/output
211-
matrix C for the cascaded system.
212-
D : rank-2 array('d') with bounds (p2,m1)
213-
The leading p2-by-m1 part of this array contains the input/output
214-
matrix D for the cascaded system.
215-
216-
Notes:
153+
Parameters
154+
----------
155+
n1 : int
156+
The number of state variables in the first system, i.e. the order
157+
of the matrix A1. n1 > 0.
158+
m1 : int
159+
The number of input variables for the first system. m1 > 0.
160+
p1 : int
161+
The number of output variables from the first system and the number
162+
of input variables for the second system. p1 > 0.
163+
n2 : int
164+
The number of state variables in the second system, i.e. the order
165+
of the matrix A2. n2 > 0.
166+
p2 : int
167+
The number of output variables from the second system. p2 > 0.
168+
A1 : (n1,n1) array_like
169+
The leading n1-by-n1 part of this array must contain the state
170+
transition matrix A1 for the first system.
171+
B1 : (n1,m1) array_like
172+
The leading n1-by-m1 part of this array must contain the input/state
173+
matrix B1 for the first system.
174+
C1 : (p1,n1) array_like
175+
The leading p1-by-n1 part of this array must contain the state/output
176+
matrix C1 for the first system.
177+
D1 : (p1,m1) array_like
178+
The leading p1-by-m1 part of this array must contain the input/output
179+
matrix D1 for the first system.
180+
A2 : (n2,n2) array_like
181+
The leading n2-by-n2 part of this array must contain the state
182+
transition matrix A2 for the second system.
183+
B2 : (n2,p1) array_like
184+
The leading n2-by-p1 part of this array must contain the input/state
185+
matrix B2 for the second system.
186+
C2 : (p2,n2) array_like
187+
The leading p2-by-n2 part of this array must contain the state/output
188+
matrix C2 for the second system.
189+
D2 : (p2,p1) array_like
190+
The leading p2-by-p1 part of this array must contain the input/output
191+
matrix D2 for the second system.
192+
uplo : {'U', 'L'}, optional
193+
Indicates whether the user wishes to obtain the matrix A in
194+
the upper or lower block diagonal form, as follows:
195+
= 'U': Obtain A in the upper block diagonal form;
196+
= 'L': Obtain A in the lower block diagonal form.
197+
Default is `U`.
198+
199+
Returns
200+
-------
201+
n : int
202+
The number of state variables (n1 + n2) in the resulting system,
203+
i.e. the order of the matrix A, the number of rows of B and
204+
the number of columns of C.
205+
A : (n1+n2,n1+n2) ndarray
206+
The leading N-by-N part of this array contains the state transition
207+
matrix A for the cascaded system.
208+
B : (n1+n2,m1) ndarray
209+
The leading n-by-m1 part of this array contains the input/state
210+
matrix B for the cascaded system.
211+
C : (p2,n1+n2) ndarray
212+
The leading p2-by-n part of this array contains the state/output
213+
matrix C for the cascaded system.
214+
D : (p2,m1) ndarray
215+
The leading p2-by-m1 part of this array contains the input/output
216+
matrix D for the cascaded system.
217+
218+
Raises
219+
------
220+
SlycotParameterError
221+
:info = -i: the i-th argument had an illegal value
222+
223+
Notes
224+
-----
217225
The implemented methods rely on accuracy enhancing square-root or
218226
balancing-free square-root techniques.
219227
The algorithms require less than 30N^3 floating point operations.

0 commit comments

Comments
 (0)