lucid  0.0.1
Lifting-based Uncertain Control Invariant Dynamics
Loading...
Searching...
No Matches
LUCID

Learning-Enabled Uncertainty-Aware Certification of Stochastic Dynamical Systems

lucid CI pylucid CI Docker CI Docs CI

Remarks
Try out the online demo! Note that the memory in the browser is limited, so only small problems can be solved.
Warning
This project is under active development. Features and APIs may change without prior notice. Please refer to the changelog for the latest updates.

Quick installation

For more details, see the installation or the Pylucid sections. If you encounter any errors, please refer to the Troubleshooting section or open an issue.

  • Docker (pre-built)

    Requirements

    Command

    # Pull the image
    docker pull ghcr.io/tendto/lucid:main
    
    # Run the image on script/path/to/script.py.
    # Needs a Gurobi WS licence to use the Gurobi solver.
    docker run --name lucid -it --rm \
      -v/path/to/script.py:/scripts \
      -v/path/to/gurobi.lic:/opt/gurobi/gurobi.lic:ro \
      ghcr.io/tendto/lucid:main /scripts/script.py
    
    # Run the GUI.
    # Needs a Gurobi WS licence to use the Gurobi solver.
    docker run --name lucid -it --rm -p 3661:3661 \
      -v/path/to/gurobi.lic:/opt/gurobi/gurobi.lic:ro \
      --entrypoint pylucid-gui ghcr.io/tendto/lucid:main

  • Docker (source)

    Requirements

    Command

    # Build the image
    docker build -t lucid .
    
    # Run the image on script/path/to/script.py.
    # Needs a Gurobi WS licence to use the Gurobi solver.
    docker run --name lucid -it --rm \
      -v/path/to/script.py:/scripts \
      -v/path/to/gurobi.lic:/opt/gurobi/gurobi.lic:ro \
      lucid /scripts/script.py
    
    # Run the GUI.
    # Needs a Gurobi WS licence to use the Gurobi solver.
    docker run --name lucid -it --rm -p 3661:3661 \
      -v/path/to/gurobi.lic:/opt/gurobi/gurobi.lic:ro \
      --entrypoint pylucid-gui lucid

  • Python (pre-built)

    Requirements

    Installation commands

    # Create a virtual environment (optional)
    python3 -m venv .venv
    
    # Activate the virtual environment on Linux (optional)
    source .venv/bin/activate
    
    # Activate the virtual environment on Windows (optional)
    .venv\Scripts\activate
    
    # Install pylucid
    pip install "pylucid[gui,plot]" --index-url "https://gitlab.com/api/v4/projects/71977529/packages/pypi/simple"
    
    # Ensure pylucid is installed correctly
    python3 -c "import pylucid; print(pylucid.__version__)"

  • Python (from source)

    Requirements

    Installation commands

    # Clone the repository
    git clone https://github.com/TendTo/lucid.git
    
    # Move to the root of the repository
    cd lucid
    
    # Create a virtual environment (optional)
    python3 -m venv .venv
    
    # Activate the virtual environment on Linux (optional)
    source .venv/bin/activate
    
    # Activate the virtual environment on Windows (optional)
    .venv\Scripts\activate
    
    # Install the python wrapper (pylucid)
    pip install ".[gui,plot]"
    
    # Ensure pylucid is installed
    python3 -c "import pylucid; print(pylucid.__version__)"

  • Source

    Requirements

    Important
    While it is possible to run the Lucid binary following the instructions below, right now it simply solves a default problem.

    Installation commands

    # Clone the repository
    git clone https://github.com/TendTo/lucid.git
    
    # Move to the root of the repository
    cd lucid
    
    # Compile and run lucid
    bazel run //lucid -- [args]