X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=findcurve.c;h=c038182e685ca954002d0e0473338077c01f5af4;hb=906edec3ef60cf3e0567c713b2a68688edb634d4;hp=9277db403c3b8eeb92ff56a83a2915db83aaba1e;hpb=7bcf47dc67a95e6296c0cd71fad33de204bb94b8;p=moebius3.git diff --git a/findcurve.c b/findcurve.c index 9277db4..c038182 100644 --- a/findcurve.c +++ b/findcurve.c @@ -5,11 +5,12 @@ #include #include -#include +#include +#include #include "symbolic.c" -#define X(i) gsl_vector_get(x,i) +#define X(i) x[i] #define J_END_COL(i) \ for (j=0; jx, i)); - for (i=0; i<6; i++) printf(" %.18g,", gsl_vector_get(solver->f, i)); - printf(" ]\n"); + gsl_siman_params_t siman_params = { + .k = 1.0, + .t_initial = 0.5, + .mu_t = 1.001, + .t_min = epsilon * 1E-3, + .iters_fixed_T = 100, + .n_tries = 10, + .step_size = 0.05, + }; - r = gsl_multiroot_test_residual(solver->f, epsilon); - if (r != GSL_CONTINUE) break; - } + gsl_siman_solve(rng, + startpoint, + cb_Efunc, cb_step, cb_metric, + 0, //cb_print, + 0,0,0, sizeof(startpoint), siman_params); - if (r) { - fprintf(stderr,"ERROR %s\n",gsl_strerror(r)); - exit(-1); - } + printcore(startpoint); - printf("None\n"); + printf("[]\n"); + fflush(stdout); } }