Computational Project about Homotopy Continuation
  • TeX 95.4%
  • Julia 4.6%
Find a file
2024-01-05 17:29:56 +01:00
plots Update multithreaded solutions 2023-08-27 15:09:47 +02:00
report finalize report: format with latexindent 2024-01-05 17:29:56 +01:00
adapt-step.jl further experimentations 2023-12-27 15:42:40 +01:00
euler-newton.jl minor corrections 2023-12-27 16:57:19 +01:00
homogenize.jl Split up main script into local modules 2023-08-23 13:38:53 +02:00
homotopy.jl Split up main script into local modules 2023-08-23 13:38:53 +02:00
LICENSE Initial commit 2023-08-03 23:45:22 +02:00
plot.jl plot: Fix relative path 2023-11-02 23:24:49 +01:00
random-poly.jl use monomials of all degrees <= max; use @spawnat 2023-12-26 22:56:40 +01:00
README.md feat: improve computation of random system and parallel processing; 2023-12-25 21:47:51 +01:00
solve.jl minor corrections 2023-12-27 16:57:19 +01:00
start-system.jl Split up main script into local modules 2023-08-23 13:38:53 +02:00

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

  • 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 Multi-threaded Solution 1

\begin{align*} x^2 + 2y &= 0 \ y - 3x^3 &= 0 \ \end{align*}

Single-threaded Multi-threaded (nproc=6)
Solution 2 Multi-threaded Solution 2

\begin{align*} x^2 + y^2 - 4 &= 0 \ xy - 1 &= 0 \ \end{align*}

Single-threaded Multi-threaded (nproc=6)
Solution 3 Multi-threaded Solution 3

\begin{align*} x^2 + y^2 - 2 &= 0 \ xy - 1 &= 0 \ \end{align*}

Single-threaded Multi-threaded (nproc=6)
Solution 4 Multi-threaded Solution 4