@one man

I think that I simply plotted the curve and trusted my eyes rather than my brain. In any case I screwed up in every possible way.

To try to redeem myself, here are all the zeros obtained by concatenating the **NextZeros** twice, first on f(x), next on the function f(-x) from minus the largest one of f(x).

In some sense I search the zeros from left to right and next from right to left (a kind of *PreviousZero* function).

Once merged in a single set I pruned it to discard points that are equal up to the precision defined by Digits.

restart:
Digits := 10;
f := proc (x) options operator, arrow; x*(1+1.0001*sin(x^2)) end proc:
sol := NULL:
s := 1.0:
s := RootFinding:-NextZero(f, s):
sol := sol, s:
for j from 2 to 100 do
s := RootFinding:-NextZero(f, s):
sol := sol, s:
end do:
10
g := proc (x) options operator, arrow; f(-x) end proc:
s := -sol[-1]:
s := RootFinding:-NextZero(g, s):
sol := sol, -s:
for j from 2 to 100 do
s := RootFinding:-NextZero(g, s):
sol := sol, -s:
end do:
allsol := {sol}:
pruned := allsol[1]:
for j from 2 to numelems(allsol)-1 do
if `not`(verify(allsol[j], pruned[-1], truefalse(float(2)))) then
pruned := pruned, allsol[j]
end if:
end do:
pruned := {pruned}:
zer:= k -> evalf(sqrt((-1)^(k+1)*arcsin(10000/10001)+k*Pi)):
for j from 1 to numelems(pruned) do
printf("%3d %2.8f exact = %2.8f difference = %+2.8f\n", j, pruned[j], zer(j), pruned[j]-zer(j)):
end do;
1 2.16754410 exact = 2.16754410 difference = -0.00000000
2 2.17405854 exact = 2.17405854 difference = +0.00000000
3 3.31382449 exact = 3.31382449 difference = +0.00000000
4 3.31808918 exact = 3.31808918 difference = -0.00000000
5 4.15507136 exact = 4.15507136 difference = +0.00000000
6 4.15847341 exact = 4.15847342 difference = -0.00000000
7 4.85260789 exact = 4.85260789 difference = -0.00000000
8 4.85552123 exact = 4.85552123 difference = -0.00000000
9 5.46177523 exact = 5.46177523 difference = -0.00000000
10 5.46436380 exact = 5.46436380 difference = -0.00000000
11 6.00950696 exact = 6.00950697 difference = -0.00000000
12 6.01185970 exact = 6.01185970 difference = -0.00000000
13 6.51132546 exact = 6.51132546 difference = -0.00000000
14 6.51349694 exact = 6.51349694 difference = -0.00000000
15 6.97714444 exact = 6.97714444 difference = -0.00000000
16 6.97917099 exact = 6.97917099 difference = -0.00000000
17 7.41375275 exact = 7.41375275 difference = -0.00000000
18 7.41565998 exact = 7.41565998 difference = +0.00000000
19 7.82604084 exact = 7.82604084 difference = +0.00000000
20 7.82784762 exact = 7.82784762 difference = +0.00000000
21 8.21767002 exact = 8.21767002 difference = +0.00000000
22 8.21939071 exact = 8.21939071 difference = +0.00000000
23 8.59146587 exact = 8.59146587 difference = +0.00000000
24 8.59311171 exact = 8.59311171 difference = +0.00000000
25 8.94966318 exact = 8.94966318 difference = +0.00000000
26 8.95124317 exact = 8.95124317 difference = +0.00000000
27 9.29406566 exact = 9.29406566 difference = +0.00000000
28 9.29558710 exact = 9.29558710 difference = +0.00000000
29 9.62615405 exact = 9.62615405 difference = -0.00000000
30 9.62762301 exact = 9.62762301 difference = +0.00000000
31 9.94716176 exact = 9.94716176 difference = +0.00000000
32 9.94858332 exact = 9.94858332 difference = +0.00000000
33 10.25812908 exact = 10.25812909 difference = -0.00000001
34 10.25950756 exact = 10.25950756 difference = +0.00000000
35 10.55994307 exact = 10.55994307 difference = +0.00000000
36 10.56128215 exact = 10.56128215 difference = +0.00000000
37 10.85336735 exact = 10.85336736 difference = -0.00000001
38 10.85467024 exact = 10.85467024 difference = +0.00000000
39 11.13906496 exact = 11.13906497 difference = -0.00000001
40 11.14033443 exact = 11.14033444 difference = -0.00000001
41 11.41761593 exact = 11.41761593 difference = +0.00000000
42 11.41885443 exact = 11.41885444 difference = -0.00000001
43 11.68953116 exact = 11.68953117 difference = -0.00000001
44 11.69074086 exact = 11.69074087 difference = -0.00000001
45 11.95526345 exact = 11.95526345 difference = +0.00000000
46 11.95644626 exact = 11.95644627 difference = -0.00000001
47 12.21521630 exact = 12.21521631 difference = -0.00000001
48 12.21637395 exact = 12.21637395 difference = +0.00000000
49 12.46975120 exact = 12.46975119 difference = +0.00000001
50 12.47088521 exact = 12.47088521 difference = +0.00000000
51 12.71919337 exact = 12.71919338 difference = -0.00000001
52 12.72030515 exact = 12.72030515 difference = +0.00000000
53 12.96383683 exact = 12.96383684 difference = -0.00000001
54 12.96492763 exact = 12.96492763 difference = +0.00000000
55 13.20394830 exact = 13.20394830 difference = +0.00000000
56 13.20501926 exact = 13.20501927 difference = -0.00000001
57 13.43977068 exact = 13.43977069 difference = -0.00000001
58 13.44082285 exact = 13.44082286 difference = -0.00000001
59 13.67152593 exact = 13.67152594 difference = -0.00000001
60 13.67256027 exact = 13.67256027 difference = +0.00000000
61 13.89941749 exact = 13.89941749 difference = +0.00000000
62 13.90043487 exact = 13.90043487 difference = +0.00000000
63 14.12363239 exact = 14.12363239 difference = +0.00000000
64 14.12463362 exact = 14.12463363 difference = -0.00000001
65 14.34434304 exact = 14.34434304 difference = +0.00000000
66 14.34532886 exact = 14.34532887 difference = -0.00000001
67 14.56170877 exact = 14.56170878 difference = -0.00000001
68 14.56267989 exact = 14.56267989 difference = +0.00000000
69 14.77587722 exact = 14.77587723 difference = -0.00000001
70 14.77683426 exact = 14.77683427 difference = -0.00000001
71 14.98698546 exact = 14.98698546 difference = +0.00000000
72 14.98792901 exact = 14.98792902 difference = -0.00000001
73 15.19516102 exact = 15.19516102 difference = +0.00000000
74 15.19609165 exact = 15.19609166 difference = -0.00000001
75 15.40052284 exact = 15.40052284 difference = +0.00000000
76 15.40144106 exact = 15.40144107 difference = -0.00000001
77 15.60318201 exact = 15.60318202 difference = -0.00000001
78 15.60408831 exact = 15.60408832 difference = -0.00000001
79 15.80324252 exact = 15.80324253 difference = -0.00000001
80 15.80413735 exact = 15.80413735 difference = +0.00000000
81 16.00080184 exact = 16.00080185 difference = -0.00000001
82 16.00168562 exact = 16.00168562 difference = +0.00000000
83 16.19595150 exact = 16.19595150 difference = +0.00000000
84 16.19682463 exact = 16.19682463 difference = +0.00000000
85 16.38877757 exact = 16.38877757 difference = +0.00000000
86 16.38964043 exact = 16.38964043 difference = +0.00000000
87 16.57936113 exact = 16.57936114 difference = -0.00000001
88 16.58021407 exact = 16.58021408 difference = -0.00000001
89 16.76777865 exact = 16.76777865 difference = +0.00000000
90 16.76862200 exact = 16.76862201 difference = -0.00000001
91 16.95410234 exact = 16.95410234 difference = +0.00000000
92 16.95493643 exact = 16.95493643 difference = +0.00000000
93 17.13840049 exact = 17.13840050 difference = -0.00000001
94 17.13922561 exact = 17.13922562 difference = -0.00000001
95 17.32073777 exact = 17.32073777 difference = +0.00000000
96 17.32155421 exact = 17.32155420 difference = +0.00000001
97 17.50117545 exact = 17.50117545 difference = +0.00000000
98 17.50198346 exact = 17.50198347 difference = -0.00000001
99 17.67977170 exact = 17.67977170 difference = +0.00000000
100 17.68057155 exact = 17.68057156 difference = -0.00000001
101 17.85658177 exact = 17.85658178 difference = -0.00000001
102 17.85737371 exact = 17.85737371 difference = +0.00000000
103 18.03165821 exact = 18.03165822 difference = -0.00000001
104 18.03244246 exact = 18.03244246 difference = +0.00000000
105 18.20505104 exact = 18.20505104 difference = +0.00000000
106 18.20582781 exact = 18.20582782 difference = -0.00000001
107 18.37680790 exact = 18.37680791 difference = -0.00000001
108 18.37757741 exact = 18.37757742 difference = -0.00000001
109 18.54697425 exact = 18.54697426 difference = -0.00000001
110 18.54773671 exact = 18.54773671 difference = +0.00000000
111 18.71559348 exact = 18.71559348 difference = +0.00000000
112 18.71634906 exact = 18.71634907 difference = -0.00000001
113 18.88270702 exact = 18.88270703 difference = -0.00000001
114 18.88345592 exact = 18.88345593 difference = -0.00000001
115 19.04835452 exact = 19.04835452 difference = +0.00000000
116 19.04909690 exact = 19.04909691 difference = -0.00000001
117 19.21257388 exact = 19.21257389 difference = -0.00000001

Of course this doesn't explain the hole between 7.5 and 10 when f(x) is swept from left to right, neither why this hole is filled when f(x) is swept from right to left.

Zeros.mw