API Reference

class control_systems.systemTool.app.SystemModelingApp(level=20)[source]
run(cfg: RunConfig) RunResult[source]
class control_systems.systemTool.apis.CommonSim(tfinal: 'float' = 10.0, dt: 'float' = 0.001, u0: 'float' = 1.0, save: 'bool' = True, verbose: 'int' = 0)[source]
dt: float
save: bool
tfinal: float
u0: float
verbose: int
class control_systems.systemTool.apis.MSDConfig(tfinal: 'float' = 10.0, dt: 'float' = 0.001, u0: 'float' = 1.0, save: 'bool' = True, verbose: 'int' = 0, m: 'float' = 1.0, b: 'float' = 1.0, k: 'float' = 10.0, y0: 'float' = 0.0, ydot0: 'float' = 0.0)[source]
b: float
k: float
m: float
y0: float
ydot0: float
class control_systems.systemTool.apis.ODENoDerivConfig(tfinal: 'float' = 10.0, dt: 'float' = 0.001, u0: 'float' = 1.0, save: 'bool' = True, verbose: 'int' = 0, a: 'Optional[str]' = None, b0: 'float' = 1.0, msd: 'bool' = False, m: 'float' = 1.0, b: 'float' = 1.0, k: 'float' = 10.0, y0: 'float' = 0.0, ydot0: 'float' = 0.0)[source]
a: str | None
b: float
b0: float
k: float
m: float
msd: bool
y0: float
ydot0: float
class control_systems.systemTool.apis.ODEWithDerivConfig(tfinal: 'float' = 10.0, dt: 'float' = 0.001, u0: 'float' = 1.0, save: 'bool' = True, verbose: 'int' = 0, a: 'Optional[str]' = None, b: 'Optional[str]' = None)[source]
a: str | None
b: str | None
class control_systems.systemTool.apis.RunConfig(mode: 'Mode', msd: 'Optional[MSDConfig]' = None, tfss: 'Optional[TFfromSSConfig]' = None, ode_nd: 'Optional[ODENoDerivConfig]' = None, ode_d: 'Optional[ODEWithDerivConfig]' = None, kvmax: 'Optional[CommonSim]' = None)[source]
kvmax: CommonSim | None
mode: Literal['msd-step', 'tf-from-ss', 'mimo-demo', 'ode-no-deriv', 'ode-with-deriv', 'kv-vs-maxwell']
msd: MSDConfig | None
ode_d: ODEWithDerivConfig | None
ode_nd: ODENoDerivConfig | None
tfss: TFfromSSConfig | None
class control_systems.systemTool.apis.RunResult(ok: 'bool', message: 'str' = '', pretty_tf: 'Optional[str]' = None, saved_images: 'list[str]' = None, hints: 'list[str]' = None)[source]
hints: list[str]
message: str
ok: bool
pretty_tf: str | None
saved_images: list[str]
class control_systems.systemTool.apis.TFfromSSConfig(A: 'Optional[str]' = None, B: 'Optional[str]' = None, C: 'Optional[str]' = None, D: 'Optional[str]' = None, m: 'float' = 1.0, b: 'float' = 1.0, k: 'float' = 10.0)[source]
A: str | None
B: str | None
C: str | None
D: str | None
b: float
k: float
m: float
control_systems.systemTool.core.betas_from_ab(a: list[float], b: list[float]) list[float][source]
control_systems.systemTool.core.build_kelvin_voigt(m: float, b: float, k: float) StateSpace[source]
control_systems.systemTool.core.build_mass_spring_damper(m: float, b: float, k: float) StateSpace[source]
control_systems.systemTool.core.build_maxwell(m: float, b: float, k: float) StateSpace[source]
control_systems.systemTool.core.build_ss_with_deriv(a: list[float], b: list[float])[source]
control_systems.systemTool.core.companion_state_space(a_list, b0=1.0)[source]
control_systems.systemTool.io.ensure_1d(arr_like: Iterable[float]) ndarray[source]
control_systems.systemTool.io.parse_list(text: str) list[float][source]
control_systems.systemTool.io.parse_matrix(text: str) ndarray[source]
control_systems.systemTool.design.charpoly_monic(A)[source]
control_systems.systemTool.design.monic_fraction(expr, s: Symbol)[source]
control_systems.systemTool.design.safe_nsimplify(expr)[source]
control_systems.systemTool.design.symbolic_G(A, B, C, D)[source]
control_systems.systemTool.utils.forced_response_safe(sys, T, U, X0=None)[source]

Call control.forced_response robustly across versions. - If X0 is None, omit it (some versions error if X0=None). - If provided, coerce X0 to float ndarray. Returns (t, y(nout,N), x(nx,N or None)).

control_systems.systemTool.utils.get_dims(sys) tuple[int, int][source]
control_systems.systemTool.utils.normalize_rows(T, Y)[source]
control_systems.systemTool.utils.setup_logger(level: int = 20) Logger[source]