API Reference

class control_systems.canonicalTool.app.CanonicalApp(level: int = 20)[source]
render(req: RunRequest, res: RunResult, plotcfg: PlotConfig | None = None)[source]
run(req: RunRequest) RunResult[source]
class control_systems.canonicalTool.apis.PlotConfig(title: 'str' = 'Step responses (all forms should coincide)')[source]
title: str
class control_systems.canonicalTool.apis.RunRequest(num: list[float], den: list[float], tfinal: float = 8.0, dt: float = 0.001, symbolic: bool = False, plots: bool = True, save_png: str | None = None, no_show: bool = False)[source]

User-facing configuration for a conversion run.

den: list[float]
dt: float
no_show: bool
num: list[float]
plots: bool
save_png: str | None
symbolic: bool
tfinal: float
class control_systems.canonicalTool.core.CanonicalForms[source]

Pure compute engine for canonical conversions.

static ccf_from_tf(num, den)[source]
static modal_real(sys)[source]
static ocf_from_ss(sys)[source]
control_systems.canonicalTool.io.ensure_out_dir(path: str | Path) Path[source]
control_systems.canonicalTool.io.parse_coeffs(s: str) list[float][source]
control_systems.canonicalTool.io.write_json(obj, path: str | Path)[source]
control_systems.canonicalTool.utils.canonical_form_safe(sys, form: str)[source]

Return (sys_cf, T, Ti) regardless of python-control’s canonical_form signature. Accepts returns like: (T, Ti, sys_cf) | (sys_cf, T) | sys_cf

control_systems.canonicalTool.utils.normalize_tf_coeffs(num, den)[source]
control_systems.canonicalTool.utils.tf_equal(sys1, sys2, tol: float = 1e-09) bool[source]