#include #include #include #include typedef complex double Complex; /* Implement Mueler's method from Burden, Faires and Burden, Numerical Analysis, 10th Edition, Chapter 2.6, Algorithm 2.8, page 97. */ Complex f(Complex z){ return z*(z*(z*(z-3)+1)+1)+1; } Complex mueller(Complex p0,Complex p1,Complex p2, double TOL, int N0){ Complex h1=p1-p0,h2=p2-p1; // Step 1 Complex delta1=(f(p1)-f(p0))/h1; Complex delta2=(f(p2)-f(p1))/h2; Complex d=(delta2-delta1)/(h2+h1); int i=3; while(i<=N0){ // Step 2 Complex b=delta2+h2*d; // Step 3 Complex D=csqrt(b*b-4*f(p2)*d); Complex E; // Step 4 if(cabs(b-D)