API Reference¶
state_space_analysis.stateSolnTool.cli¶
state_space_analysis.stateSolnTool.apis¶
- class state_space_analysis.stateSolnTool.apis.SolveRequest(tf: 'Optional[str]' = None, num: 'Optional[str]' = None, den: 'Optional[str]' = None, example: 'Optional[str]' = None, canonical: 'str' = 'controllable', u: 'str' = '1', x0: 'Optional[str]' = None, t0: 'float' = 0.0, eval_time: 'Optional[float]' = None, numeric: 'bool' = False, digits: 'int' = 8, pretty: 'bool' = False, export_json: 'Optional[str]' = None, verify: 'bool' = False, tol: 'float' = 1e-09, log_level: 'str' = 'INFO')[source]¶
Bases:
object- Parameters:
tf (str | None)
num (str | None)
den (str | None)
example (str | None)
canonical (str)
u (str)
x0 (str | None)
t0 (float)
eval_time (float | None)
numeric (bool)
digits (int)
pretty (bool)
export_json (str | None)
verify (bool)
tol (float)
log_level (str)
- canonical: str = 'controllable'¶
- den: str | None = None¶
- digits: int = 8¶
- eval_time: float | None = None¶
- example: str | None = None¶
- export_json: str | None = None¶
- log_level: str = 'INFO'¶
- num: str | None = None¶
- numeric: bool = False¶
- pretty: bool = False¶
- t0: float = 0.0¶
- tf: str | None = None¶
- tol: float = 1e-09¶
- u: str = '1'¶
- verify: bool = False¶
- x0: str | None = None¶
- class state_space_analysis.stateSolnTool.apis.SolveResponse(A: 'str', B: 'str', Phi: 'str', x_hom: 'str', x_part: 'str', x: 'str', verification: 'Optional[str]' = None)[source]¶
Bases:
object- Parameters:
A (str)
B (str)
Phi (str)
x_hom (str)
x_part (str)
x (str)
verification (str | None)
- A: str¶
- B: str¶
- Phi: str¶
- verification: str | None = None¶
- x: str¶
- x_hom: str¶
- x_part: str¶
state_space_analysis.stateSolnTool.app¶
state_space_analysis.stateSolnTool.core¶
- class state_space_analysis.stateSolnTool.core.Realization(A: 'sp.Matrix', B: 'sp.Matrix')[source]¶
Bases:
object- Parameters:
A (MutableDenseMatrix)
B (MutableDenseMatrix)
- A: MutableDenseMatrix¶
- B: MutableDenseMatrix¶
- class state_space_analysis.stateSolnTool.core.RealizationFactory[source]¶
Bases:
object- static diagonal(den_desc)[source]¶
- Return type:
Realization | None
- class state_space_analysis.stateSolnTool.core.StateSolnEngine(canonical='controllable')[source]¶
Bases:
object- Parameters:
canonical (str)
- EXAMPLES = {'ogata_9_1': '(s+3)/(s**2+3*s+2)'}¶
- class state_space_analysis.stateSolnTool.core.StateSolver(realization, t0=0.0)[source]¶
Bases:
object- Parameters:
realization (Realization)
t0 (float)
state_space_analysis.stateSolnTool.io¶
- state_space_analysis.stateSolnTool.io.coeffs_asc(desc, n)[source]¶
Return ascending [a0 … a_{n-1}] padded/truncated to length n.
- Parameters:
desc (List[Expr])
n (int)
- Return type:
List[Expr]
- state_space_analysis.stateSolnTool.io.ensure_proper(num_desc, den_desc)[source]¶
If degN==degD, do long division to extract D (constant feedthrough).
- Parameters:
num_desc (List[Expr])
den_desc (List[Expr])
- Return type:
Tuple[List[Expr], List[Expr], Expr]
- state_space_analysis.stateSolnTool.io.normalize_monic(num_desc, den_desc)[source]¶
Make denominator monic.
- Parameters:
num_desc (List[Expr])
den_desc (List[Expr])
- Return type:
Tuple[List[Expr], List[Expr]]
- state_space_analysis.stateSolnTool.io.parse_poly(arg)[source]¶
CSV ‘1,3,2’ or poly string ‘s^2+3*s+2’ → coeffs (descending powers, exact).
- Parameters:
arg (str | List[float])
- Return type:
List[Expr]
- state_space_analysis.stateSolnTool.io.parse_tf_string(tf_str)[source]¶
- Parameters:
tf_str (str)
- Return type:
Tuple[List[Expr], List[Expr]]
state_space_analysis.stateSolnTool.utils¶
- state_space_analysis.stateSolnTool.utils.is_square_free(poly)[source]¶
- Parameters:
poly (Poly)
- Return type:
bool
- state_space_analysis.stateSolnTool.utils.to_expr_s(s_txt)[source]¶
- Parameters:
s_txt (str)
- Return type:
Expr