API Reference¶
pole_placement.controllabilityTool.cli¶
Command-line interface for pole_placement.controllabilityTool.
The CLI supports two usage styles:
Modern subcommand form:
python -m pole_placement.controllabilityTool.cli run --json in/system.json --pretty
Historical no-subcommand form:
python -m pole_placement.controllabilityTool.cli --json in/system.json --pretty
It also includes a small sphinx-skel helper for generating a conservative,
GitHub Pages friendly Sphinx documentation skeleton.
- pole_placement.controllabilityTool.cli.build_arg_parser()¶
Build the command-line parser.
- Return type:
ArgumentParser
pole_placement.controllabilityTool.apis¶
- class pole_placement.controllabilityTool.apis.RunRequest(json_path: 'Optional[str]' = None, A: 'Optional[str]' = None, B: 'Optional[str]' = None, C: 'Optional[str]' = None, D: 'Optional[str]' = None, discrete: 'bool' = False, horizon: 'Optional[int]' = None, tol: 'Optional[float]' = None, pbh: 'bool' = False, gram: 'bool' = False, finite_dt: 'Optional[int]' = None, finite_ct: 'Optional[float]' = None, minreal: 'bool' = False, symbolic: 'bool' = False, output_ctrb: 'bool' = False, save_output_csv: 'bool' = False, pretty: 'bool' = False, name: 'str' = 'ctrb', save_csv: 'bool' = False, save_json: 'bool' = False, save_gram: 'bool' = False, report: 'Optional[str]' = None, log: 'str' = 'INFO')[source]¶
Bases:
object- Parameters:
json_path (str | None)
A (str | None)
B (str | None)
C (str | None)
D (str | None)
discrete (bool)
horizon (int | None)
tol (float | None)
pbh (bool)
gram (bool)
finite_dt (int | None)
finite_ct (float | None)
minreal (bool)
symbolic (bool)
output_ctrb (bool)
save_output_csv (bool)
pretty (bool)
name (str)
save_csv (bool)
save_json (bool)
save_gram (bool)
report (str | None)
log (str)
- A: str | None = None¶
- B: str | None = None¶
- C: str | None = None¶
- D: str | None = None¶
- discrete: bool = False¶
- finite_ct: float | None = None¶
- finite_dt: int | None = None¶
- gram: bool = False¶
- horizon: int | None = None¶
- json_path: str | None = None¶
- log: str = 'INFO'¶
- minreal: bool = False¶
- name: str = 'ctrb'¶
- output_ctrb: bool = False¶
- pbh: bool = False¶
- pretty: bool = False¶
- report: str | None = None¶
- save_csv: bool = False¶
- save_gram: bool = False¶
- save_json: bool = False¶
- save_output_csv: bool = False¶
- symbolic: bool = False¶
- tol: float | None = None¶
pole_placement.controllabilityTool.app¶
pole_placement.controllabilityTool.core¶
- pole_placement.controllabilityTool.core.controllability_matrix(A, B, horizon=None)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
horizon (int | None)
- Return type:
numpy.ndarray
- pole_placement.controllabilityTool.core.finite_gramian_ct(A, B, T)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
T (float)
- Return type:
numpy.ndarray
- pole_placement.controllabilityTool.core.finite_gramian_dt(A, B, N)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
N (int)
- Return type:
numpy.ndarray
- pole_placement.controllabilityTool.core.gramian_controllability_ct(A, B)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
- Return type:
numpy.ndarray | None
- pole_placement.controllabilityTool.core.gramian_controllability_dt(A, B)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
- Return type:
numpy.ndarray | None
- pole_placement.controllabilityTool.core.minreal_controllable(A, B, tol=None)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
tol (float | None)
- pole_placement.controllabilityTool.core.output_controllability_matrix(A, B, C, horizon=None, D=None)[source]¶
- Parameters:
A (numpy.ndarray)
B (numpy.ndarray)
C (numpy.ndarray)
horizon (int | None)
D (numpy.ndarray | None)
- Return type:
numpy.ndarray
pole_placement.controllabilityTool.io¶
pole_placement.controllabilityTool.utils¶
- pole_placement.controllabilityTool.utils.ensure_out_dir(path='out')[source]¶
- Parameters:
path (str)
- Return type:
None
- pole_placement.controllabilityTool.utils.rank_numeric(M, tol=None)[source]¶
- Parameters:
M (numpy.ndarray)
tol (float | None)
- Return type:
int
- pole_placement.controllabilityTool.utils.real_if_close_for_control(X)[source]¶
- Parameters:
X (numpy.ndarray)
- Return type:
numpy.ndarray
- pole_placement.controllabilityTool.utils.stable_ct(A)[source]¶
- Parameters:
A (numpy.ndarray)
- Return type:
bool
pole_placement.controllabilityTool.design¶
- pole_placement.controllabilityTool.design.fmt_matrix(M, width=10, prec=6)[source]¶
- Parameters:
M (numpy.ndarray)
width (int)
prec (int)
- Return type:
str
- pole_placement.controllabilityTool.design.write_csv(path, M)[source]¶
- Parameters:
path (str)
M (numpy.ndarray)
- Return type:
None