|
|
|
# Homotopy Continuation in Julia
|
|
|
|
|
|
|
|
This is a project for the "Laboratorio Computazionale" exam at the University of Pisa
|
|
|
|
|
|
|
|
## Implemented
|
|
|
|
|
|
|
|
- Total-degree Homotopy with "Roots of unity" start system
|
|
|
|
- Euler-Newton predictor-corrector method with adaptive step size
|
|
|
|
- Homotopy Continuation for all roots of the target system
|
|
|
|
|
|
|
|
## TODO
|
|
|
|
|
|
|
|
- [x] Parallelization
|
|
|
|
- ~~Homogenization~~
|
|
|
|
|
|
|
|
## Example systems
|
|
|
|
|
|
|
|
Here's some tests on 2x2 systems, with the plotted real approximate solutions
|
|
|
|
|
|
|
|
$$
|
|
|
|
\begin{align*}
|
|
|
|
x^3 + 5x^2 - y - 10 &= 0 \\
|
|
|
|
2x^2 - y - 10 &= 0 \\
|
|
|
|
\end{align*}
|
|
|
|
$$
|
|
|
|
|
|
|
|
| Single-threaded | Multi-threaded (nproc=6) |
|
|
|
|
|-------------------|---------------------------------|
|
|
|
|
| ![Solution 1](plots/solutions1.png) | ![Multi-threaded Solution 1](plots/solutions1_6.png) |
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
$$
|
|
|
|
\begin{align*}
|
|
|
|
x^2 + 2y &= 0 \\
|
|
|
|
y - 3x^3 &= 0 \\
|
|
|
|
\end{align*}
|
|
|
|
$$
|
|
|
|
|
|
|
|
| Single-threaded | Multi-threaded (nproc=6) |
|
|
|
|
|-------------------|---------------------------------|
|
|
|
|
| ![Solution 2](plots/solutions2.png) | ![Multi-threaded Solution 2](plots/solutions2_6.png) |
|
|
|
|
|
|
|
|
$$
|
|
|
|
\begin{align*}
|
|
|
|
x^2 + y^2 - 4 &= 0 \\
|
|
|
|
xy - 1 &= 0 \\
|
|
|
|
\end{align*}
|
|
|
|
$$
|
|
|
|
|
|
|
|
| Single-threaded | Multi-threaded (nproc=6) |
|
|
|
|
|-------------------|---------------------------------|
|
|
|
|
| ![Solution 3](plots/solutions3.png) | ![Multi-threaded Solution 3](plots/solutions3_6.png) |
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
$$
|
|
|
|
\begin{align*}
|
|
|
|
x^2 + y^2 - 2 &= 0 \\
|
|
|
|
xy - 1 &= 0 \\
|
|
|
|
\end{align*}
|
|
|
|
$$
|
|
|
|
|
|
|
|
| Single-threaded | Multi-threaded (nproc=6) |
|
|
|
|
|-------------------|---------------------------------|
|
|
|
|
| ![Solution 4](plots/solutions4.png) | ![Multi-threaded Solution 4](plots/solutions4_6.png) |
|