Linear System (LinearSystem-v0)
The Linear System is the simplest benchmark environment and the canonical test bed for LQR and SKVI. The dynamics are globally linear, so LQR delivers the exact optimal solution and provides an unambiguous performance ceiling.
Dynamics
The discrete-time state transition is
where is a random stable matrix (largest absolute real eigenvalue , drawn once at environment construction) and .
Spaces and limits
| Property | Value |
|---|---|
| State dimension | 3 |
| Action dimension | 1 |
| State range | |
| Action range | |
| Max episode steps | 200 |
| Integration | Direct (discrete map) |
Cost function
Reference point: .
Usage
uv run -m koopmanrl.soft_koopman_value_iteration --env_id LinearSystem-v0
uv run -m koopmanrl.linear_quadratic_regulator --env_id LinearSystem-v0
Notes
- A is randomised at construction. Each new
LinearSystem()instance draws a fresh matrix, so seeds must be fixed at the process level for reproducibility. - LQR is exact here. SKVI and SAKC results on this environment should be compared against the LQR solution as an upper bound.
- Source:
koopmanrl/environments/linear_system.py