A project attempting to use homotopy continuation to perform channel decoding.
Go to file
2025-05-13 14:59:36 +02:00
cpp Fix ambiguous unicode character 2025-02-26 00:37:45 +01:00
docs Fix equation in doc 2025-05-07 15:58:01 +02:00
python Add sweep_parameter_space.py 2025-05-13 14:59:36 +02:00
scripts Add files from test project 2025-02-26 00:21:05 +01:00
.gitignore Add files from test project 2025-02-26 00:21:05 +01:00
Dockerfile Add files from test project 2025-02-26 00:21:05 +01:00
LICENSE Add files from test project 2025-02-26 00:21:05 +01:00
README.md Fix README.md usage instructions 2025-02-26 00:32:59 +01:00

Homotopy Continuation Channel Decoding

A project using homotopy continuation methods to perform channel decoding.

This repository contains implementations in multiple programming languages, that are independent of each other. E.g., for each programming language there are dedicated examples.

Directory Content
docs/ Documentation
scripts/ Utility scripts
cpp/ C++ source code
python/ Python source code

Use Python Code

$ python python/examples/toy_homotopy.py -o temp.csv
$ python scripts/plot_solution_curve.py -i temp.csv -p 3d

Use C++ Code

On Host System

$ cmake -B build -S cpp
$ cmake --build build
$ ./build/examples/toy_homotopy/toy_homotopy -o temp.csv
$ python scripts/plot_solution_curve.py -i temp.csv -p 3d

In Docker Container

$ docker build . -t hccd
$ docker run --rm -it -u `id -u`:`id -g` -v $PWD:$PWD -w $PWD hccd cmake -B build -S cpp
$ docker run --rm -it -u `id -u`:`id -g` -v $PWD:$PWD -w $PWD hccd cmake --build build
$ docker run --rm -it -u `id -u`:`id -g` -v $PWD:$PWD -w $PWD hccd ./build/examples/toy_homotopy/toy_homotopy -o temp.csv
$ python scripts/plot_solution_curve.py -i temp.csv -p 3d