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.cli.build_parser()[source]

Build the command-line parser.

Return type:

ArgumentParser

state_space_design.minOrdTfTool.cli.main(argv=None)[source]

Run the minOrdTfTool command line interface.

Parameters:

argv (list[str] | None)

Return type:

int

state_space_design.minOrdTfTool.app

app.py — Application facade for minOrdTfTool

class state_space_design.minOrdTfTool.app.MinOrdTfApp[source]

Bases: object

run(**kwargs)[source]
Return type:

MinOrdTfResponse

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.utils.split_tokens_any(s)[source]
Parameters:

s (str)

Return type:

List[str]

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
class state_space_design.minOrdTfTool.apis.MinOrdTfResponse(tf_num: 'np.ndarray', tf_den: 'np.ndarray', json_path: 'Optional[str]' = None)[source]

Bases: object

Parameters:
  • tf_num (ndarray)

  • tf_den (ndarray)

  • json_path (str | None)

json_path: str | None = None
tf_den: ndarray
tf_num: ndarray

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:

MinOrdTfResponse

state_space_design.minOrdTfTool.io

io.py — I/O helpers (JSON export, pretty printing)

state_space_design.minOrdTfTool.io.export_json(payload, path)[source]
Parameters:
  • payload (Dict[str, Any])

  • path (str)

Return type:

str

state_space_design.minOrdTfTool.io.pretty_dump(payload, precision=6)[source]
Parameters:
  • payload (Dict[str, Any])

  • precision (int)

Return type:

str

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)

build_observer_blocks(Aaa, Aab, Aba, Abb, Ba, Bb, Ke)[source]
Return type:

ObserverBlocks

compute_Ke(Abb, Aab, obs_poles, allow_pinv=False)[source]
Parameters:
  • Abb (ndarray)

  • Aab (ndarray)

  • obs_poles (ndarray)

  • allow_pinv (bool)

Return type:

ndarray

design_K(K_row, K_poles)[source]
Parameters:
  • K_row (ndarray | None)

  • K_poles (ndarray | None)

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)

static partition_bar(Abar, Bbar=None)[source]
Parameters:
  • Abar (ndarray)

  • Bbar (ndarray | None)

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]]

transform_from_C()[source]
Return type:

tuple[ndarray, ndarray]

class state_space_design.minOrdTfTool.design.ObserverBlocks(Ahat: 'np.ndarray', Bhat: 'np.ndarray', Fhat: 'np.ndarray')[source]

Bases: object

Parameters:
  • Ahat (ndarray)

  • Bhat (ndarray)

  • Fhat (ndarray)

Ahat: ndarray
Bhat: ndarray
Fhat: ndarray