API Reference¶
state_space.stateSpaceTool.cli¶
Command-line interface for state_space.stateSpaceTool.
The CLI supports two usage styles:
Modern subcommand form:
python -m state_space.stateSpaceTool.cli run --example ogata_5_1
Historical no-subcommand form:
python -m state_space.stateSpaceTool.cli --example ogata_5_1
It also includes a sphinx-skel helper for generating a conservative,
GitHub Pages friendly Sphinx documentation skeleton.
state_space.stateSpaceTool.apis¶
- class state_space.stateSpaceTool.apis.RunRequest(form: 'str' = 'auto', num: 'Optional[str]' = None, den: 'Optional[str]' = None, zeros: 'Optional[str]' = None, poles: 'Optional[str]' = None, gain: 'Optional[float]' = None, forms: 'str' = 'cont,obs,diag,jordan', realblocks: 'bool' = False, dt: 'float' = 1.0, latex: 'bool' = False, latex_out: 'Optional[str]' = None, json_out: 'Optional[str]' = None, check: 'str' = 'brief', quiet: 'bool' = False)[source]¶
Bases:
object- Parameters:
form (str)
num (str | None)
den (str | None)
zeros (str | None)
poles (str | None)
gain (float | None)
forms (str)
realblocks (bool)
dt (float)
latex (bool)
latex_out (str | None)
json_out (str | None)
check (str)
quiet (bool)
- check: str = 'brief'¶
- den: str | None = None¶
- dt: float = 1.0¶
- form: str = 'auto'¶
- forms: str = 'cont,obs,diag,jordan'¶
- gain: float | None = None¶
- json_out: str | None = None¶
- latex: bool = False¶
- latex_out: str | None = None¶
- num: str | None = None¶
- poles: str | None = None¶
- quiet: bool = False¶
- realblocks: bool = False¶
- zeros: str | None = None¶
- class state_space.stateSpaceTool.apis.RunResult(realizations: 'Dict[str, Dict[str, List[List[float]]]]', latex: 'Optional[str]' = None, check_log: 'Optional[str]' = None)[source]¶
Bases:
object- Parameters:
realizations (Dict[str, Dict[str, List[List[float]]]])
latex (str | None)
check_log (str | None)
- check_log: str | None = None¶
- latex: str | None = None¶
- realizations: Dict[str, Dict[str, List[List[float]]]]¶
state_space.stateSpaceTool.app¶
state_space.stateSpaceTool.core¶
- state_space.stateSpaceTool.core.controllable_canonical(b, a)[source]¶
- Parameters:
b (Sequence[float])
a (Sequence[float])
- Return type:
Tuple[numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray]
- state_space.stateSpaceTool.core.jordan_or_diagonal(b, a)[source]¶
- Parameters:
b (Sequence[float])
a (Sequence[float])
- Return type:
Tuple[numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray, Dict[complex, int]]
- state_space.stateSpaceTool.core.observable_canonical(b, a)[source]¶
- Parameters:
b (Sequence[float])
a (Sequence[float])
- Return type:
Tuple[numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray]
- state_space.stateSpaceTool.core.realify_complex_pairs(A, B, C, D, multiplicities, quiet=False)[source]¶
- Parameters:
A (numpy.typing.NDArray)
B (numpy.typing.NDArray)
C (numpy.typing.NDArray)
D (numpy.typing.NDArray)
multiplicities (Dict[complex, int])
quiet (bool)
- Return type:
Tuple[numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray, numpy.typing.NDArray]
state_space.stateSpaceTool.io¶
- state_space.stateSpaceTool.io.parse_poly(num, den, form, zeros, poles, gain)[source]¶
- Return (b, a) for Ogata 5-6 layout:
H(z) = (b0 + b1 z^-1 + … + bn z^-n) / (1 + a1 z^-1 + … + an z^-n)
- Parameters:
num (str | None)
den (str | None)
form (str)
zeros (str | None)
poles (str | None)
gain (float | None)
- Return type:
Tuple[List[float], List[float]]
state_space.stateSpaceTool.utils¶
- state_space.stateSpaceTool.utils.coeffs_desc_to_expr(coeffs, z)[source]¶
- Parameters:
coeffs (Sequence[float])
z (sympy.Symbol)
- Return type:
sympy.Expr
- state_space.stateSpaceTool.utils.expr_to_poly(expr, z)[source]¶
- Parameters:
expr (sympy.Expr)
z (sympy.Symbol)
- Return type:
sympy.Poly
- state_space.stateSpaceTool.utils.json_matrix(M, tol=1e-12)[source]¶
- Parameters:
M (numpy.typing.NDArray)
tol (float)
- state_space.stateSpaceTool.utils.sympy_matrix_from_numpy(M)[source]¶
- Parameters:
M (numpy.typing.NDArray)
- Return type:
sympy.Matrix
- state_space.stateSpaceTool.utils.to_float_list(txt)[source]¶
- Parameters:
txt (str | None)
- Return type:
List[float]
state_space.stateSpaceTool.design¶
- state_space.stateSpaceTool.design.dump_realizations_json(path, obj)[source]¶
- Parameters:
path (str)
obj (Dict[str, Dict[str, List[List[float]]]])
- state_space.stateSpaceTool.design.latex_block(title, A, B, C, D)[source]¶
- Parameters:
title (str)
A (numpy.typing.NDArray)
B (numpy.typing.NDArray)
C (numpy.typing.NDArray)
D (numpy.typing.NDArray)
- Return type:
str
- state_space.stateSpaceTool.design.latex_matrix(M)[source]¶
- Parameters:
M (numpy.typing.NDArray)
- Return type:
str
- state_space.stateSpaceTool.design.latex_tf(b, a)[source]¶
- Parameters:
b (Sequence[float])
a (Sequence[float])
- Return type:
Tuple[str, str]
- state_space.stateSpaceTool.design.pretty_ss_lines(A, B, C, D)[source]¶
- Parameters:
A (numpy.typing.NDArray)
B (numpy.typing.NDArray)
C (numpy.typing.NDArray)
D (numpy.typing.NDArray)
- Return type:
Tuple[str, str]
- state_space.stateSpaceTool.design.pretty_tf_lines(b, a)[source]¶
- Parameters:
b (Sequence[float])
a (Sequence[float])
- Return type:
Tuple[str, str]