Skip to main content

Package for synthesis and simulation of linear quadratic differential games

Project description

LQGames

Here’s a long description in English that you can use for the package:


Description

LQGames is a Python package for simulating and solving Linear Quadratic (LQ) games, suitable for both finite and infinite horizon problems. This package provides tools for modeling dynamic systems with multiple players, each aiming to minimize their individual costs based on the system’s states and control inputs. It includes functions for continuous-time Algebraic Riccati Equations (CARE) solutions, state evolution simulations, and control input calculations, making it ideal for advanced applications in control theory and game theory.

Key Features

  • Infinite Horizon LQ Games: Supports infinite horizon games, allowing for stable, long-term system evolution simulations and optimizations.
  • Finite Horizon LQ Games: Solves finite-time LQ games with detailed time-step simulation, making it ideal for time-constrained scenarios.
  • Simulations of State and Control Evolution: Perform time-step simulations of both system state trajectories and optimal control inputs.

Installation

After publishing to PyPI, the package can be installed via pip:

pip install LQGames

Usage

from LQGames.LQGames import LQGame_Infnity, LQGame_Finity

# Initialize system matrices and parameters
A = ...  # Autonomous movement matrix
B = [...]  # List of input matrices for each player
Q = [...]  # List of state weight matrices for each player
R = [...]  # List of input weight matrices for each player
x_0 = ...  # Initial state vector

# Set up an infinite horizon LQ game
lq_game = LQGame_Infnity(A=A, B=B, Q=Q, R=R, x_0=x_0)
lq_game.Simulation_x()  # Simulate state evolution

# Access simulation results
states = lq_game.Simulation_x

Requirements

  • Python 3.6+
  • NumPy
  • SciPy
  • warning
  • copy

License

This package is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

LQGames-0.1.0.tar.gz (5.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

LQGames-0.1.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file LQGames-0.1.0.tar.gz.

File metadata

  • Download URL: LQGames-0.1.0.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.4

File hashes

Hashes for LQGames-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f90c215f82746ca40366518a1457d134e9a008b3c6deac3715ac56298d50e76d
MD5 f9bcae82fa9e6a70e32fb8a36029858f
BLAKE2b-256 f6ec7eb4d41626787c848bc860d343b1eaa825b9ab0667bba8aebb134d4538e5

See more details on using hashes here.

File details

Details for the file LQGames-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: LQGames-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.4

File hashes

Hashes for LQGames-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a419a2166a099efec942ec7927e64c49b66f9f6c2c1b960436296800c1c5862
MD5 62410d426fb3b82e4b689ef5e67e2f81
BLAKE2b-256 b8d0be125a273737d5ceca3dc1de26747c6d6200f82390fd8c7c3b4f1568d8e1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page