systems.base.utils.EquilibriumHandler

systems.base.utils.EquilibriumHandler(nx, nu)

Manages multiple equilibrium points for a dynamical system.

Stores equilibria as backend-neutral NumPy arrays and provides conversion to any backend on demand.

Attributes

Name Description
nu Number of controls
nx Number of states

Methods

Name Description
add Add named equilibrium point.
get_both Get both state and control equilibria
get_metadata Get metadata for equilibrium
get_u Get equilibrium control in specified backend
get_x Get equilibrium state in specified backend
list_names List all equilibrium names
set_default Set default equilibrium

add

systems.base.utils.EquilibriumHandler.add(
    name,
    x_eq,
    u_eq,
    verify_fn=None,
    tol=1e-06,
    **metadata,
)

Add named equilibrium point.

Args: name: Equilibrium name x_eq: Equilibrium state u_eq: Equilibrium control verify_fn: Optional function(x, u) -> dx to verify equilibrium tol: Tolerance for verification **metadata: Additional info (stability, description, etc.)

get_both

systems.base.utils.EquilibriumHandler.get_both(name=None, backend='numpy')

Get both state and control equilibria

get_metadata

systems.base.utils.EquilibriumHandler.get_metadata(name=None)

Get metadata for equilibrium

get_u

systems.base.utils.EquilibriumHandler.get_u(name=None, backend='numpy')

Get equilibrium control in specified backend

get_x

systems.base.utils.EquilibriumHandler.get_x(name=None, backend='numpy')

Get equilibrium state in specified backend

list_names

systems.base.utils.EquilibriumHandler.list_names()

List all equilibrium names

set_default

systems.base.utils.EquilibriumHandler.set_default(name)

Set default equilibrium