Computational Project about Homotopy Continuation
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Francesco Minnocci b4492de981
save some differentiate calls, fix newton residual check
1 year ago
plots chore: update plots after step reset fix 1 year ago
report Update report 1 year ago
LICENSE Initial commit 1 year ago
README.md chore: add multi-threaded plots to README 1 year ago
adapt-step.jl Split up main script into local modules 1 year ago
euler-newton.jl save some differentiate calls, fix newton residual check 1 year ago
homogenize.jl Split up main script into local modules 1 year ago
homotopy.jl Split up main script into local modules 1 year ago
plot.jl Split up main script into local modules 1 year ago
solve.jl Update report 1 year ago
start-system.jl Split up main script into local modules 1 year ago

README.md

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
  • Projective coordinates (maybe)

Example systems

Here's some tests on 2x2 systems, with the plotted real approximate solutions


\begin{align*}
x^2 + y^2 - 4 &= 0 \\
xy - 1 &= 0 \\
\end{align*}
Single-threaded Multi-threaded (nproc=8)
Solution 1 Multi-threaded Solution 1


\begin{align*}
x^2 + y^2 - 2 &= 0 \\
xy - 1 &= 0 \\
\end{align*}
Single-threaded Multi-threaded (nproc=8)
Solution 2 Multi-threaded Solution 2


\begin{align*}
x^3 + 5x^2 - y - 10 &= 0 \\
2x^2 - y - 10 &= 0 \\
\end{align*}
Single-threaded Multi-threaded (nproc=8)
Solution 3 Multi-threaded Solution 3