| 93 | |
| 94 | === Relative error === |
| 95 | |
| 96 | Searching for '''relative error''' instead: |
| 97 | |
| 98 | {{{ |
| 99 | #!latex |
| 100 | \[\max_{x \in [-\pi/2, \pi/2]}{\dfrac{\big\vert\sin(x) - P(x)\big\vert}{|\sin(x)|}} = E\] |
| 101 | }}} |
| 102 | |
| 103 | Using the same method as for absolute error, we get: |
| 104 | |
| 105 | {{{ |
| 106 | #!latex |
| 107 | \[\max_{x \in [0, \pi^2/4]}{\dfrac{\bigg\lvert\dfrac{\sin(\sqrt{y})-\sqrt{y}}{y\sqrt{y}} - R(y)\bigg\rvert}{\bigg\lvert\dfrac{\sin(y)}{y\sqrt{y}}\bigg\rvert}} = E\] |
| 108 | }}} |
| 109 | |
| 110 | {{{ |
| 111 | #!cpp |
| 112 | static real myfun(real const &y) |
| 113 | { |
| 114 | real x = sqrt(y); |
| 115 | return (sin(x) - x) / (x * y); |
| 116 | } |
| 117 | |
| 118 | static real myerr(real const &y) |
| 119 | { |
| 120 | real x = sqrt(y); |
| 121 | return sin(x) / (x * y); |
| 122 | } |
| 123 | |
| 124 | RemezSolver<6> solver; |
| 125 | solver.Run(real::R_1 >> 400, real::R_PI_2 * real::R_PI_2, myfun, myerr, 15); |
| 126 | }}} |
| 127 | |
| 128 | {{{ |
| 129 | #!cpp |
| 130 | a0 = -1.666666666666666587374325845020415990185e-1; |
| 131 | a1 = +8.333333333333133768001243698120735518527e-3; |
| 132 | a2 = -1.984126984109960366729319073763957206143e-4; |
| 133 | a3 = +2.755731915499171528179303925040423384803e-6; |
| 134 | a4 = -2.505209340355388148617179634180834358690e-8; |
| 135 | a5 = +1.605725287696319345779134635418774782711e-10; |
| 136 | a6 = -7.535968124281960435283756562793611388136e-13; |
| 137 | }}} |