types.robustness.RobustStabilityResult
types.robustness.RobustStabilityResult()Robust stability analysis result.
Analyzes stability over parametric uncertainty set.
Fields
robustly_stable : bool True if stable for all θ ∈ Θ worst_case_eigenvalue : complex Eigenvalue closest to instability stability_margin : float Minimum distance to instability boundary critical_parameter : Optional[ParameterVector] Worst-case parameter θ* method : str Analysis method (‘polytope’, ‘Lyapunov’, ‘gridding’) conservatism : Optional[float] Conservatism estimate (0 = exact, 1 = very conservative)
Examples
>>> # Define uncertain system
>>> # A(θ) = A_nom + θ₁*ΔA₁ + θ₂*ΔA₂
>>> A_nom = np.array([[0, 1], [-2, -1]])
>>> uncertainty = ([-0.2, -0.1], [0.2, 0.1])
>>>
>>> result: RobustStabilityResult = analyze_robust_stability(
... A_nom, uncertainty, method='polytope'
... )
>>>
>>> if result['robustly_stable']:
... print(f"System is robustly stable!")
... print(f"Stability margin: {result['stability_margin']:.3f}")
... else:
... print(f"Instability at θ = {result['critical_parameter']}")
... print(f"Critical eigenvalue: {result['worst_case_eigenvalue']}")
>>>
>>> # Check conservatism
>>> if result.get('conservatism', 0) > 0.5:
... print("Analysis is conservative - true margin may be larger")