API Reference¶
state_space_design.minOrdTfTool.cli¶
CLI entry point for minOrdTfTool.
The command can be executed from the project root with python -m, or directly from inside the tool folder with python cli.py.
state_space_design.minOrdTfTool.app¶
app.py — Application facade for minOrdTfTool
state_space_design.minOrdTfTool.utils¶
- state_space_design.minOrdTfTool.utils.array2str(M, precision=6)[source]¶
- Parameters:
M (ndarray)
precision (int)
- Return type:
str
- state_space_design.minOrdTfTool.utils.build_S(Aab, Abb)[source]¶
- Parameters:
Aab (ndarray)
Abb (ndarray)
- Return type:
ndarray
- state_space_design.minOrdTfTool.utils.mat_inline(M, precision=4)[source]¶
- Parameters:
M (ndarray)
precision (int)
- Return type:
str
- state_space_design.minOrdTfTool.utils.parse_cplx_tokens(tokens)[source]¶
- Parameters:
tokens (List[str])
- Return type:
ndarray
- state_space_design.minOrdTfTool.utils.parse_mat(s)[source]¶
- Parameters:
s (str | None)
- Return type:
ndarray | None
- state_space_design.minOrdTfTool.utils.phi_of_A(A, coeff)[source]¶
- Parameters:
A (ndarray)
coeff (ndarray)
- Return type:
ndarray
- state_space_design.minOrdTfTool.utils.poly_from_roots(roots)[source]¶
Return real coefficients if the polynomial is real-valued up to tolerance. If coefficients are genuinely complex, raise ValueError encouraging conjugate pairs (required for real systems).
- Parameters:
roots (ndarray)
- Return type:
ndarray
state_space_design.minOrdTfTool.apis¶
apis.py — Request/Response dataclasses for minOrdTfTool
- class state_space_design.minOrdTfTool.apis.MinOrdTfRequest(A: 'np.ndarray', B: 'np.ndarray', C: 'np.ndarray', obs_poles: 'np.ndarray', K: 'Optional[np.ndarray]' = None, K_poles_tokens: 'Optional[List[str]]' = None, allow_pinv: 'bool' = False, pretty: 'bool' = False, precision: 'int' = 6, export_json: 'Optional[str]' = None)[source]¶
Bases:
object- Parameters:
A (ndarray)
B (ndarray)
C (ndarray)
obs_poles (ndarray)
K (ndarray | None)
K_poles_tokens (List[str] | None)
allow_pinv (bool)
pretty (bool)
precision (int)
export_json (str | None)
- A: ndarray¶
- B: ndarray¶
- C: ndarray¶
- K: ndarray | None = None¶
- K_poles_tokens: List[str] | None = None¶
- allow_pinv: bool = False¶
- export_json: str | None = None¶
- obs_poles: ndarray¶
- precision: int = 6¶
- pretty: bool = False¶
state_space_design.minOrdTfTool.core¶
core.py — Orchestration layer gluing request/response to the designer
- class state_space_design.minOrdTfTool.core.MinOrdTfService[source]¶
Bases:
object- run(req)[source]¶
- Parameters:
req (MinOrdTfRequest)
- Return type:
state_space_design.minOrdTfTool.io¶
io.py — I/O helpers (JSON export, pretty printing)
state_space_design.minOrdTfTool.design¶
- class state_space_design.minOrdTfTool.design.ControllerRealization(Atil: 'np.ndarray', Btil: 'np.ndarray', Ctil: 'np.ndarray', Dtil: 'np.ndarray')[source]¶
Bases:
object- Parameters:
Atil (ndarray)
Btil (ndarray)
Ctil (ndarray)
Dtil (ndarray)
- Atil: ndarray¶
- Btil: ndarray¶
- Ctil: ndarray¶
- Dtil: ndarray¶
- class state_space_design.minOrdTfTool.design.ControllerTF(num: 'np.ndarray', den: 'np.ndarray')[source]¶
Bases:
object- Parameters:
num (ndarray)
den (ndarray)
- den: ndarray¶
- num: ndarray¶
- class state_space_design.minOrdTfTool.design.MinOrderObserverDesigner(A, B, C)[source]¶
Bases:
object- Parameters:
A (np.ndarray)
B (np.ndarray)
C (np.ndarray)
- compute_Ke(Abb, Aab, obs_poles, allow_pinv=False)[source]¶
- Parameters:
Abb (ndarray)
Aab (ndarray)
obs_poles (ndarray)
allow_pinv (bool)
- Return type:
ndarray
- full_design(obs_poles, K_row=None, K_poles_tokens=None, allow_pinv=False)[source]¶
- Parameters:
obs_poles (ndarray)
K_row (ndarray | None)
K_poles_tokens (list[str] | None)
allow_pinv (bool)
- realize_controller(Tinv, obs_blocks, K, Ke=None)[source]¶
- Parameters:
Tinv (ndarray)
obs_blocks (ObserverBlocks)
K (ndarray)
Ke (ndarray | None)
- Return type:
Tuple[ControllerRealization, ControllerTF, Dict[str, Any]]