43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
$ 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
|
|
|
|
```bash
|
|
$ 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
|
|
|
|
```bash
|
|
$ 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
|
|
```
|