1 /* 2 This file is part of MADNESS. 3 4 Copyright (C) 2007,2010 Oak Ridge National Laboratory 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 20 For more information please contact: 21 22 Robert J. Harrison 23 Oak Ridge National Laboratory 24 One Bethel Valley Road 25 P.O. Box 2008, MS-6367 26 27 email: harrisonrj@ornl.gov 28 tel: 865-241-3937 29 fax: 865-572-0680 30 31 $Id$ 32 */ 33 #include <madness/mra/mra.h> 34 35 using std::cout; 36 using std::endl; 37 using std::max; 38 39 namespace madness { 40 using std::abs; 41 test_rnlp()42 bool test_rnlp() { 43 long i, n, l; 44 Tensor<double> r; 45 double maxerr = 0.0; 46 const double pi = 3.14159265358979323846264338328; 47 double exact, err; 48 { 49 //cout << "Testing accuracy of rnlp against results from Maple" << endl; 50 double a = 1e-4; 51 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 52 n = 0; 53 l=-2; 54 r = g.rnlp(n,l); 55 i = 0; 56 exact = 5.64057956799766339e-03; 57 err = abs(r(i)-exact); 58 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 59 maxerr = max(maxerr,err); 60 i = 3; 61 exact = -3.19741057080945913e-12; 62 err = abs(r(i)-exact); 63 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 64 maxerr = max(maxerr,err); 65 i = 6; 66 exact = -2.81799864246383464e-19; 67 err = abs(r(i)-exact); 68 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 69 maxerr = max(maxerr,err); 70 n = 0; 71 l=-1; 72 r = g.rnlp(n,l); 73 i = 0; 74 exact = 5.64170777792480805e-03; 75 err = abs(r(i)-exact); 76 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 77 maxerr = max(maxerr,err); 78 i = 3; 79 exact = -1.06615886053515213e-12; 80 err = abs(r(i)-exact); 81 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 82 maxerr = max(maxerr,err); 83 i = 6; 84 exact = -2.82194856723151343e-19; 85 err = abs(r(i)-exact); 86 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 87 maxerr = max(maxerr,err); 88 n = 0; 89 l=0; 90 r = g.rnlp(n,l); 91 i = 0; 92 exact = 5.64170777792480805e-03; 93 err = abs(r(i)-exact); 94 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 95 maxerr = max(maxerr,err); 96 i = 3; 97 exact = 1.06615886053515213e-12; 98 err = abs(r(i)-exact); 99 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 100 maxerr = max(maxerr,err); 101 i = 6; 102 exact = -2.82194856723151343e-19; 103 err = abs(r(i)-exact); 104 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 105 maxerr = max(maxerr,err); 106 n = 0; 107 l=1; 108 r = g.rnlp(n,l); 109 i = 0; 110 exact = 5.64057956799766339e-03; 111 err = abs(r(i)-exact); 112 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 113 maxerr = max(maxerr,err); 114 i = 3; 115 exact = 3.19741057080945913e-12; 116 err = abs(r(i)-exact); 117 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 118 maxerr = max(maxerr,err); 119 i = 6; 120 exact = -2.81799864246383464e-19; 121 err = abs(r(i)-exact); 122 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 123 maxerr = max(maxerr,err); 124 n = 0; 125 l=2; 126 r = g.rnlp(n,l); 127 i = 0; 128 exact = 5.63832382494524470e-03; 129 err = abs(r(i)-exact); 130 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 131 maxerr = max(maxerr,err); 132 i = 3; 133 exact = 5.32546574080415871e-12; 134 err = abs(r(i)-exact); 135 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 136 maxerr = max(maxerr,err); 137 i = 6; 138 exact = -2.81010590087371315e-19; 139 err = abs(r(i)-exact); 140 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 141 maxerr = max(maxerr,err); 142 n = 4; 143 l=-2; 144 r = g.rnlp(n,l); 145 i = 0; 146 exact = 1.41047267328181405e-03; 147 err = abs(r(i)-exact); 148 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 149 maxerr = max(maxerr,err); 150 i = 3; 151 exact = -1.22018791972360980e-17; 152 err = abs(r(i)-exact); 153 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 154 maxerr = max(maxerr,err); 155 n = 4; 156 l=-1; 157 r = g.rnlp(n,l); 158 i = 0; 159 exact = 1.41047377521394878e-03; 160 err = abs(r(i)-exact); 161 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 162 maxerr = max(maxerr,err); 163 i = 3; 164 exact = -4.06729836170390096e-18; 165 err = abs(r(i)-exact); 166 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 167 maxerr = max(maxerr,err); 168 n = 4; 169 l=0; 170 r = g.rnlp(n,l); 171 i = 0; 172 exact = 1.41047377521394878e-03; 173 err = abs(r(i)-exact); 174 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 175 maxerr = max(maxerr,err); 176 i = 3; 177 exact = 4.06729836170390096e-18; 178 err = abs(r(i)-exact); 179 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 180 maxerr = max(maxerr,err); 181 n = 4; 182 l=1; 183 r = g.rnlp(n,l); 184 i = 0; 185 exact = 1.41047267328181405e-03; 186 err = abs(r(i)-exact); 187 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 188 maxerr = max(maxerr,err); 189 i = 3; 190 exact = 1.22018791972360980e-17; 191 err = abs(r(i)-exact); 192 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 193 maxerr = max(maxerr,err); 194 n = 4; 195 l=2; 196 r = g.rnlp(n,l); 197 i = 0; 198 exact = 1.41047046942012737e-03; 199 err = abs(r(i)-exact); 200 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 201 maxerr = max(maxerr,err); 202 i = 3; 203 exact = 2.03364123692283645e-17; 204 err = abs(r(i)-exact); 205 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 206 maxerr = max(maxerr,err); 207 n = 8; 208 l=-2; 209 r = g.rnlp(n,l); 210 i = 0; 211 exact = 3.52618488461890419e-04; 212 err = abs(r(i)-exact); 213 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 214 maxerr = max(maxerr,err); 215 n = 8; 216 l=-1; 217 r = g.rnlp(n,l); 218 i = 0; 219 exact = 3.52618489537996637e-04; 220 err = abs(r(i)-exact); 221 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 222 maxerr = max(maxerr,err); 223 n = 8; 224 l=0; 225 r = g.rnlp(n,l); 226 i = 0; 227 exact = 3.52618489537996637e-04; 228 err = abs(r(i)-exact); 229 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 230 maxerr = max(maxerr,err); 231 n = 8; 232 l=1; 233 r = g.rnlp(n,l); 234 i = 0; 235 exact = 3.52618488461890419e-04; 236 err = abs(r(i)-exact); 237 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 238 maxerr = max(maxerr,err); 239 n = 8; 240 l=2; 241 r = g.rnlp(n,l); 242 i = 0; 243 exact = 3.52618486309677983e-04; 244 err = abs(r(i)-exact); 245 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 246 maxerr = max(maxerr,err); 247 n = 12; 248 l=-2; 249 r = g.rnlp(n,l); 250 i = 0; 251 exact = 8.81546224281108936e-05; 252 err = abs(r(i)-exact); 253 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 254 maxerr = max(maxerr,err); 255 n = 12; 256 l=-1; 257 r = g.rnlp(n,l); 258 i = 0; 259 exact = 8.81546224291617701e-05; 260 err = abs(r(i)-exact); 261 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 262 maxerr = max(maxerr,err); 263 n = 12; 264 l=0; 265 r = g.rnlp(n,l); 266 i = 0; 267 exact = 8.81546224291617701e-05; 268 err = abs(r(i)-exact); 269 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 270 maxerr = max(maxerr,err); 271 n = 12; 272 l=1; 273 r = g.rnlp(n,l); 274 i = 0; 275 exact = 8.81546224281108936e-05; 276 err = abs(r(i)-exact); 277 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 278 maxerr = max(maxerr,err); 279 n = 12; 280 l=2; 281 r = g.rnlp(n,l); 282 i = 0; 283 exact = 8.81546224260091135e-05; 284 err = abs(r(i)-exact); 285 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 286 maxerr = max(maxerr,err); 287 n = 16; 288 l=-2; 289 r = g.rnlp(n,l); 290 i = 0; 291 exact = 2.20386556073330313e-05; 292 err = abs(r(i)-exact); 293 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 294 maxerr = max(maxerr,err); 295 n = 16; 296 l=-1; 297 r = g.rnlp(n,l); 298 i = 0; 299 exact = 2.20386556073340579e-05; 300 err = abs(r(i)-exact); 301 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 302 maxerr = max(maxerr,err); 303 n = 16; 304 l=0; 305 r = g.rnlp(n,l); 306 i = 0; 307 exact = 2.20386556073340579e-05; 308 err = abs(r(i)-exact); 309 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 310 maxerr = max(maxerr,err); 311 n = 16; 312 l=1; 313 r = g.rnlp(n,l); 314 i = 0; 315 exact = 2.20386556073330313e-05; 316 err = abs(r(i)-exact); 317 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 318 maxerr = max(maxerr,err); 319 n = 16; 320 l=2; 321 r = g.rnlp(n,l); 322 i = 0; 323 exact = 2.20386556073309815e-05; 324 err = abs(r(i)-exact); 325 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 326 maxerr = max(maxerr,err); 327 n = 20; 328 l=-2; 329 r = g.rnlp(n,l); 330 i = 0; 331 exact = 5.50966390183355599e-06; 332 err = abs(r(i)-exact); 333 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 334 maxerr = max(maxerr,err); 335 n = 20; 336 l=-1; 337 r = g.rnlp(n,l); 338 i = 0; 339 exact = 5.50966390183355769e-06; 340 err = abs(r(i)-exact); 341 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 342 maxerr = max(maxerr,err); 343 n = 20; 344 l=0; 345 r = g.rnlp(n,l); 346 i = 0; 347 exact = 5.50966390183355769e-06; 348 err = abs(r(i)-exact); 349 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 350 maxerr = max(maxerr,err); 351 n = 20; 352 l=1; 353 r = g.rnlp(n,l); 354 i = 0; 355 exact = 5.50966390183355599e-06; 356 err = abs(r(i)-exact); 357 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 358 maxerr = max(maxerr,err); 359 n = 20; 360 l=2; 361 r = g.rnlp(n,l); 362 i = 0; 363 exact = 5.50966390183355430e-06; 364 err = abs(r(i)-exact); 365 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 366 maxerr = max(maxerr,err); 367 } 368 { 369 double a = 1e-2; 370 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 371 n = 0; 372 l=-2; 373 r = g.rnlp(n,l); 374 i = 0; 375 exact = 5.51198365960967815e-02; 376 err = abs(r(i)-exact); 377 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 378 maxerr = max(maxerr,err); 379 i = 3; 380 exact = -3.07636514759748877e-07; 381 err = abs(r(i)-exact); 382 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 383 maxerr = max(maxerr,err); 384 i = 6; 385 exact = -2.39004237222238520e-12; 386 err = abs(r(i)-exact); 387 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 388 maxerr = max(maxerr,err); 389 i = 9; 390 exact = 3.05711391835261338e-18; 391 err = abs(r(i)-exact); 392 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 393 maxerr = max(maxerr,err); 394 n = 0; 395 l=-1; 396 r = g.rnlp(n,l); 397 i = 0; 398 exact = 5.62314580091424487e-02; 399 err = abs(r(i)-exact); 400 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 401 maxerr = max(maxerr,err); 402 i = 3; 403 exact = -1.06031221284974586e-07; 404 err = abs(r(i)-exact); 405 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 406 maxerr = max(maxerr,err); 407 i = 6; 408 exact = -2.77004995102873103e-12; 409 err = abs(r(i)-exact); 410 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 411 maxerr = max(maxerr,err); 412 i = 9; 413 exact = 1.09765925398799329e-18; 414 err = abs(r(i)-exact); 415 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 416 maxerr = max(maxerr,err); 417 n = 0; 418 l=0; 419 r = g.rnlp(n,l); 420 i = 0; 421 exact = 5.62314580091424487e-02; 422 err = abs(r(i)-exact); 423 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 424 maxerr = max(maxerr,err); 425 i = 3; 426 exact = 1.06031221284974586e-07; 427 err = abs(r(i)-exact); 428 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 429 maxerr = max(maxerr,err); 430 i = 6; 431 exact = -2.77004995102873103e-12; 432 err = abs(r(i)-exact); 433 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 434 maxerr = max(maxerr,err); 435 i = 9; 436 exact = -1.09765925398799329e-18; 437 err = abs(r(i)-exact); 438 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 439 maxerr = max(maxerr,err); 440 n = 0; 441 l=1; 442 r = g.rnlp(n,l); 443 i = 0; 444 exact = 5.51198365960967815e-02; 445 err = abs(r(i)-exact); 446 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 447 maxerr = max(maxerr,err); 448 i = 3; 449 exact = 3.07636514759748877e-07; 450 err = abs(r(i)-exact); 451 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 452 maxerr = max(maxerr,err); 453 i = 6; 454 exact = -2.39004237222238520e-12; 455 err = abs(r(i)-exact); 456 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 457 maxerr = max(maxerr,err); 458 i = 9; 459 exact = -3.05711391835261338e-18; 460 err = abs(r(i)-exact); 461 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 462 maxerr = max(maxerr,err); 463 n = 0; 464 l=2; 465 r = g.rnlp(n,l); 466 i = 0; 467 exact = 5.29620851243244872e-02; 468 err = abs(r(i)-exact); 469 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 470 maxerr = max(maxerr,err); 471 i = 3; 472 exact = 4.79304691694024367e-07; 473 err = abs(r(i)-exact); 474 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 475 maxerr = max(maxerr,err); 476 i = 6; 477 exact = -1.69661200992196493e-12; 478 err = abs(r(i)-exact); 479 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 480 maxerr = max(maxerr,err); 481 i = 9; 482 exact = -4.36848047760689648e-18; 483 err = abs(r(i)-exact); 484 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 485 maxerr = max(maxerr,err); 486 n = 4; 487 l=-2; 488 r = g.rnlp(n,l); 489 i = 0; 490 exact = 1.41034540671661907e-02; 491 err = abs(r(i)-exact); 492 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 493 maxerr = max(maxerr,err); 494 i = 3; 495 exact = -1.22000442699401760e-12; 496 err = abs(r(i)-exact); 497 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 498 maxerr = max(maxerr,err); 499 i = 6; 500 exact = -4.20320972136612724e-20; 501 err = abs(r(i)-exact); 502 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 503 maxerr = max(maxerr,err); 504 n = 4; 505 l=-1; 506 r = g.rnlp(n,l); 507 i = 0; 508 exact = 1.41045559353827048e-02; 509 err = abs(r(i)-exact); 510 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 511 maxerr = max(maxerr,err); 512 i = 3; 513 exact = -4.06721097934550646e-13; 514 err = abs(r(i)-exact); 515 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 516 maxerr = max(maxerr,err); 517 i = 6; 518 exact = -4.20550942666829470e-20; 519 err = abs(r(i)-exact); 520 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 521 maxerr = max(maxerr,err); 522 n = 4; 523 l=0; 524 r = g.rnlp(n,l); 525 i = 0; 526 exact = 1.41045559353827048e-02; 527 err = abs(r(i)-exact); 528 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 529 maxerr = max(maxerr,err); 530 i = 3; 531 exact = 4.06721097934550646e-13; 532 err = abs(r(i)-exact); 533 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 534 maxerr = max(maxerr,err); 535 i = 6; 536 exact = -4.20550942666829470e-20; 537 err = abs(r(i)-exact); 538 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 539 maxerr = max(maxerr,err); 540 n = 4; 541 l=1; 542 r = g.rnlp(n,l); 543 i = 0; 544 exact = 1.41034540671661907e-02; 545 err = abs(r(i)-exact); 546 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 547 maxerr = max(maxerr,err); 548 i = 3; 549 exact = 1.22000442699401760e-12; 550 err = abs(r(i)-exact); 551 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 552 maxerr = max(maxerr,err); 553 i = 6; 554 exact = -4.20320972136612724e-20; 555 err = abs(r(i)-exact); 556 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 557 maxerr = max(maxerr,err); 558 n = 4; 559 l=2; 560 r = g.rnlp(n,l); 561 i = 0; 562 exact = 1.41012505889650305e-02; 563 err = abs(r(i)-exact); 564 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 565 maxerr = max(maxerr,err); 566 i = 3; 567 exact = 2.03281124249789191e-12; 568 err = abs(r(i)-exact); 569 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 570 maxerr = max(maxerr,err); 571 i = 6; 572 exact = -4.19861192757157094e-20; 573 err = abs(r(i)-exact); 574 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 575 maxerr = max(maxerr,err); 576 n = 8; 577 l=-2; 578 r = g.rnlp(n,l); 579 i = 0; 580 exact = 3.52618364171646210e-03; 581 err = abs(r(i)-exact); 582 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 583 maxerr = max(maxerr,err); 584 i = 3; 585 exact = -4.65465182972746039e-18; 586 err = abs(r(i)-exact); 587 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 588 maxerr = max(maxerr,err); 589 n = 8; 590 l=-1; 591 r = g.rnlp(n,l); 592 i = 0; 593 exact = 3.52618471782244636e-03; 594 err = abs(r(i)-exact); 595 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 596 maxerr = max(maxerr,err); 597 i = 3; 598 exact = -1.55155139906883680e-18; 599 err = abs(r(i)-exact); 600 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 601 maxerr = max(maxerr,err); 602 n = 8; 603 l=0; 604 r = g.rnlp(n,l); 605 i = 0; 606 exact = 3.52618471782244636e-03; 607 err = abs(r(i)-exact); 608 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 609 maxerr = max(maxerr,err); 610 i = 3; 611 exact = 1.55155139906883680e-18; 612 err = abs(r(i)-exact); 613 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 614 maxerr = max(maxerr,err); 615 n = 8; 616 l=1; 617 r = g.rnlp(n,l); 618 i = 0; 619 exact = 3.52618364171646210e-03; 620 err = abs(r(i)-exact); 621 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 622 maxerr = max(maxerr,err); 623 i = 3; 624 exact = 4.65465182972746039e-18; 625 err = abs(r(i)-exact); 626 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 627 maxerr = max(maxerr,err); 628 n = 8; 629 l=2; 630 r = g.rnlp(n,l); 631 i = 0; 632 exact = 3.52618148950547801e-03; 633 err = abs(r(i)-exact); 634 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 635 maxerr = max(maxerr,err); 636 i = 3; 637 exact = 7.75774515795399146e-18; 638 err = abs(r(i)-exact); 639 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 640 maxerr = max(maxerr,err); 641 n = 12; 642 l=-2; 643 r = g.rnlp(n,l); 644 i = 0; 645 exact = 8.81546223067336716e-04; 646 err = abs(r(i)-exact); 647 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 648 maxerr = max(maxerr,err); 649 n = 12; 650 l=-1; 651 r = g.rnlp(n,l); 652 i = 0; 653 exact = 8.81546224118221681e-04; 654 err = abs(r(i)-exact); 655 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 656 maxerr = max(maxerr,err); 657 n = 12; 658 l=0; 659 r = g.rnlp(n,l); 660 i = 0; 661 exact = 8.81546224118221681e-04; 662 err = abs(r(i)-exact); 663 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 664 maxerr = max(maxerr,err); 665 n = 12; 666 l=1; 667 r = g.rnlp(n,l); 668 i = 0; 669 exact = 8.81546223067336716e-04; 670 err = abs(r(i)-exact); 671 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 672 maxerr = max(maxerr,err); 673 n = 12; 674 l=2; 675 r = g.rnlp(n,l); 676 i = 0; 677 exact = 8.81546220965566786e-04; 678 err = abs(r(i)-exact); 679 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 680 maxerr = max(maxerr,err); 681 n = 16; 682 l=-2; 683 r = g.rnlp(n,l); 684 i = 0; 685 exact = 2.20386556072144996e-04; 686 err = abs(r(i)-exact); 687 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 688 maxerr = max(maxerr,err); 689 n = 16; 690 l=-1; 691 r = g.rnlp(n,l); 692 i = 0; 693 exact = 2.20386556073171247e-04; 694 err = abs(r(i)-exact); 695 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 696 maxerr = max(maxerr,err); 697 n = 16; 698 l=0; 699 r = g.rnlp(n,l); 700 i = 0; 701 exact = 2.20386556073171247e-04; 702 err = abs(r(i)-exact); 703 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 704 maxerr = max(maxerr,err); 705 n = 16; 706 l=1; 707 r = g.rnlp(n,l); 708 i = 0; 709 exact = 2.20386556072144996e-04; 710 err = abs(r(i)-exact); 711 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 712 maxerr = max(maxerr,err); 713 n = 16; 714 l=2; 715 r = g.rnlp(n,l); 716 i = 0; 717 exact = 2.20386556070092493e-04; 718 err = abs(r(i)-exact); 719 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 720 maxerr = max(maxerr,err); 721 n = 20; 722 l=-2; 723 r = g.rnlp(n,l); 724 i = 0; 725 exact = 5.50966390183344046e-05; 726 err = abs(r(i)-exact); 727 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 728 maxerr = max(maxerr,err); 729 n = 20; 730 l=-1; 731 r = g.rnlp(n,l); 732 i = 0; 733 exact = 5.50966390183354075e-05; 734 err = abs(r(i)-exact); 735 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 736 maxerr = max(maxerr,err); 737 n = 20; 738 l=0; 739 r = g.rnlp(n,l); 740 i = 0; 741 exact = 5.50966390183354075e-05; 742 err = abs(r(i)-exact); 743 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 744 maxerr = max(maxerr,err); 745 n = 20; 746 l=1; 747 r = g.rnlp(n,l); 748 i = 0; 749 exact = 5.50966390183344046e-05; 750 err = abs(r(i)-exact); 751 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 752 maxerr = max(maxerr,err); 753 n = 20; 754 l=2; 755 r = g.rnlp(n,l); 756 i = 0; 757 exact = 5.50966390183323988e-05; 758 err = abs(r(i)-exact); 759 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 760 maxerr = max(maxerr,err); 761 } 762 { 763 double a = 1e0; 764 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 765 n = 0; 766 l=-2; 767 r = g.rnlp(n,l); 768 i = 0; 769 exact = 7.63107360346189367e-02; 770 err = abs(r(i)-exact); 771 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 772 maxerr = max(maxerr,err); 773 i = 3; 774 exact = 1.39326380508023582e-03; 775 err = abs(r(i)-exact); 776 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 777 maxerr = max(maxerr,err); 778 i = 6; 779 exact = -3.96841677858563145e-06; 780 err = abs(r(i)-exact); 781 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 782 maxerr = max(maxerr,err); 783 i = 9; 784 exact = 8.75661865077648466e-10; 785 err = abs(r(i)-exact); 786 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 787 maxerr = max(maxerr,err); 788 i = 12; 789 exact = 8.82410737907618627e-12; 790 err = abs(r(i)-exact); 791 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 792 maxerr = max(maxerr,err); 793 i = 15; 794 exact = -1.30949951473492010e-14; 795 err = abs(r(i)-exact); 796 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 797 maxerr = max(maxerr,err); 798 n = 0; 799 l=-1; 800 r = g.rnlp(n,l); 801 i = 0; 802 exact = 4.21350396474857447e-01; 803 err = abs(r(i)-exact); 804 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 805 maxerr = max(maxerr,err); 806 i = 3; 807 exact = -6.17983307932157278e-03; 808 err = abs(r(i)-exact); 809 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 810 maxerr = max(maxerr,err); 811 i = 6; 812 exact = 4.43199670152667480e-06; 813 err = abs(r(i)-exact); 814 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 815 maxerr = max(maxerr,err); 816 i = 9; 817 exact = 3.35647464179302069e-08; 818 err = abs(r(i)-exact); 819 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 820 maxerr = max(maxerr,err); 821 i = 12; 822 exact = -3.57967506112678285e-11; 823 err = abs(r(i)-exact); 824 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 825 maxerr = max(maxerr,err); 826 i = 15; 827 exact = -1.36118274898628887e-14; 828 err = abs(r(i)-exact); 829 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 830 maxerr = max(maxerr,err); 831 n = 0; 832 l=0; 833 r = g.rnlp(n,l); 834 i = 0; 835 exact = 4.21350396474857447e-01; 836 err = abs(r(i)-exact); 837 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 838 maxerr = max(maxerr,err); 839 i = 3; 840 exact = 6.17983307932157278e-03; 841 err = abs(r(i)-exact); 842 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 843 maxerr = max(maxerr,err); 844 i = 6; 845 exact = 4.43199670152667480e-06; 846 err = abs(r(i)-exact); 847 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 848 maxerr = max(maxerr,err); 849 i = 9; 850 exact = -3.35647464179302069e-08; 851 err = abs(r(i)-exact); 852 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 853 maxerr = max(maxerr,err); 854 i = 12; 855 exact = -3.57967506112678285e-11; 856 err = abs(r(i)-exact); 857 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 858 maxerr = max(maxerr,err); 859 i = 15; 860 exact = 1.36118274898628887e-14; 861 err = abs(r(i)-exact); 862 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 863 maxerr = max(maxerr,err); 864 n = 0; 865 l=1; 866 r = g.rnlp(n,l); 867 i = 0; 868 exact = 7.63107360346189367e-02; 869 err = abs(r(i)-exact); 870 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 871 maxerr = max(maxerr,err); 872 i = 3; 873 exact = -1.39326380508023582e-03; 874 err = abs(r(i)-exact); 875 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 876 maxerr = max(maxerr,err); 877 i = 6; 878 exact = -3.96841677858563145e-06; 879 err = abs(r(i)-exact); 880 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 881 maxerr = max(maxerr,err); 882 i = 9; 883 exact = -8.75661865077648466e-10; 884 err = abs(r(i)-exact); 885 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 886 maxerr = max(maxerr,err); 887 i = 12; 888 exact = 8.82410737907618627e-12; 889 err = abs(r(i)-exact); 890 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 891 maxerr = max(maxerr,err); 892 i = 15; 893 exact = 1.30949951473492010e-14; 894 err = abs(r(i)-exact); 895 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 896 maxerr = max(maxerr,err); 897 n = 0; 898 l=2; 899 r = g.rnlp(n,l); 900 i = 0; 901 exact = 2.32782224202434003e-03; 902 err = abs(r(i)-exact); 903 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 904 maxerr = max(maxerr,err); 905 i = 3; 906 exact = -3.68552701680425695e-04; 907 err = abs(r(i)-exact); 908 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 909 maxerr = max(maxerr,err); 910 i = 6; 911 exact = 4.13775061144892418e-07; 912 err = abs(r(i)-exact); 913 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 914 maxerr = max(maxerr,err); 915 i = 9; 916 exact = 1.60042507022451686e-09; 917 err = abs(r(i)-exact); 918 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 919 maxerr = max(maxerr,err); 920 i = 12; 921 exact = 1.96088571198545215e-12; 922 err = abs(r(i)-exact); 923 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 924 maxerr = max(maxerr,err); 925 i = 15; 926 exact = 1.41367897661257123e-15; 927 err = abs(r(i)-exact); 928 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 929 maxerr = max(maxerr,err); 930 n = 4; 931 l=-2; 932 r = g.rnlp(n,l); 933 i = 0; 934 exact = 1.39768454157893490e-01; 935 err = abs(r(i)-exact); 936 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 937 maxerr = max(maxerr,err); 938 i = 3; 939 exact = -1.20177712692920616e-07; 940 err = abs(r(i)-exact); 941 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 942 maxerr = max(maxerr,err); 943 i = 6; 944 exact = -3.94868219678417840e-13; 945 err = abs(r(i)-exact); 946 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 947 maxerr = max(maxerr,err); 948 i = 9; 949 exact = 7.31566593570543275e-20; 950 err = abs(r(i)-exact); 951 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 952 maxerr = max(maxerr,err); 953 n = 4; 954 l=-1; 955 r = g.rnlp(n,l); 956 i = 0; 957 exact = 1.40863955444774147e-01; 958 err = abs(r(i)-exact); 959 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 960 maxerr = max(maxerr,err); 961 i = 3; 962 exact = -4.05848287082555859e-08; 963 err = abs(r(i)-exact); 964 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 965 maxerr = max(maxerr,err); 966 i = 6; 967 exact = -4.17520807696470182e-13; 968 err = abs(r(i)-exact); 969 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 970 maxerr = max(maxerr,err); 971 i = 9; 972 exact = 2.51168860115838423e-20; 973 err = abs(r(i)-exact); 974 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 975 maxerr = max(maxerr,err); 976 n = 4; 977 l=0; 978 r = g.rnlp(n,l); 979 i = 0; 980 exact = 1.40863955444774147e-01; 981 err = abs(r(i)-exact); 982 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 983 maxerr = max(maxerr,err); 984 i = 3; 985 exact = 4.05848287082555859e-08; 986 err = abs(r(i)-exact); 987 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 988 maxerr = max(maxerr,err); 989 i = 6; 990 exact = -4.17520807696470182e-13; 991 err = abs(r(i)-exact); 992 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 993 maxerr = max(maxerr,err); 994 i = 9; 995 exact = -2.51168860115838423e-20; 996 err = abs(r(i)-exact); 997 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 998 maxerr = max(maxerr,err); 999 n = 4; 1000 l=1; 1001 r = g.rnlp(n,l); 1002 i = 0; 1003 exact = 1.39768454157893490e-01; 1004 err = abs(r(i)-exact); 1005 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1006 maxerr = max(maxerr,err); 1007 i = 3; 1008 exact = 1.20177712692920616e-07; 1009 err = abs(r(i)-exact); 1010 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1011 maxerr = max(maxerr,err); 1012 i = 6; 1013 exact = -3.94868219678417840e-13; 1014 err = abs(r(i)-exact); 1015 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1016 maxerr = max(maxerr,err); 1017 i = 9; 1018 exact = -7.32150795271814975e-20; 1019 err = abs(r(i)-exact); 1020 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1021 maxerr = max(maxerr,err); 1022 n = 4; 1023 l=2; 1024 r = g.rnlp(n,l); 1025 i = 0; 1026 exact = 1.37602944516084069e-01; 1027 err = abs(r(i)-exact); 1028 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1029 maxerr = max(maxerr,err); 1030 i = 3; 1031 exact = 1.95125817624941723e-07; 1032 err = abs(r(i)-exact); 1033 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1034 maxerr = max(maxerr,err); 1035 i = 6; 1036 exact = -3.51139113424138104e-13; 1037 err = abs(r(i)-exact); 1038 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1039 maxerr = max(maxerr,err); 1040 i = 9; 1041 exact = -1.15110485207894889e-19; 1042 err = abs(r(i)-exact); 1043 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1044 maxerr = max(maxerr,err); 1045 n = 8; 1046 l=-2; 1047 r = g.rnlp(n,l); 1048 i = 0; 1049 exact = 3.52605935399162088e-02; 1050 err = abs(r(i)-exact); 1051 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1052 maxerr = max(maxerr,err); 1053 i = 3; 1054 exact = -4.65437839301828836e-13; 1055 err = abs(r(i)-exact); 1056 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1057 maxerr = max(maxerr,err); 1058 n = 8; 1059 l=-1; 1060 r = g.rnlp(n,l); 1061 i = 0; 1062 exact = 3.52616696215172984e-02; 1063 err = abs(r(i)-exact); 1064 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1065 maxerr = max(maxerr,err); 1066 i = 3; 1067 exact = -1.55153837798979186e-13; 1068 err = abs(r(i)-exact); 1069 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1070 maxerr = max(maxerr,err); 1071 n = 8; 1072 l=0; 1073 r = g.rnlp(n,l); 1074 i = 0; 1075 exact = 3.52616696215172984e-02; 1076 err = abs(r(i)-exact); 1077 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1078 maxerr = max(maxerr,err); 1079 i = 3; 1080 exact = 1.55153837798979186e-13; 1081 err = abs(r(i)-exact); 1082 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1083 maxerr = max(maxerr,err); 1084 n = 8; 1085 l=1; 1086 r = g.rnlp(n,l); 1087 i = 0; 1088 exact = 3.52605935399162088e-02; 1089 err = abs(r(i)-exact); 1090 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1091 maxerr = max(maxerr,err); 1092 i = 3; 1093 exact = 4.65437839301828836e-13; 1094 err = abs(r(i)-exact); 1095 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1096 maxerr = max(maxerr,err); 1097 n = 8; 1098 l=2; 1099 r = g.rnlp(n,l); 1100 i = 0; 1101 exact = 3.52584414752294961e-02; 1102 err = abs(r(i)-exact); 1103 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1104 maxerr = max(maxerr,err); 1105 i = 3; 1106 exact = 7.75650823576525769e-13; 1107 err = abs(r(i)-exact); 1108 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1109 maxerr = max(maxerr,err); 1110 n = 12; 1111 l=-2; 1112 r = g.rnlp(n,l); 1113 i = 0; 1114 exact = 8.81546101690129993e-03; 1115 err = abs(r(i)-exact); 1116 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1117 maxerr = max(maxerr,err); 1118 i = 3; 1119 exact = -1.77560940279273474e-18; 1120 err = abs(r(i)-exact); 1121 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1122 maxerr = max(maxerr,err); 1123 n = 12; 1124 l=-1; 1125 r = g.rnlp(n,l); 1126 i = 0; 1127 exact = 8.81546206778619640e-03; 1128 err = abs(r(i)-exact); 1129 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1130 maxerr = max(maxerr,err); 1131 i = 3; 1132 exact = -5.91869918524889379e-19; 1133 err = abs(r(i)-exact); 1134 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1135 maxerr = max(maxerr,err); 1136 n = 12; 1137 l=0; 1138 r = g.rnlp(n,l); 1139 i = 0; 1140 exact = 8.81546206778619640e-03; 1141 err = abs(r(i)-exact); 1142 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1143 maxerr = max(maxerr,err); 1144 i = 3; 1145 exact = 5.91869918524889379e-19; 1146 err = abs(r(i)-exact); 1147 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1148 maxerr = max(maxerr,err); 1149 n = 12; 1150 l=1; 1151 r = g.rnlp(n,l); 1152 i = 0; 1153 exact = 8.81546101690129993e-03; 1154 err = abs(r(i)-exact); 1155 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1156 maxerr = max(maxerr,err); 1157 i = 3; 1158 exact = 1.77560940279273474e-18; 1159 err = abs(r(i)-exact); 1160 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1161 maxerr = max(maxerr,err); 1162 n = 12; 1163 l=2; 1164 r = g.rnlp(n,l); 1165 i = 0; 1166 exact = 8.81545891513188171e-03; 1167 err = abs(r(i)-exact); 1168 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1169 maxerr = max(maxerr,err); 1170 i = 3; 1171 exact = 2.95934782871507479e-18; 1172 err = abs(r(i)-exact); 1173 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1174 maxerr = max(maxerr,err); 1175 n = 16; 1176 l=-2; 1177 r = g.rnlp(n,l); 1178 i = 0; 1179 exact = 2.20386555953612550e-03; 1180 err = abs(r(i)-exact); 1181 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1182 maxerr = max(maxerr,err); 1183 n = 16; 1184 l=-1; 1185 r = g.rnlp(n,l); 1186 i = 0; 1187 exact = 2.20386556056238053e-03; 1188 err = abs(r(i)-exact); 1189 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1190 maxerr = max(maxerr,err); 1191 n = 16; 1192 l=0; 1193 r = g.rnlp(n,l); 1194 i = 0; 1195 exact = 2.20386556056238053e-03; 1196 err = abs(r(i)-exact); 1197 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1198 maxerr = max(maxerr,err); 1199 n = 16; 1200 l=1; 1201 r = g.rnlp(n,l); 1202 i = 0; 1203 exact = 2.20386555953612550e-03; 1204 err = abs(r(i)-exact); 1205 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1206 maxerr = max(maxerr,err); 1207 n = 16; 1208 l=2; 1209 r = g.rnlp(n,l); 1210 i = 0; 1211 exact = 2.20386555748361586e-03; 1212 err = abs(r(i)-exact); 1213 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1214 maxerr = max(maxerr,err); 1215 n = 20; 1216 l=-2; 1217 r = g.rnlp(n,l); 1218 i = 0; 1219 exact = 5.50966390182186538e-04; 1220 err = abs(r(i)-exact); 1221 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1222 maxerr = max(maxerr,err); 1223 n = 20; 1224 l=-1; 1225 r = g.rnlp(n,l); 1226 i = 0; 1227 exact = 5.50966390183188666e-04; 1228 err = abs(r(i)-exact); 1229 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1230 maxerr = max(maxerr,err); 1231 n = 20; 1232 l=0; 1233 r = g.rnlp(n,l); 1234 i = 0; 1235 exact = 5.50966390183188666e-04; 1236 err = abs(r(i)-exact); 1237 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1238 maxerr = max(maxerr,err); 1239 n = 20; 1240 l=1; 1241 r = g.rnlp(n,l); 1242 i = 0; 1243 exact = 5.50966390182186538e-04; 1244 err = abs(r(i)-exact); 1245 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1246 maxerr = max(maxerr,err); 1247 n = 20; 1248 l=2; 1249 r = g.rnlp(n,l); 1250 i = 0; 1251 exact = 5.50966390180182065e-04; 1252 err = abs(r(i)-exact); 1253 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1254 maxerr = max(maxerr,err); 1255 } 1256 { 1257 double a = 1e2; 1258 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 1259 n = 0; 1260 l=-1; 1261 r = g.rnlp(n,l); 1262 i = 0; 1263 exact = 5.00000000000000000e-01; 1264 err = abs(r(i)-exact); 1265 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1266 maxerr = max(maxerr,err); 1267 i = 3; 1268 exact = 6.10756752342258014e-01; 1269 err = abs(r(i)-exact); 1270 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1271 maxerr = max(maxerr,err); 1272 i = 6; 1273 exact = -1.93454443422216120e-02; 1274 err = abs(r(i)-exact); 1275 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1276 maxerr = max(maxerr,err); 1277 i = 9; 1278 exact = -6.74867032786444360e-02; 1279 err = abs(r(i)-exact); 1280 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1281 maxerr = max(maxerr,err); 1282 i = 12; 1283 exact = 1.24739852592635793e-02; 1284 err = abs(r(i)-exact); 1285 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1286 maxerr = max(maxerr,err); 1287 i = 15; 1288 exact = 1.43294933024935476e-03; 1289 err = abs(r(i)-exact); 1290 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1291 maxerr = max(maxerr,err); 1292 n = 0; 1293 l=0; 1294 r = g.rnlp(n,l); 1295 i = 0; 1296 exact = 5.00000000000000000e-01; 1297 err = abs(r(i)-exact); 1298 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1299 maxerr = max(maxerr,err); 1300 i = 3; 1301 exact = -6.10756752342258014e-01; 1302 err = abs(r(i)-exact); 1303 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1304 maxerr = max(maxerr,err); 1305 i = 6; 1306 exact = -1.93454443422216120e-02; 1307 err = abs(r(i)-exact); 1308 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1309 maxerr = max(maxerr,err); 1310 i = 9; 1311 exact = 6.74867032786444360e-02; 1312 err = abs(r(i)-exact); 1313 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1314 maxerr = max(maxerr,err); 1315 i = 12; 1316 exact = 1.24739852592635793e-02; 1317 err = abs(r(i)-exact); 1318 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1319 maxerr = max(maxerr,err); 1320 i = 15; 1321 exact = -1.43294933024935476e-03; 1322 err = abs(r(i)-exact); 1323 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1324 maxerr = max(maxerr,err); 1325 n = 4; 1326 l=-2; 1327 r = g.rnlp(n,l); 1328 i = 0; 1329 exact = 5.99318492136080461e-01; 1330 err = abs(r(i)-exact); 1331 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1332 maxerr = max(maxerr,err); 1333 i = 3; 1334 exact = -2.08696368094917623e-03; 1335 err = abs(r(i)-exact); 1336 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1337 maxerr = max(maxerr,err); 1338 i = 6; 1339 exact = 2.60447168323340892e-06; 1340 err = abs(r(i)-exact); 1341 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1342 maxerr = max(maxerr,err); 1343 i = 9; 1344 exact = -9.04034504985510627e-10; 1345 err = abs(r(i)-exact); 1346 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1347 maxerr = max(maxerr,err); 1348 i = 12; 1349 exact = -2.14998633928712021e-14; 1350 err = abs(r(i)-exact); 1351 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1352 maxerr = max(maxerr,err); 1353 i = 15; 1354 exact = 5.58835531816329497e-17; 1355 err = abs(r(i)-exact); 1356 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1357 maxerr = max(maxerr,err); 1358 n = 4; 1359 l=-1; 1360 r = g.rnlp(n,l); 1361 i = 0; 1362 exact = 1.24648176437683600e+00; 1363 err = abs(r(i)-exact); 1364 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1365 maxerr = max(maxerr,err); 1366 i = 3; 1367 exact = -3.27908149234218621e-03; 1368 err = abs(r(i)-exact); 1369 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1370 maxerr = max(maxerr,err); 1371 i = 6; 1372 exact = -1.67276950422990212e-06; 1373 err = abs(r(i)-exact); 1374 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1375 maxerr = max(maxerr,err); 1376 i = 9; 1377 exact = 1.64624909472826329e-09; 1378 err = abs(r(i)-exact); 1379 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1380 maxerr = max(maxerr,err); 1381 i = 12; 1382 exact = 6.70688497777513430e-15; 1383 err = abs(r(i)-exact); 1384 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1385 maxerr = max(maxerr,err); 1386 i = 15; 1387 exact = -9.05569878193988709e-17; 1388 err = abs(r(i)-exact); 1389 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1390 maxerr = max(maxerr,err); 1391 n = 4; 1392 l=0; 1393 r = g.rnlp(n,l); 1394 i = 0; 1395 exact = 1.24648176437683600e+00; 1396 err = abs(r(i)-exact); 1397 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1398 maxerr = max(maxerr,err); 1399 i = 3; 1400 exact = 3.27908149234218621e-03; 1401 err = abs(r(i)-exact); 1402 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1403 maxerr = max(maxerr,err); 1404 i = 6; 1405 exact = -1.67276950422990212e-06; 1406 err = abs(r(i)-exact); 1407 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1408 maxerr = max(maxerr,err); 1409 i = 9; 1410 exact = -1.64624909472826329e-09; 1411 err = abs(r(i)-exact); 1412 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1413 maxerr = max(maxerr,err); 1414 i = 12; 1415 exact = 6.70688497777513430e-15; 1416 err = abs(r(i)-exact); 1417 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1418 maxerr = max(maxerr,err); 1419 i = 15; 1420 exact = 9.05569878193988709e-17; 1421 err = abs(r(i)-exact); 1422 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1423 maxerr = max(maxerr,err); 1424 n = 4; 1425 l=1; 1426 r = g.rnlp(n,l); 1427 i = 0; 1428 exact = 5.99318492136080461e-01; 1429 err = abs(r(i)-exact); 1430 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1431 maxerr = max(maxerr,err); 1432 i = 3; 1433 exact = 2.08696368094917623e-03; 1434 err = abs(r(i)-exact); 1435 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1436 maxerr = max(maxerr,err); 1437 i = 6; 1438 exact = 2.60447168323340892e-06; 1439 err = abs(r(i)-exact); 1440 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1441 maxerr = max(maxerr,err); 1442 i = 9; 1443 exact = 9.04034504985510627e-10; 1444 err = abs(r(i)-exact); 1445 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1446 maxerr = max(maxerr,err); 1447 i = 12; 1448 exact = -2.14998633928712021e-14; 1449 err = abs(r(i)-exact); 1450 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1451 maxerr = max(maxerr,err); 1452 i = 15; 1453 exact = -5.58835531816329497e-17; 1454 err = abs(r(i)-exact); 1455 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1456 maxerr = max(maxerr,err); 1457 n = 4; 1458 l=2; 1459 r = g.rnlp(n,l); 1460 i = 0; 1461 exact = 1.38179858827323476e-01; 1462 err = abs(r(i)-exact); 1463 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1464 maxerr = max(maxerr,err); 1465 i = 3; 1466 exact = -1.04763936483394230e-03; 1467 err = abs(r(i)-exact); 1468 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1469 maxerr = max(maxerr,err); 1470 i = 6; 1471 exact = -8.32772220224538394e-07; 1472 err = abs(r(i)-exact); 1473 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1474 maxerr = max(maxerr,err); 1475 i = 9; 1476 exact = -1.89437614141419528e-10; 1477 err = abs(r(i)-exact); 1478 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1479 maxerr = max(maxerr,err); 1480 i = 12; 1481 exact = 2.88769508210870525e-14; 1482 err = abs(r(i)-exact); 1483 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1484 maxerr = max(maxerr,err); 1485 i = 15; 1486 exact = 2.21803339122174113e-17; 1487 err = abs(r(i)-exact); 1488 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1489 maxerr = max(maxerr,err); 1490 n = 8; 1491 l=-2; 1492 r = g.rnlp(n,l); 1493 i = 0; 1494 exact = 3.51365573776570017e-01; 1495 err = abs(r(i)-exact); 1496 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1497 maxerr = max(maxerr,err); 1498 i = 3; 1499 exact = -4.62710590578847031e-08; 1500 err = abs(r(i)-exact); 1501 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1502 maxerr = max(maxerr,err); 1503 i = 6; 1504 exact = -6.11623077961541036e-14; 1505 err = abs(r(i)-exact); 1506 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1507 maxerr = max(maxerr,err); 1508 n = 8; 1509 l=-1; 1510 r = g.rnlp(n,l); 1511 i = 0; 1512 exact = 3.52439220749447890e-01; 1513 err = abs(r(i)-exact); 1514 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1515 maxerr = max(maxerr,err); 1516 i = 3; 1517 exact = -1.55023685987324124e-08; 1518 err = abs(r(i)-exact); 1519 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1520 maxerr = max(maxerr,err); 1521 i = 6; 1522 exact = -6.24931708968097842e-14; 1523 err = abs(r(i)-exact); 1524 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1525 maxerr = max(maxerr,err); 1526 n = 8; 1527 l=0; 1528 r = g.rnlp(n,l); 1529 i = 0; 1530 exact = 3.52439220749447890e-01; 1531 err = abs(r(i)-exact); 1532 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1533 maxerr = max(maxerr,err); 1534 i = 3; 1535 exact = 1.55023685987324124e-08; 1536 err = abs(r(i)-exact); 1537 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1538 maxerr = max(maxerr,err); 1539 i = 6; 1540 exact = -6.24931708968097842e-14; 1541 err = abs(r(i)-exact); 1542 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1543 maxerr = max(maxerr,err); 1544 n = 8; 1545 l=1; 1546 r = g.rnlp(n,l); 1547 i = 0; 1548 exact = 3.51365573776570017e-01; 1549 err = abs(r(i)-exact); 1550 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1551 maxerr = max(maxerr,err); 1552 i = 3; 1553 exact = 4.62710590578847031e-08; 1554 err = abs(r(i)-exact); 1555 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1556 maxerr = max(maxerr,err); 1557 i = 6; 1558 exact = -6.11623077961541036e-14; 1559 err = abs(r(i)-exact); 1560 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1561 maxerr = max(maxerr,err); 1562 n = 8; 1563 l=2; 1564 r = g.rnlp(n,l); 1565 i = 0; 1566 exact = 3.49228081923241285e-01; 1567 err = abs(r(i)-exact); 1568 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1569 maxerr = max(maxerr,err); 1570 i = 3; 1571 exact = 7.63366360227468385e-08; 1572 err = abs(r(i)-exact); 1573 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1574 maxerr = max(maxerr,err); 1575 i = 6; 1576 exact = -5.85369846273186721e-14; 1577 err = abs(r(i)-exact); 1578 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1579 maxerr = max(maxerr,err); 1580 n = 12; 1581 l=-2; 1582 r = g.rnlp(n,l); 1583 i = 0; 1584 exact = 8.81533964065561448e-02; 1585 err = abs(r(i)-exact); 1586 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1587 maxerr = max(maxerr,err); 1588 i = 3; 1589 exact = -1.77556865689395017e-13; 1590 err = abs(r(i)-exact); 1591 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1592 maxerr = max(maxerr,err); 1593 n = 12; 1594 l=-1; 1595 r = g.rnlp(n,l); 1596 i = 0; 1597 exact = 8.81544472821516045e-02; 1598 err = abs(r(i)-exact); 1599 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1600 maxerr = max(maxerr,err); 1601 i = 3; 1602 exact = -5.91867978227500295e-14; 1603 err = abs(r(i)-exact); 1604 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1605 maxerr = max(maxerr,err); 1606 n = 12; 1607 l=0; 1608 r = g.rnlp(n,l); 1609 i = 0; 1610 exact = 8.81544472821516045e-02; 1611 err = abs(r(i)-exact); 1612 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1613 maxerr = max(maxerr,err); 1614 i = 3; 1615 exact = 5.91867978227500295e-14; 1616 err = abs(r(i)-exact); 1617 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1618 maxerr = max(maxerr,err); 1619 n = 12; 1620 l=1; 1621 r = g.rnlp(n,l); 1622 i = 0; 1623 exact = 8.81533964065561448e-02; 1624 err = abs(r(i)-exact); 1625 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1626 maxerr = max(maxerr,err); 1627 i = 3; 1628 exact = 1.77556865689395017e-13; 1629 err = abs(r(i)-exact); 1630 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1631 maxerr = max(maxerr,err); 1632 n = 12; 1633 l=2; 1634 r = g.rnlp(n,l); 1635 i = 0; 1636 exact = 8.81512946929470659e-02; 1637 err = abs(r(i)-exact); 1638 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1639 maxerr = max(maxerr,err); 1640 i = 3; 1641 exact = 2.95916350513851956e-13; 1642 err = abs(r(i)-exact); 1643 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1644 maxerr = max(maxerr,err); 1645 n = 16; 1646 l=-2; 1647 r = g.rnlp(n,l); 1648 i = 0; 1649 exact = 2.20386544100369154e-02; 1650 err = abs(r(i)-exact); 1651 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1652 maxerr = max(maxerr,err); 1653 i = 3; 1654 exact = -6.77341329040006257e-19; 1655 err = abs(r(i)-exact); 1656 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1657 maxerr = max(maxerr,err); 1658 n = 16; 1659 l=-1; 1660 r = g.rnlp(n,l); 1661 i = 0; 1662 exact = 2.20386554362917535e-02; 1663 err = abs(r(i)-exact); 1664 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1665 maxerr = max(maxerr,err); 1666 i = 3; 1667 exact = -2.25780460536204789e-19; 1668 err = abs(r(i)-exact); 1669 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1670 maxerr = max(maxerr,err); 1671 n = 16; 1672 l=0; 1673 r = g.rnlp(n,l); 1674 i = 0; 1675 exact = 2.20386554362917535e-02; 1676 err = abs(r(i)-exact); 1677 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1678 maxerr = max(maxerr,err); 1679 i = 3; 1680 exact = 2.25780460536204789e-19; 1681 err = abs(r(i)-exact); 1682 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1683 maxerr = max(maxerr,err); 1684 n = 16; 1685 l=1; 1686 r = g.rnlp(n,l); 1687 i = 0; 1688 exact = 2.20386544100369154e-02; 1689 err = abs(r(i)-exact); 1690 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1691 maxerr = max(maxerr,err); 1692 i = 3; 1693 exact = 6.77341329040006257e-19; 1694 err = abs(r(i)-exact); 1695 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1696 maxerr = max(maxerr,err); 1697 n = 16; 1698 l=2; 1699 r = g.rnlp(n,l); 1700 i = 0; 1701 exact = 2.20386523575273816e-02; 1702 err = abs(r(i)-exact); 1703 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1704 maxerr = max(maxerr,err); 1705 i = 3; 1706 exact = 1.12890203983799996e-18; 1707 err = abs(r(i)-exact); 1708 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1709 maxerr = max(maxerr,err); 1710 n = 20; 1711 l=-2; 1712 r = g.rnlp(n,l); 1713 i = 0; 1714 exact = 5.50966390066432148e-03; 1715 err = abs(r(i)-exact); 1716 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1717 maxerr = max(maxerr,err); 1718 n = 20; 1719 l=-1; 1720 r = g.rnlp(n,l); 1721 i = 0; 1722 exact = 5.50966390166652414e-03; 1723 err = abs(r(i)-exact); 1724 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1725 maxerr = max(maxerr,err); 1726 n = 20; 1727 l=0; 1728 r = g.rnlp(n,l); 1729 i = 0; 1730 exact = 5.50966390166652414e-03; 1731 err = abs(r(i)-exact); 1732 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1733 maxerr = max(maxerr,err); 1734 n = 20; 1735 l=1; 1736 r = g.rnlp(n,l); 1737 i = 0; 1738 exact = 5.50966390066432148e-03; 1739 err = abs(r(i)-exact); 1740 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1741 maxerr = max(maxerr,err); 1742 n = 20; 1743 l=2; 1744 r = g.rnlp(n,l); 1745 i = 0; 1746 exact = 5.50966389865991790e-03; 1747 err = abs(r(i)-exact); 1748 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1749 maxerr = max(maxerr,err); 1750 } 1751 { 1752 double a = 1e4; 1753 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 1754 n = 0; 1755 l=-1; 1756 r = g.rnlp(n,l); 1757 i = 0; 1758 exact = 5.00000000000000000e-01; 1759 err = abs(r(i)-exact); 1760 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1761 maxerr = max(maxerr,err); 1762 i = 3; 1763 exact = 1.23528272214066237e+00; 1764 err = abs(r(i)-exact); 1765 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1766 maxerr = max(maxerr,err); 1767 i = 6; 1768 exact = 1.41178217654244809e+00; 1769 err = abs(r(i)-exact); 1770 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1771 maxerr = max(maxerr,err); 1772 i = 9; 1773 exact = 1.26724337383508057e+00; 1774 err = abs(r(i)-exact); 1775 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1776 maxerr = max(maxerr,err); 1777 i = 12; 1778 exact = 9.24808666820860048e-01; 1779 err = abs(r(i)-exact); 1780 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1781 maxerr = max(maxerr,err); 1782 i = 15; 1783 exact = 5.16058662037806704e-01; 1784 err = abs(r(i)-exact); 1785 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1786 maxerr = max(maxerr,err); 1787 n = 0; 1788 l=0; 1789 r = g.rnlp(n,l); 1790 i = 0; 1791 exact = 5.00000000000000000e-01; 1792 err = abs(r(i)-exact); 1793 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1794 maxerr = max(maxerr,err); 1795 i = 3; 1796 exact = -1.23528272214066237e+00; 1797 err = abs(r(i)-exact); 1798 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1799 maxerr = max(maxerr,err); 1800 i = 6; 1801 exact = 1.41178217654244809e+00; 1802 err = abs(r(i)-exact); 1803 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1804 maxerr = max(maxerr,err); 1805 i = 9; 1806 exact = -1.26724337383508057e+00; 1807 err = abs(r(i)-exact); 1808 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1809 maxerr = max(maxerr,err); 1810 i = 12; 1811 exact = 9.24808666820860048e-01; 1812 err = abs(r(i)-exact); 1813 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1814 maxerr = max(maxerr,err); 1815 i = 15; 1816 exact = -5.16058662037806704e-01; 1817 err = abs(r(i)-exact); 1818 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1819 maxerr = max(maxerr,err); 1820 n = 4; 1821 l=-2; 1822 r = g.rnlp(n,l); 1823 i = 0; 1824 exact = 1.93406055705484376e-18; 1825 err = abs(r(i)-exact); 1826 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1827 maxerr = max(maxerr,err); 1828 i = 3; 1829 exact = 4.39497184635340733e-18; 1830 err = abs(r(i)-exact); 1831 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1832 maxerr = max(maxerr,err); 1833 i = 6; 1834 exact = 4.08935561473207502e-18; 1835 err = abs(r(i)-exact); 1836 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1837 maxerr = max(maxerr,err); 1838 i = 9; 1839 exact = 2.66300430413872028e-18; 1840 err = abs(r(i)-exact); 1841 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1842 maxerr = max(maxerr,err); 1843 i = 12; 1844 exact = 1.33508873895376489e-18; 1845 err = abs(r(i)-exact); 1846 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1847 maxerr = max(maxerr,err); 1848 i = 15; 1849 exact = 5.08640731141814058e-19; 1850 err = abs(r(i)-exact); 1851 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1852 maxerr = max(maxerr,err); 1853 n = 4; 1854 l=-1; 1855 r = g.rnlp(n,l); 1856 i = 0; 1857 exact = 2.00000000000000000e+00; 1858 err = abs(r(i)-exact); 1859 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1860 maxerr = max(maxerr,err); 1861 i = 3; 1862 exact = 1.34688631911635626e+00; 1863 err = abs(r(i)-exact); 1864 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1865 maxerr = max(maxerr,err); 1866 i = 6; 1867 exact = -3.48488099568184218e-01; 1868 err = abs(r(i)-exact); 1869 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1870 maxerr = max(maxerr,err); 1871 i = 9; 1872 exact = 2.62343309407099060e-02; 1873 err = abs(r(i)-exact); 1874 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1875 maxerr = max(maxerr,err); 1876 i = 12; 1877 exact = 1.42392358397174803e-03; 1878 err = abs(r(i)-exact); 1879 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1880 maxerr = max(maxerr,err); 1881 i = 15; 1882 exact = -5.74390741499019122e-04; 1883 err = abs(r(i)-exact); 1884 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1885 maxerr = max(maxerr,err); 1886 n = 4; 1887 l=0; 1888 r = g.rnlp(n,l); 1889 i = 0; 1890 exact = 2.00000000000000000e+00; 1891 err = abs(r(i)-exact); 1892 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1893 maxerr = max(maxerr,err); 1894 i = 3; 1895 exact = -1.34688631911635626e+00; 1896 err = abs(r(i)-exact); 1897 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1898 maxerr = max(maxerr,err); 1899 i = 6; 1900 exact = -3.48488099568184218e-01; 1901 err = abs(r(i)-exact); 1902 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1903 maxerr = max(maxerr,err); 1904 i = 9; 1905 exact = -2.62343309407099060e-02; 1906 err = abs(r(i)-exact); 1907 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1908 maxerr = max(maxerr,err); 1909 i = 12; 1910 exact = 1.42392358397174803e-03; 1911 err = abs(r(i)-exact); 1912 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1913 maxerr = max(maxerr,err); 1914 i = 15; 1915 exact = 5.74390741499019122e-04; 1916 err = abs(r(i)-exact); 1917 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1918 maxerr = max(maxerr,err); 1919 n = 4; 1920 l=1; 1921 r = g.rnlp(n,l); 1922 i = 0; 1923 exact = 1.93406055705484376e-18; 1924 err = abs(r(i)-exact); 1925 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1926 maxerr = max(maxerr,err); 1927 i = 3; 1928 exact = -4.39497184635340733e-18; 1929 err = abs(r(i)-exact); 1930 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1931 maxerr = max(maxerr,err); 1932 i = 6; 1933 exact = 4.08935561473207502e-18; 1934 err = abs(r(i)-exact); 1935 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1936 maxerr = max(maxerr,err); 1937 i = 9; 1938 exact = -2.66300430413872028e-18; 1939 err = abs(r(i)-exact); 1940 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1941 maxerr = max(maxerr,err); 1942 i = 12; 1943 exact = 1.33508873895567407e-18; 1944 err = abs(r(i)-exact); 1945 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1946 maxerr = max(maxerr,err); 1947 i = 15; 1948 exact = -5.08640731150656195e-19; 1949 err = abs(r(i)-exact); 1950 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1951 maxerr = max(maxerr,err); 1952 n = 8; 1953 l=-2; 1954 r = g.rnlp(n,l); 1955 i = 0; 1956 exact = 2.49146408254436480e+00; 1957 err = abs(r(i)-exact); 1958 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1959 maxerr = max(maxerr,err); 1960 i = 3; 1961 exact = -2.50647102869495280e-03; 1962 err = abs(r(i)-exact); 1963 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1964 maxerr = max(maxerr,err); 1965 i = 6; 1966 exact = 2.64278820712894470e-07; 1967 err = abs(r(i)-exact); 1968 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1969 maxerr = max(maxerr,err); 1970 i = 9; 1971 exact = 3.15088994971621284e-11; 1972 err = abs(r(i)-exact); 1973 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1974 maxerr = max(maxerr,err); 1975 i = 12; 1976 exact = -3.70274884997262088e-15; 1977 err = abs(r(i)-exact); 1978 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1979 maxerr = max(maxerr,err); 1980 i = 15; 1981 exact = 2.02622223000723244e-20; 1982 err = abs(r(i)-exact); 1983 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1984 maxerr = max(maxerr,err); 1985 n = 8; 1986 l=-1; 1987 r = g.rnlp(n,l); 1988 i = 0; 1989 exact = 3.35475425674241334e+00; 1990 err = abs(r(i)-exact); 1991 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1992 maxerr = max(maxerr,err); 1993 i = 3; 1994 exact = -1.42579697710634181e-03; 1995 err = abs(r(i)-exact); 1996 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 1997 maxerr = max(maxerr,err); 1998 i = 6; 1999 exact = -4.61160183056987646e-07; 2000 err = abs(r(i)-exact); 2001 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2002 maxerr = max(maxerr,err); 2003 i = 9; 2004 exact = 4.87550411609523399e-11; 2005 err = abs(r(i)-exact); 2006 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2007 maxerr = max(maxerr,err); 2008 i = 12; 2009 exact = 2.47120513789010578e-15; 2010 err = abs(r(i)-exact); 2011 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2012 maxerr = max(maxerr,err); 2013 i = 15; 2014 exact = -1.86594916521298455e-19; 2015 err = abs(r(i)-exact); 2016 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2017 maxerr = max(maxerr,err); 2018 n = 8; 2019 l=0; 2020 r = g.rnlp(n,l); 2021 i = 0; 2022 exact = 3.35475425674241334e+00; 2023 err = abs(r(i)-exact); 2024 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2025 maxerr = max(maxerr,err); 2026 i = 3; 2027 exact = 1.42579697710634181e-03; 2028 err = abs(r(i)-exact); 2029 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2030 maxerr = max(maxerr,err); 2031 i = 6; 2032 exact = -4.61160183056987646e-07; 2033 err = abs(r(i)-exact); 2034 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2035 maxerr = max(maxerr,err); 2036 i = 9; 2037 exact = -4.87550411609523399e-11; 2038 err = abs(r(i)-exact); 2039 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2040 maxerr = max(maxerr,err); 2041 i = 12; 2042 exact = 2.47120513789010578e-15; 2043 err = abs(r(i)-exact); 2044 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2045 maxerr = max(maxerr,err); 2046 i = 15; 2047 exact = 1.86594916521298455e-19; 2048 err = abs(r(i)-exact); 2049 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2050 maxerr = max(maxerr,err); 2051 n = 8; 2052 l=1; 2053 r = g.rnlp(n,l); 2054 i = 0; 2055 exact = 2.49146408254436480e+00; 2056 err = abs(r(i)-exact); 2057 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2058 maxerr = max(maxerr,err); 2059 i = 3; 2060 exact = 2.50647102869495280e-03; 2061 err = abs(r(i)-exact); 2062 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2063 maxerr = max(maxerr,err); 2064 i = 6; 2065 exact = 2.64278820712894470e-07; 2066 err = abs(r(i)-exact); 2067 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2068 maxerr = max(maxerr,err); 2069 i = 9; 2070 exact = -3.15088994971621284e-11; 2071 err = abs(r(i)-exact); 2072 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2073 maxerr = max(maxerr,err); 2074 i = 12; 2075 exact = -3.70274884997262088e-15; 2076 err = abs(r(i)-exact); 2077 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2078 maxerr = max(maxerr,err); 2079 i = 15; 2080 exact = -2.02622223000727306e-20; 2081 err = abs(r(i)-exact); 2082 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2083 maxerr = max(maxerr,err); 2084 n = 8; 2085 l=2; 2086 r = g.rnlp(n,l); 2087 i = 0; 2088 exact = 1.37408108427214515e+00; 2089 err = abs(r(i)-exact); 2090 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2091 maxerr = max(maxerr,err); 2092 i = 3; 2093 exact = 1.09038475936154631e-03; 2094 err = abs(r(i)-exact); 2095 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2096 maxerr = max(maxerr,err); 2097 i = 6; 2098 exact = 3.68884880267772498e-07; 2099 err = abs(r(i)-exact); 2100 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2101 maxerr = max(maxerr,err); 2102 i = 9; 2103 exact = 3.66150600926587787e-11; 2104 err = abs(r(i)-exact); 2105 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2106 maxerr = max(maxerr,err); 2107 i = 12; 2108 exact = 3.77722151485774017e-16; 2109 err = abs(r(i)-exact); 2110 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2111 maxerr = max(maxerr,err); 2112 i = 15; 2113 exact = -1.03592207658699442e-19; 2114 err = abs(r(i)-exact); 2115 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2116 maxerr = max(maxerr,err); 2117 n = 12; 2118 l=-2; 2119 r = g.rnlp(n,l); 2120 i = 0; 2121 exact = 8.80321162122826961e-01; 2122 err = abs(r(i)-exact); 2123 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2124 maxerr = max(maxerr,err); 2125 i = 3; 2126 exact = -1.77149821469458344e-08; 2127 err = abs(r(i)-exact); 2128 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2129 maxerr = max(maxerr,err); 2130 i = 6; 2131 exact = -9.25065232468101948e-15; 2132 err = abs(r(i)-exact); 2133 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2134 maxerr = max(maxerr,err); 2135 n = 12; 2136 l=-1; 2137 r = g.rnlp(n,l); 2138 i = 0; 2139 exact = 8.81371108109231360e-01; 2140 err = abs(r(i)-exact); 2141 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2142 maxerr = max(maxerr,err); 2143 i = 3; 2144 exact = -5.91673982825609260e-09; 2145 err = abs(r(i)-exact); 2146 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2147 maxerr = max(maxerr,err); 2148 i = 6; 2149 exact = -9.32840028258958169e-15; 2150 err = abs(r(i)-exact); 2151 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2152 maxerr = max(maxerr,err); 2153 n = 12; 2154 l=0; 2155 r = g.rnlp(n,l); 2156 i = 0; 2157 exact = 8.81371108109231360e-01; 2158 err = abs(r(i)-exact); 2159 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2160 maxerr = max(maxerr,err); 2161 i = 3; 2162 exact = 5.91673982825609260e-09; 2163 err = abs(r(i)-exact); 2164 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2165 maxerr = max(maxerr,err); 2166 i = 6; 2167 exact = -9.32840028258958169e-15; 2168 err = abs(r(i)-exact); 2169 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2170 maxerr = max(maxerr,err); 2171 n = 12; 2172 l=1; 2173 r = g.rnlp(n,l); 2174 i = 0; 2175 exact = 8.80321162122826961e-01; 2176 err = abs(r(i)-exact); 2177 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2178 maxerr = max(maxerr,err); 2179 i = 3; 2180 exact = 1.77149821469458344e-08; 2181 err = abs(r(i)-exact); 2182 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2183 maxerr = max(maxerr,err); 2184 i = 6; 2185 exact = -9.25065232468101948e-15; 2186 err = abs(r(i)-exact); 2187 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2188 maxerr = max(maxerr,err); 2189 n = 12; 2190 l=2; 2191 r = g.rnlp(n,l); 2192 i = 0; 2193 exact = 8.78225020949705004e-01; 2194 err = abs(r(i)-exact); 2195 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2196 maxerr = max(maxerr,err); 2197 i = 3; 2198 exact = 2.94078061354701635e-08; 2199 err = abs(r(i)-exact); 2200 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2201 maxerr = max(maxerr,err); 2202 i = 6; 2203 exact = -9.09598921287351880e-15; 2204 err = abs(r(i)-exact); 2205 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2206 maxerr = max(maxerr,err); 2207 n = 16; 2208 l=-2; 2209 r = g.rnlp(n,l); 2210 i = 0; 2211 exact = 2.20385358779692841e-01; 2212 err = abs(r(i)-exact); 2213 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2214 maxerr = max(maxerr,err); 2215 i = 3; 2216 exact = -6.77335257389880792e-14; 2217 err = abs(r(i)-exact); 2218 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2219 maxerr = max(maxerr,err); 2220 n = 16; 2221 l=-1; 2222 r = g.rnlp(n,l); 2223 i = 0; 2224 exact = 2.20386385030982762e-01; 2225 err = abs(r(i)-exact); 2226 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2227 maxerr = max(maxerr,err); 2228 i = 3; 2229 exact = -2.25780171409048271e-14; 2230 err = abs(r(i)-exact); 2231 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2232 maxerr = max(maxerr,err); 2233 n = 16; 2234 l=0; 2235 r = g.rnlp(n,l); 2236 i = 0; 2237 exact = 2.20386385030982762e-01; 2238 err = abs(r(i)-exact); 2239 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2240 maxerr = max(maxerr,err); 2241 i = 3; 2242 exact = 2.25780171409048271e-14; 2243 err = abs(r(i)-exact); 2244 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2245 maxerr = max(maxerr,err); 2246 n = 16; 2247 l=1; 2248 r = g.rnlp(n,l); 2249 i = 0; 2250 exact = 2.20385358779692841e-01; 2251 err = abs(r(i)-exact); 2252 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2253 maxerr = max(maxerr,err); 2254 i = 3; 2255 exact = 6.77335257389880792e-14; 2256 err = abs(r(i)-exact); 2257 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2258 maxerr = max(maxerr,err); 2259 n = 16; 2260 l=2; 2261 r = g.rnlp(n,l); 2262 i = 0; 2263 exact = 2.20383306291449504e-01; 2264 err = abs(r(i)-exact); 2265 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2266 maxerr = max(maxerr,err); 2267 i = 3; 2268 exact = 1.12887457303027408e-13; 2269 err = abs(r(i)-exact); 2270 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2271 maxerr = max(maxerr,err); 2272 n = 20; 2273 l=-2; 2274 r = g.rnlp(n,l); 2275 i = 0; 2276 exact = 5.50966378490998915e-02; 2277 err = abs(r(i)-exact); 2278 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2279 maxerr = max(maxerr,err); 2280 i = 3; 2281 exact = -2.58385225835037511e-19; 2282 err = abs(r(i)-exact); 2283 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2284 maxerr = max(maxerr,err); 2285 n = 20; 2286 l=-1; 2287 r = g.rnlp(n,l); 2288 i = 0; 2289 exact = 5.50966388513019073e-02; 2290 err = abs(r(i)-exact); 2291 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2292 maxerr = max(maxerr,err); 2293 i = 3; 2294 exact = -8.61284112227903377e-20; 2295 err = abs(r(i)-exact); 2296 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2297 maxerr = max(maxerr,err); 2298 n = 20; 2299 l=0; 2300 r = g.rnlp(n,l); 2301 i = 0; 2302 exact = 5.50966388513019073e-02; 2303 err = abs(r(i)-exact); 2304 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2305 maxerr = max(maxerr,err); 2306 i = 3; 2307 exact = 8.61284112227903377e-20; 2308 err = abs(r(i)-exact); 2309 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2310 maxerr = max(maxerr,err); 2311 n = 20; 2312 l=1; 2313 r = g.rnlp(n,l); 2314 i = 0; 2315 exact = 5.50966378490998915e-02; 2316 err = abs(r(i)-exact); 2317 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2318 maxerr = max(maxerr,err); 2319 i = 3; 2320 exact = 2.58385225835037511e-19; 2321 err = abs(r(i)-exact); 2322 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2323 maxerr = max(maxerr,err); 2324 n = 20; 2325 l=2; 2326 r = g.rnlp(n,l); 2327 i = 0; 2328 exact = 5.50966358446959223e-02; 2329 err = abs(r(i)-exact); 2330 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2331 maxerr = max(maxerr,err); 2332 i = 3; 2333 exact = 4.30642016947285981e-19; 2334 err = abs(r(i)-exact); 2335 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2336 maxerr = max(maxerr,err); 2337 } 2338 { 2339 double a = 1e6; 2340 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 2341 n = 0; 2342 l=-1; 2343 r = g.rnlp(n,l); 2344 i = 0; 2345 exact = 5.00000000000000000e-01; 2346 err = abs(r(i)-exact); 2347 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2348 maxerr = max(maxerr,err); 2349 i = 3; 2350 exact = 1.31393925175791226e+00; 2351 err = abs(r(i)-exact); 2352 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2353 maxerr = max(maxerr,err); 2354 i = 6; 2355 exact = 1.76043401220533680e+00; 2356 err = abs(r(i)-exact); 2357 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2358 maxerr = max(maxerr,err); 2359 i = 9; 2360 exact = 2.07091850787566534e+00; 2361 err = abs(r(i)-exact); 2362 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2363 maxerr = max(maxerr,err); 2364 i = 12; 2365 exact = 2.28733404941548857e+00; 2366 err = abs(r(i)-exact); 2367 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2368 maxerr = max(maxerr,err); 2369 i = 15; 2370 exact = 2.42623389685600399e+00; 2371 err = abs(r(i)-exact); 2372 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2373 maxerr = max(maxerr,err); 2374 n = 0; 2375 l=0; 2376 r = g.rnlp(n,l); 2377 i = 9; 2378 exact = -2.07091850787566534e+00; 2379 err = abs(r(i)-exact); 2380 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2381 maxerr = max(maxerr,err); 2382 i = 12; 2383 exact = 2.28733404941548857e+00; 2384 err = abs(r(i)-exact); 2385 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2386 maxerr = max(maxerr,err); 2387 i = 15; 2388 exact = -2.42623389685600399e+00; 2389 err = abs(r(i)-exact); 2390 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2391 maxerr = max(maxerr,err); 2392 n = 4; 2393 l=0; 2394 r = g.rnlp(n,l); 2395 i = 9; 2396 exact = -3.50842272140536116e+00; 2397 err = abs(r(i)-exact); 2398 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2399 maxerr = max(maxerr,err); 2400 i = 12; 2401 exact = 1.68215019539905630e+00; 2402 err = abs(r(i)-exact); 2403 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2404 maxerr = max(maxerr,err); 2405 i = 15; 2406 exact = -1.77563550367174916e-01; 2407 err = abs(r(i)-exact); 2408 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2409 maxerr = max(maxerr,err); 2410 n = 8; 2411 l=-2; 2412 r = g.rnlp(n,l); 2413 i = 0; 2414 exact = 2.64684064677916715e-07; 2415 err = abs(r(i)-exact); 2416 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2417 maxerr = max(maxerr,err); 2418 i = 3; 2419 exact = 4.77372027143066234e-07; 2420 err = abs(r(i)-exact); 2421 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2422 maxerr = max(maxerr,err); 2423 i = 6; 2424 exact = 2.48546774012851273e-07; 2425 err = abs(r(i)-exact); 2426 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2427 maxerr = max(maxerr,err); 2428 i = 9; 2429 exact = 6.34469829004409155e-08; 2430 err = abs(r(i)-exact); 2431 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2432 maxerr = max(maxerr,err); 2433 i = 12; 2434 exact = 8.20364207845620860e-09; 2435 err = abs(r(i)-exact); 2436 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2437 maxerr = max(maxerr,err); 2438 i = 15; 2439 exact = 5.02838600880059851e-10; 2440 err = abs(r(i)-exact); 2441 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2442 maxerr = max(maxerr,err); 2443 n = 8; 2444 l=-1; 2445 r = g.rnlp(n,l); 2446 i = 0; 2447 exact = 7.99999973531593511e+00; 2448 err = abs(r(i)-exact); 2449 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2450 maxerr = max(maxerr,err); 2451 i = 3; 2452 exact = 1.28136988133445895e+00; 2453 err = abs(r(i)-exact); 2454 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2455 maxerr = max(maxerr,err); 2456 i = 6; 2457 exact = -2.97337646440325010e-01; 2458 err = abs(r(i)-exact); 2459 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2460 maxerr = max(maxerr,err); 2461 i = 9; 2462 exact = 2.42595127151247827e-02; 2463 err = abs(r(i)-exact); 2464 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2465 maxerr = max(maxerr,err); 2466 i = 12; 2467 exact = -1.01342125713415232e-03; 2468 err = abs(r(i)-exact); 2469 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2470 maxerr = max(maxerr,err); 2471 i = 15; 2472 exact = 1.19548791588270655e-05; 2473 err = abs(r(i)-exact); 2474 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2475 maxerr = max(maxerr,err); 2476 n = 8; 2477 l=0; 2478 r = g.rnlp(n,l); 2479 i = 0; 2480 exact = 7.99999973531593511e+00; 2481 err = abs(r(i)-exact); 2482 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2483 maxerr = max(maxerr,err); 2484 i = 3; 2485 exact = -1.28136988133445895e+00; 2486 err = abs(r(i)-exact); 2487 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2488 maxerr = max(maxerr,err); 2489 i = 6; 2490 exact = -2.97337646440325010e-01; 2491 err = abs(r(i)-exact); 2492 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2493 maxerr = max(maxerr,err); 2494 i = 9; 2495 exact = -2.42595127151247827e-02; 2496 err = abs(r(i)-exact); 2497 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2498 maxerr = max(maxerr,err); 2499 i = 12; 2500 exact = -1.01342125713415232e-03; 2501 err = abs(r(i)-exact); 2502 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2503 maxerr = max(maxerr,err); 2504 i = 15; 2505 exact = -1.19548791588270655e-05; 2506 err = abs(r(i)-exact); 2507 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2508 maxerr = max(maxerr,err); 2509 n = 8; 2510 l=1; 2511 r = g.rnlp(n,l); 2512 i = 0; 2513 exact = 2.64684064677916715e-07; 2514 err = abs(r(i)-exact); 2515 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2516 maxerr = max(maxerr,err); 2517 i = 3; 2518 exact = -4.77372027143066234e-07; 2519 err = abs(r(i)-exact); 2520 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2521 maxerr = max(maxerr,err); 2522 i = 6; 2523 exact = 2.48546774012851273e-07; 2524 err = abs(r(i)-exact); 2525 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2526 maxerr = max(maxerr,err); 2527 i = 9; 2528 exact = -6.34469829004409155e-08; 2529 err = abs(r(i)-exact); 2530 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2531 maxerr = max(maxerr,err); 2532 i = 12; 2533 exact = 8.20364207845620860e-09; 2534 err = abs(r(i)-exact); 2535 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2536 maxerr = max(maxerr,err); 2537 i = 15; 2538 exact = -5.02838600880059851e-10; 2539 err = abs(r(i)-exact); 2540 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2541 maxerr = max(maxerr,err); 2542 n = 12; 2543 l=-2; 2544 r = g.rnlp(n,l); 2545 i = 0; 2546 exact = 7.68112666770073726e+00; 2547 err = abs(r(i)-exact); 2548 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2549 maxerr = max(maxerr,err); 2550 i = 3; 2551 exact = -1.40335952063720378e-03; 2552 err = abs(r(i)-exact); 2553 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2554 maxerr = max(maxerr,err); 2555 i = 6; 2556 exact = -2.16852188536233089e-08; 2557 err = abs(r(i)-exact); 2558 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2559 maxerr = max(maxerr,err); 2560 i = 9; 2561 exact = 2.27739586876326983e-12; 2562 err = abs(r(i)-exact); 2563 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2564 maxerr = max(maxerr,err); 2565 i = 12; 2566 exact = -9.64560459462787522e-18; 2567 err = abs(r(i)-exact); 2568 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2569 maxerr = max(maxerr,err); 2570 n = 12; 2571 l=-1; 2572 r = g.rnlp(n,l); 2573 i = 0; 2574 exact = 8.64340268954690671e+00; 2575 err = abs(r(i)-exact); 2576 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2577 maxerr = max(maxerr,err); 2578 i = 3; 2579 exact = -5.72613518237629813e-04; 2580 err = abs(r(i)-exact); 2581 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2582 maxerr = max(maxerr,err); 2583 i = 6; 2584 exact = -8.32996156019435581e-08; 2585 err = abs(r(i)-exact); 2586 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2587 maxerr = max(maxerr,err); 2588 i = 9; 2589 exact = 1.22452367554029254e-12; 2590 err = abs(r(i)-exact); 2591 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2592 maxerr = max(maxerr,err); 2593 i = 12; 2594 exact = 3.28001683556767755e-17; 2595 err = abs(r(i)-exact); 2596 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2597 maxerr = max(maxerr,err); 2598 n = 12; 2599 l=0; 2600 r = g.rnlp(n,l); 2601 i = 0; 2602 exact = 8.64340268954690671e+00; 2603 err = abs(r(i)-exact); 2604 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2605 maxerr = max(maxerr,err); 2606 i = 3; 2607 exact = 5.72613518237629813e-04; 2608 err = abs(r(i)-exact); 2609 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2610 maxerr = max(maxerr,err); 2611 i = 6; 2612 exact = -8.32996156019435581e-08; 2613 err = abs(r(i)-exact); 2614 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2615 maxerr = max(maxerr,err); 2616 i = 9; 2617 exact = -1.22452367554029254e-12; 2618 err = abs(r(i)-exact); 2619 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2620 maxerr = max(maxerr,err); 2621 i = 12; 2622 exact = 3.28001683556767755e-17; 2623 err = abs(r(i)-exact); 2624 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2625 maxerr = max(maxerr,err); 2626 n = 12; 2627 l=1; 2628 r = g.rnlp(n,l); 2629 i = 0; 2630 exact = 7.68112666770073726e+00; 2631 err = abs(r(i)-exact); 2632 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2633 maxerr = max(maxerr,err); 2634 i = 3; 2635 exact = 1.40335952063720378e-03; 2636 err = abs(r(i)-exact); 2637 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2638 maxerr = max(maxerr,err); 2639 i = 6; 2640 exact = -2.16852188536233089e-08; 2641 err = abs(r(i)-exact); 2642 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2643 maxerr = max(maxerr,err); 2644 i = 9; 2645 exact = -2.27739586876326983e-12; 2646 err = abs(r(i)-exact); 2647 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2648 maxerr = max(maxerr,err); 2649 i = 12; 2650 exact = -9.64560459462787522e-18; 2651 err = abs(r(i)-exact); 2652 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2653 maxerr = max(maxerr,err); 2654 n = 12; 2655 l=2; 2656 r = g.rnlp(n,l); 2657 i = 0; 2658 exact = 6.06603017048240378e+00; 2659 err = abs(r(i)-exact); 2660 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2661 maxerr = max(maxerr,err); 2662 i = 3; 2663 exact = 1.52348873733158482e-03; 2664 err = abs(r(i)-exact); 2665 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2666 maxerr = max(maxerr,err); 2667 i = 6; 2668 exact = 4.50962719862293780e-08; 2669 err = abs(r(i)-exact); 2670 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2671 maxerr = max(maxerr,err); 2672 i = 9; 2673 exact = -9.54505770868048384e-13; 2674 err = abs(r(i)-exact); 2675 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2676 maxerr = max(maxerr,err); 2677 i = 12; 2678 exact = -3.34357728315444496e-17; 2679 err = abs(r(i)-exact); 2680 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2681 maxerr = max(maxerr,err); 2682 n = 16; 2683 l=-2; 2684 r = g.rnlp(n,l); 2685 i = 0; 2686 exact = 2.20266863365880416e+00; 2687 err = abs(r(i)-exact); 2688 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2689 maxerr = max(maxerr,err); 2690 i = 3; 2691 exact = -6.76728333900617373e-09; 2692 err = abs(r(i)-exact); 2693 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2694 maxerr = max(maxerr,err); 2695 i = 6; 2696 exact = -1.38645113252605220e-15; 2697 err = abs(r(i)-exact); 2698 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2699 maxerr = max(maxerr,err); 2700 n = 16; 2701 l=-1; 2702 r = g.rnlp(n,l); 2703 i = 0; 2704 exact = 2.20369453020092898e+00; 2705 err = abs(r(i)-exact); 2706 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2707 maxerr = max(maxerr,err); 2708 i = 3; 2709 exact = -2.25751260692224813e-09; 2710 err = abs(r(i)-exact); 2711 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2712 maxerr = max(maxerr,err); 2713 i = 6; 2714 exact = -1.39098307532258949e-15; 2715 err = abs(r(i)-exact); 2716 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2717 maxerr = max(maxerr,err); 2718 n = 16; 2719 l=0; 2720 r = g.rnlp(n,l); 2721 i = 0; 2722 exact = 2.20369453020092898e+00; 2723 err = abs(r(i)-exact); 2724 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2725 maxerr = max(maxerr,err); 2726 i = 3; 2727 exact = 2.25751260692224813e-09; 2728 err = abs(r(i)-exact); 2729 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2730 maxerr = max(maxerr,err); 2731 i = 6; 2732 exact = -1.39098307532258949e-15; 2733 err = abs(r(i)-exact); 2734 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2735 maxerr = max(maxerr,err); 2736 n = 16; 2737 l=1; 2738 r = g.rnlp(n,l); 2739 i = 0; 2740 exact = 2.20266863365880416e+00; 2741 err = abs(r(i)-exact); 2742 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2743 maxerr = max(maxerr,err); 2744 i = 3; 2745 exact = 6.76728333900617373e-09; 2746 err = abs(r(i)-exact); 2747 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2748 maxerr = max(maxerr,err); 2749 i = 6; 2750 exact = -1.38645113252605220e-15; 2751 err = abs(r(i)-exact); 2752 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2753 maxerr = max(maxerr,err); 2754 n = 16; 2755 l=2; 2756 r = g.rnlp(n,l); 2757 i = 0; 2758 exact = 2.20061827312391323e+00; 2759 err = abs(r(i)-exact); 2760 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2761 maxerr = max(maxerr,err); 2762 i = 3; 2763 exact = 1.12613077452750488e-08; 2764 err = abs(r(i)-exact); 2765 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2766 maxerr = max(maxerr,err); 2767 i = 6; 2768 exact = -1.37740622815052894e-15; 2769 err = abs(r(i)-exact); 2770 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2771 maxerr = max(maxerr,err); 2772 n = 20; 2773 l=-2; 2774 r = g.rnlp(n,l); 2775 i = 0; 2776 exact = 5.50965220949072187e-01; 2777 err = abs(r(i)-exact); 2778 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2779 maxerr = max(maxerr,err); 2780 i = 3; 2781 exact = -2.58384321086449390e-14; 2782 err = abs(r(i)-exact); 2783 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2784 maxerr = max(maxerr,err); 2785 n = 20; 2786 l=-1; 2787 r = g.rnlp(n,l); 2788 i = 0; 2789 exact = 5.50966223149730427e-01; 2790 err = abs(r(i)-exact); 2791 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2792 maxerr = max(maxerr,err); 2793 i = 3; 2794 exact = -8.61283681394682842e-15; 2795 err = abs(r(i)-exact); 2796 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2797 maxerr = max(maxerr,err); 2798 n = 20; 2799 l=0; 2800 r = g.rnlp(n,l); 2801 i = 0; 2802 exact = 5.50966223149730427e-01; 2803 err = abs(r(i)-exact); 2804 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2805 maxerr = max(maxerr,err); 2806 i = 3; 2807 exact = 8.61283681394682842e-15; 2808 err = abs(r(i)-exact); 2809 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2810 maxerr = max(maxerr,err); 2811 n = 20; 2812 l=1; 2813 r = g.rnlp(n,l); 2814 i = 0; 2815 exact = 5.50965220949072187e-01; 2816 err = abs(r(i)-exact); 2817 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2818 maxerr = max(maxerr,err); 2819 i = 3; 2820 exact = 2.58384321086449390e-14; 2821 err = abs(r(i)-exact); 2822 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2823 maxerr = max(maxerr,err); 2824 n = 20; 2825 l=2; 2826 r = g.rnlp(n,l); 2827 i = 0; 2828 exact = 5.50963216553224777e-01; 2829 err = abs(r(i)-exact); 2830 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2831 maxerr = max(maxerr,err); 2832 i = 3; 2833 exact = 4.30637924047538213e-14; 2834 err = abs(r(i)-exact); 2835 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2836 maxerr = max(maxerr,err); 2837 } 2838 { 2839 double a = 1e8; 2840 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 2841 n = 0; 2842 l=-1; 2843 r = g.rnlp(n,l); 2844 i = 0; 2845 exact = 5.00000000000000000e-01; 2846 err = abs(r(i)-exact); 2847 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2848 maxerr = max(maxerr,err); 2849 i = 3; 2850 exact = 1.32198023075050020e+00; 2851 err = abs(r(i)-exact); 2852 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2853 maxerr = max(maxerr,err); 2854 i = 6; 2855 exact = 1.79850757146013485e+00; 2856 err = abs(r(i)-exact); 2857 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2858 maxerr = max(maxerr,err); 2859 i = 9; 2860 exact = 2.16840442140282663e+00; 2861 err = abs(r(i)-exact); 2862 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2863 maxerr = max(maxerr,err); 2864 i = 12; 2865 exact = 2.47807154022197462e+00; 2866 err = abs(r(i)-exact); 2867 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2868 maxerr = max(maxerr,err); 2869 i = 15; 2870 exact = 2.74638507267385013e+00; 2871 err = abs(r(i)-exact); 2872 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2873 maxerr = max(maxerr,err); 2874 n = 0; 2875 l=0; 2876 r = g.rnlp(n,l); 2877 i = 9; 2878 exact = -2.16840442140282663e+00; 2879 err = abs(r(i)-exact); 2880 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2881 maxerr = max(maxerr,err); 2882 i = 12; 2883 exact = 2.47807154022197462e+00; 2884 err = abs(r(i)-exact); 2885 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2886 maxerr = max(maxerr,err); 2887 i = 15; 2888 exact = -2.74638507267385013e+00; 2889 err = abs(r(i)-exact); 2890 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2891 maxerr = max(maxerr,err); 2892 n = 4; 2893 l=0; 2894 r = g.rnlp(n,l); 2895 i = 12; 2896 exact = 8.66639007453691868e+00; 2897 err = abs(r(i)-exact); 2898 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2899 maxerr = max(maxerr,err); 2900 i = 15; 2901 exact = -8.91729870909936828e+00; 2902 err = abs(r(i)-exact); 2903 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2904 maxerr = max(maxerr,err); 2905 n = 8; 2906 l=0; 2907 r = g.rnlp(n,l); 2908 i = 9; 2909 exact = -6.97748517721321448e+00; 2910 err = abs(r(i)-exact); 2911 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2912 maxerr = max(maxerr,err); 2913 i = 12; 2914 exact = 1.97852113142792607e-01; 2915 err = abs(r(i)-exact); 2916 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2917 maxerr = max(maxerr,err); 2918 i = 15; 2919 exact = 2.44271302079553987e+00; 2920 err = abs(r(i)-exact); 2921 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2922 maxerr = max(maxerr,err); 2923 n = 12; 2924 l=-2; 2925 r = g.rnlp(n,l); 2926 i = 0; 2927 exact = 1.77621741053728029e-02; 2928 err = abs(r(i)-exact); 2929 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2930 maxerr = max(maxerr,err); 2931 i = 3; 2932 exact = 1.80561296694321666e-02; 2933 err = abs(r(i)-exact); 2934 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2935 maxerr = max(maxerr,err); 2936 i = 6; 2937 exact = 2.14965049420876670e-03; 2938 err = abs(r(i)-exact); 2939 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2940 maxerr = max(maxerr,err); 2941 i = 9; 2942 exact = 2.87273668988151739e-05; 2943 err = abs(r(i)-exact); 2944 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2945 maxerr = max(maxerr,err); 2946 i = 12; 2947 exact = -5.78715292978526717e-07; 2948 err = abs(r(i)-exact); 2949 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2950 maxerr = max(maxerr,err); 2951 i = 15; 2952 exact = 3.75446225456850381e-09; 2953 err = abs(r(i)-exact); 2954 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2955 maxerr = max(maxerr,err); 2956 n = 12; 2957 l=-1; 2958 r = g.rnlp(n,l); 2959 i = 0; 2960 exact = 3.19822378257343587e+01; 2961 err = abs(r(i)-exact); 2962 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2963 maxerr = max(maxerr,err); 2964 i = 3; 2965 exact = -2.59910355189205866e+00; 2966 err = abs(r(i)-exact); 2967 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2968 maxerr = max(maxerr,err); 2969 i = 6; 2970 exact = 1.88940266256636957e-01; 2971 err = abs(r(i)-exact); 2972 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2973 maxerr = max(maxerr,err); 2974 i = 9; 2975 exact = -6.48224605439561008e-03; 2976 err = abs(r(i)-exact); 2977 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2978 maxerr = max(maxerr,err); 2979 i = 12; 2980 exact = 8.95940657127647480e-05; 2981 err = abs(r(i)-exact); 2982 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2983 maxerr = max(maxerr,err); 2984 i = 15; 2985 exact = -2.01590163575141197e-07; 2986 err = abs(r(i)-exact); 2987 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2988 maxerr = max(maxerr,err); 2989 n = 12; 2990 l=0; 2991 r = g.rnlp(n,l); 2992 i = 0; 2993 exact = 3.19822378257343587e+01; 2994 err = abs(r(i)-exact); 2995 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 2996 maxerr = max(maxerr,err); 2997 i = 3; 2998 exact = 2.59910355189205866e+00; 2999 err = abs(r(i)-exact); 3000 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3001 maxerr = max(maxerr,err); 3002 i = 6; 3003 exact = 1.88940266256636957e-01; 3004 err = abs(r(i)-exact); 3005 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3006 maxerr = max(maxerr,err); 3007 i = 9; 3008 exact = 6.48224605439561008e-03; 3009 err = abs(r(i)-exact); 3010 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3011 maxerr = max(maxerr,err); 3012 i = 12; 3013 exact = 8.95940657127647480e-05; 3014 err = abs(r(i)-exact); 3015 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3016 maxerr = max(maxerr,err); 3017 i = 15; 3018 exact = 2.01590163575141197e-07; 3019 err = abs(r(i)-exact); 3020 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3021 maxerr = max(maxerr,err); 3022 n = 12; 3023 l=1; 3024 r = g.rnlp(n,l); 3025 i = 0; 3026 exact = 1.77621741053728029e-02; 3027 err = abs(r(i)-exact); 3028 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3029 maxerr = max(maxerr,err); 3030 i = 3; 3031 exact = -1.80561296694321666e-02; 3032 err = abs(r(i)-exact); 3033 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3034 maxerr = max(maxerr,err); 3035 i = 6; 3036 exact = 2.14965049420876670e-03; 3037 err = abs(r(i)-exact); 3038 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3039 maxerr = max(maxerr,err); 3040 i = 9; 3041 exact = -2.87273668988151739e-05; 3042 err = abs(r(i)-exact); 3043 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3044 maxerr = max(maxerr,err); 3045 i = 12; 3046 exact = -5.78715292978526717e-07; 3047 err = abs(r(i)-exact); 3048 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3049 maxerr = max(maxerr,err); 3050 i = 15; 3051 exact = -3.75446225456850381e-09; 3052 err = abs(r(i)-exact); 3053 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3054 maxerr = max(maxerr,err); 3055 n = 12; 3056 l=2; 3057 r = g.rnlp(n,l); 3058 i = 0; 3059 exact = 1.60267034903721741e-10; 3060 err = abs(r(i)-exact); 3061 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3062 maxerr = max(maxerr,err); 3063 i = 3; 3064 exact = -2.56247390565564865e-10; 3065 err = abs(r(i)-exact); 3066 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3067 maxerr = max(maxerr,err); 3068 i = 6; 3069 exact = 1.00204874077533328e-10; 3070 err = abs(r(i)-exact); 3071 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3072 maxerr = max(maxerr,err); 3073 i = 9; 3074 exact = -1.68527185127306691e-11; 3075 err = abs(r(i)-exact); 3076 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3077 maxerr = max(maxerr,err); 3078 i = 12; 3079 exact = 1.32633156186227036e-12; 3080 err = abs(r(i)-exact); 3081 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3082 maxerr = max(maxerr,err); 3083 i = 15; 3084 exact = -4.97857828210297353e-14; 3085 err = abs(r(i)-exact); 3086 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3087 maxerr = max(maxerr,err); 3088 n = 16; 3089 l=-2; 3090 r = g.rnlp(n,l); 3091 i = 0; 3092 exact = 2.08775684768582366e+01; 3093 err = abs(r(i)-exact); 3094 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3095 maxerr = max(maxerr,err); 3096 i = 3; 3097 exact = -6.18391032576240027e-04; 3098 err = abs(r(i)-exact); 3099 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3100 maxerr = max(maxerr,err); 3101 i = 6; 3102 exact = -9.17718829164970323e-09; 3103 err = abs(r(i)-exact); 3104 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3105 maxerr = max(maxerr,err); 3106 i = 9; 3107 exact = 7.27641771748153090e-14; 3108 err = abs(r(i)-exact); 3109 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3110 maxerr = max(maxerr,err); 3111 i = 12; 3112 exact = 1.45035821991845720e-19; 3113 err = abs(r(i)-exact); 3114 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3115 maxerr = max(maxerr,err); 3116 n = 16; 3117 l=-1; 3118 r = g.rnlp(n,l); 3119 i = 0; 3120 exact = 2.18688012530858096e+01; 3121 err = abs(r(i)-exact); 3122 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3123 maxerr = max(maxerr,err); 3124 i = 3; 3125 exact = -2.22880079087442982e-04; 3126 err = abs(r(i)-exact); 3127 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3128 maxerr = max(maxerr,err); 3129 i = 6; 3130 exact = -1.33180134100535050e-08; 3131 err = abs(r(i)-exact); 3132 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3133 maxerr = max(maxerr,err); 3134 i = 9; 3135 exact = 2.89311654858050329e-14; 3136 err = abs(r(i)-exact); 3137 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3138 maxerr = max(maxerr,err); 3139 i = 12; 3140 exact = 3.32835978333160121e-19; 3141 err = abs(r(i)-exact); 3142 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3143 maxerr = max(maxerr,err); 3144 n = 16; 3145 l=0; 3146 r = g.rnlp(n,l); 3147 i = 0; 3148 exact = 2.18688012530858096e+01; 3149 err = abs(r(i)-exact); 3150 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3151 maxerr = max(maxerr,err); 3152 i = 3; 3153 exact = 2.22880079087442982e-04; 3154 err = abs(r(i)-exact); 3155 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3156 maxerr = max(maxerr,err); 3157 i = 6; 3158 exact = -1.33180134100535050e-08; 3159 err = abs(r(i)-exact); 3160 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3161 maxerr = max(maxerr,err); 3162 i = 9; 3163 exact = -2.89311654858050329e-14; 3164 err = abs(r(i)-exact); 3165 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3166 maxerr = max(maxerr,err); 3167 i = 12; 3168 exact = 3.32835978333160121e-19; 3169 err = abs(r(i)-exact); 3170 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3171 maxerr = max(maxerr,err); 3172 n = 16; 3173 l=1; 3174 r = g.rnlp(n,l); 3175 i = 0; 3176 exact = 2.08775684768582366e+01; 3177 err = abs(r(i)-exact); 3178 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3179 maxerr = max(maxerr,err); 3180 i = 3; 3181 exact = 6.18391032576240027e-04; 3182 err = abs(r(i)-exact); 3183 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3184 maxerr = max(maxerr,err); 3185 i = 6; 3186 exact = -9.17718829164970323e-09; 3187 err = abs(r(i)-exact); 3188 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3189 maxerr = max(maxerr,err); 3190 i = 9; 3191 exact = -7.27641771748153090e-14; 3192 err = abs(r(i)-exact); 3193 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3194 maxerr = max(maxerr,err); 3195 i = 12; 3196 exact = 1.45035821991845720e-19; 3197 err = abs(r(i)-exact); 3198 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3199 maxerr = max(maxerr,err); 3200 n = 16; 3201 l=2; 3202 r = g.rnlp(n,l); 3203 i = 0; 3204 exact = 1.90278525861057943e+01; 3205 err = abs(r(i)-exact); 3206 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3207 maxerr = max(maxerr,err); 3208 i = 3; 3209 exact = 8.78775137729619093e-04; 3210 err = abs(r(i)-exact); 3211 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3212 maxerr = max(maxerr,err); 3213 i = 6; 3214 exact = -2.52594114788140973e-09; 3215 err = abs(r(i)-exact); 3216 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3217 maxerr = max(maxerr,err); 3218 i = 9; 3219 exact = -8.24285673816764725e-14; 3220 err = abs(r(i)-exact); 3221 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3222 maxerr = max(maxerr,err); 3223 i = 12; 3224 exact = -1.10123909261290486e-19; 3225 err = abs(r(i)-exact); 3226 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3227 maxerr = max(maxerr,err); 3228 n = 20; 3229 l=-2; 3230 r = g.rnlp(n,l); 3231 i = 0; 3232 exact = 5.50849480740676434e+00; 3233 err = abs(r(i)-exact); 3234 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3235 maxerr = max(maxerr,err); 3236 i = 3; 3237 exact = -2.58293860288335944e-09; 3238 err = abs(r(i)-exact); 3239 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3240 maxerr = max(maxerr,err); 3241 i = 6; 3242 exact = -2.07063600559659463e-16; 3243 err = abs(r(i)-exact); 3244 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3245 maxerr = max(maxerr,err); 3246 n = 20; 3247 l=-1; 3248 r = g.rnlp(n,l); 3249 i = 0; 3250 exact = 5.50949687272003708e+00; 3251 err = abs(r(i)-exact); 3252 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3253 maxerr = max(maxerr,err); 3254 i = 3; 3255 exact = -8.61240599236203343e-10; 3256 err = abs(r(i)-exact); 3257 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3258 maxerr = max(maxerr,err); 3259 i = 6; 3260 exact = -2.07327540364256062e-16; 3261 err = abs(r(i)-exact); 3262 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3263 maxerr = max(maxerr,err); 3264 n = 20; 3265 l=0; 3266 r = g.rnlp(n,l); 3267 i = 0; 3268 exact = 5.50949687272003708e+00; 3269 err = abs(r(i)-exact); 3270 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3271 maxerr = max(maxerr,err); 3272 i = 3; 3273 exact = 8.61240599236203343e-10; 3274 err = abs(r(i)-exact); 3275 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3276 maxerr = max(maxerr,err); 3277 i = 6; 3278 exact = -2.07327540364256062e-16; 3279 err = abs(r(i)-exact); 3280 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3281 maxerr = max(maxerr,err); 3282 n = 20; 3283 l=1; 3284 r = g.rnlp(n,l); 3285 i = 0; 3286 exact = 5.50849480740676434e+00; 3287 err = abs(r(i)-exact); 3288 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3289 maxerr = max(maxerr,err); 3290 i = 3; 3291 exact = 2.58293860288335944e-09; 3292 err = abs(r(i)-exact); 3293 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3294 maxerr = max(maxerr,err); 3295 i = 6; 3296 exact = -2.07063600559659463e-16; 3297 err = abs(r(i)-exact); 3298 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3299 maxerr = max(maxerr,err); 3300 n = 20; 3301 l=2; 3302 r = g.rnlp(n,l); 3303 i = 0; 3304 exact = 5.50649122351290821e+00; 3305 err = abs(r(i)-exact); 3306 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3307 maxerr = max(maxerr,err); 3308 i = 3; 3309 exact = 4.30228801910451485e-09; 3310 err = abs(r(i)-exact); 3311 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3312 maxerr = max(maxerr,err); 3313 i = 6; 3314 exact = -2.06536152937712491e-16; 3315 err = abs(r(i)-exact); 3316 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3317 maxerr = max(maxerr,err); 3318 } 3319 { 3320 double a = 1e10; 3321 GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false); 3322 n = 0; 3323 l=-1; 3324 r = g.rnlp(n,l); 3325 i = 0; 3326 exact = 5.00000000000000000e-01; 3327 err = abs(r(i)-exact); 3328 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3329 maxerr = max(maxerr,err); 3330 i = 3; 3331 exact = 1.32278609519677226e+00; 3332 err = abs(r(i)-exact); 3333 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3334 maxerr = max(maxerr,err); 3335 i = 6; 3336 exact = 1.80234849054933588e+00; 3337 err = abs(r(i)-exact); 3338 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3339 maxerr = max(maxerr,err); 3340 i = 9; 3341 exact = 2.17834302709225502e+00; 3342 err = abs(r(i)-exact); 3343 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3344 maxerr = max(maxerr,err); 3345 i = 12; 3346 exact = 2.49780041123299235e+00; 3347 err = abs(r(i)-exact); 3348 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3349 maxerr = max(maxerr,err); 3350 i = 15; 3351 exact = 2.78011463893526400e+00; 3352 err = abs(r(i)-exact); 3353 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3354 maxerr = max(maxerr,err); 3355 n = 4; 3356 l=0; 3357 r = g.rnlp(n,l); 3358 i = 12; 3359 exact = 9.85994473913733493e+00; 3360 err = abs(r(i)-exact); 3361 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3362 maxerr = max(maxerr,err); 3363 i = 15; 3364 exact = -1.08963047031019240e+01; 3365 err = abs(r(i)-exact); 3366 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3367 maxerr = max(maxerr,err); 3368 n = 8; 3369 l=0; 3370 r = g.rnlp(n,l); 3371 i = 12; 3372 exact = 3.17378652019804868e+01; 3373 err = abs(r(i)-exact); 3374 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3375 maxerr = max(maxerr,err); 3376 i = 15; 3377 exact = -3.10371707224047384e+01; 3378 err = abs(r(i)-exact); 3379 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3380 maxerr = max(maxerr,err); 3381 n = 12; 3382 l=0; 3383 r = g.rnlp(n,l); 3384 i = 9; 3385 exact = -3.55193478516153949e+00; 3386 err = abs(r(i)-exact); 3387 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3388 maxerr = max(maxerr,err); 3389 i = 12; 3390 exact = -8.76624415465518325e+00; 3391 err = abs(r(i)-exact); 3392 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3393 maxerr = max(maxerr,err); 3394 i = 15; 3395 exact = 4.45211896310375366e+00; 3396 err = abs(r(i)-exact); 3397 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3398 maxerr = max(maxerr,err); 3399 n = 16; 3400 l=-2; 3401 r = g.rnlp(n,l); 3402 i = 0; 3403 exact = 3.95753699701407591e+00; 3404 err = abs(r(i)-exact); 3405 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3406 maxerr = max(maxerr,err); 3407 i = 3; 3408 exact = 1.01817522582965636e+00; 3409 err = abs(r(i)-exact); 3410 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3411 maxerr = max(maxerr,err); 3412 i = 6; 3413 exact = -4.26716664222736262e-03; 3414 err = abs(r(i)-exact); 3415 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3416 maxerr = max(maxerr,err); 3417 i = 9; 3418 exact = 9.05830429656977076e-06; 3419 err = abs(r(i)-exact); 3420 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3421 maxerr = max(maxerr,err); 3422 i = 12; 3423 exact = -4.09146442457520497e-08; 3424 err = abs(r(i)-exact); 3425 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3426 maxerr = max(maxerr,err); 3427 i = 15; 3428 exact = 2.46678858892003107e-10; 3429 err = abs(r(i)-exact); 3430 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3431 maxerr = max(maxerr,err); 3432 n = 16; 3433 l=-1; 3434 r = g.rnlp(n,l); 3435 i = 0; 3436 exact = 1.24040427814888830e+02; 3437 err = abs(r(i)-exact); 3438 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3439 maxerr = max(maxerr,err); 3440 i = 3; 3441 exact = -6.51252735045721654e+00; 3442 err = abs(r(i)-exact); 3443 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3444 maxerr = max(maxerr,err); 3445 i = 6; 3446 exact = 7.18690903438790468e-02; 3447 err = abs(r(i)-exact); 3448 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3449 maxerr = max(maxerr,err); 3450 i = 9; 3451 exact = -4.13584998317234614e-05; 3452 err = abs(r(i)-exact); 3453 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3454 maxerr = max(maxerr,err); 3455 i = 12; 3456 exact = -1.74068139575386427e-06; 3457 err = abs(r(i)-exact); 3458 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3459 maxerr = max(maxerr,err); 3460 i = 15; 3461 exact = 5.03038032706968060e-09; 3462 err = abs(r(i)-exact); 3463 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3464 maxerr = max(maxerr,err); 3465 n = 16; 3466 l=0; 3467 r = g.rnlp(n,l); 3468 i = 0; 3469 exact = 1.24040427814888830e+02; 3470 err = abs(r(i)-exact); 3471 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3472 maxerr = max(maxerr,err); 3473 i = 3; 3474 exact = 6.51252735045721654e+00; 3475 err = abs(r(i)-exact); 3476 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3477 maxerr = max(maxerr,err); 3478 i = 6; 3479 exact = 7.18690903438790468e-02; 3480 err = abs(r(i)-exact); 3481 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3482 maxerr = max(maxerr,err); 3483 i = 9; 3484 exact = 4.13584998317234614e-05; 3485 err = abs(r(i)-exact); 3486 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3487 maxerr = max(maxerr,err); 3488 i = 12; 3489 exact = -1.74068139575386427e-06; 3490 err = abs(r(i)-exact); 3491 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3492 maxerr = max(maxerr,err); 3493 i = 15; 3494 exact = -5.03038032706968060e-09; 3495 err = abs(r(i)-exact); 3496 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3497 maxerr = max(maxerr,err); 3498 n = 16; 3499 l=1; 3500 r = g.rnlp(n,l); 3501 i = 0; 3502 exact = 3.95753699701407591e+00; 3503 err = abs(r(i)-exact); 3504 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3505 maxerr = max(maxerr,err); 3506 i = 3; 3507 exact = -1.01817522582965636e+00; 3508 err = abs(r(i)-exact); 3509 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3510 maxerr = max(maxerr,err); 3511 i = 6; 3512 exact = -4.26716664222736262e-03; 3513 err = abs(r(i)-exact); 3514 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3515 maxerr = max(maxerr,err); 3516 i = 9; 3517 exact = -9.05830429656977076e-06; 3518 err = abs(r(i)-exact); 3519 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3520 maxerr = max(maxerr,err); 3521 i = 12; 3522 exact = -4.09146442457520497e-08; 3523 err = abs(r(i)-exact); 3524 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3525 maxerr = max(maxerr,err); 3526 i = 15; 3527 exact = -2.46678858892003107e-10; 3528 err = abs(r(i)-exact); 3529 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3530 maxerr = max(maxerr,err); 3531 n = 16; 3532 l=2; 3533 r = g.rnlp(n,l); 3534 i = 0; 3535 exact = 2.03517586076878889e-03; 3536 err = abs(r(i)-exact); 3537 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3538 maxerr = max(maxerr,err); 3539 i = 3; 3540 exact = -1.49274934514448811e-03; 3541 err = abs(r(i)-exact); 3542 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3543 maxerr = max(maxerr,err); 3544 i = 6; 3545 exact = 9.66085723513747846e-05; 3546 err = abs(r(i)-exact); 3547 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3548 maxerr = max(maxerr,err); 3549 i = 9; 3550 exact = -9.25718189118173804e-07; 3551 err = abs(r(i)-exact); 3552 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3553 maxerr = max(maxerr,err); 3554 i = 12; 3555 exact = -1.51883153358735018e-09; 3556 err = abs(r(i)-exact); 3557 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3558 maxerr = max(maxerr,err); 3559 i = 15; 3560 exact = 2.59891477668870922e-12; 3561 err = abs(r(i)-exact); 3562 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3563 maxerr = max(maxerr,err); 3564 n = 20; 3565 l=-2; 3566 r = g.rnlp(n,l); 3567 i = 0; 3568 exact = 5.39414070815156137e+01; 3569 err = abs(r(i)-exact); 3570 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3571 maxerr = max(maxerr,err); 3572 i = 3; 3573 exact = -2.49387003254647314e-04; 3574 err = abs(r(i)-exact); 3575 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3576 maxerr = max(maxerr,err); 3577 i = 6; 3578 exact = -1.78376303140302747e-09; 3579 err = abs(r(i)-exact); 3580 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3581 maxerr = max(maxerr,err); 3582 i = 9; 3583 exact = 1.87233252628364406e-15; 3584 err = abs(r(i)-exact); 3585 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3586 maxerr = max(maxerr,err); 3587 n = 20; 3588 l=-1; 3589 r = g.rnlp(n,l); 3590 i = 0; 3591 exact = 5.49300601109782676e+01; 3592 err = abs(r(i)-exact); 3593 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3594 maxerr = max(maxerr,err); 3595 i = 3; 3596 exact = -8.56943996085143253e-05; 3597 err = abs(r(i)-exact); 3598 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3599 maxerr = max(maxerr,err); 3600 i = 6; 3601 exact = -2.03858147916271143e-09; 3602 err = abs(r(i)-exact); 3603 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3604 maxerr = max(maxerr,err); 3605 i = 9; 3606 exact = 6.67700051743989307e-16; 3607 err = abs(r(i)-exact); 3608 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3609 maxerr = max(maxerr,err); 3610 n = 20; 3611 l=0; 3612 r = g.rnlp(n,l); 3613 i = 0; 3614 exact = 5.49300601109782676e+01; 3615 err = abs(r(i)-exact); 3616 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3617 maxerr = max(maxerr,err); 3618 i = 3; 3619 exact = 8.56943996085143253e-05; 3620 err = abs(r(i)-exact); 3621 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3622 maxerr = max(maxerr,err); 3623 i = 6; 3624 exact = -2.03858147916271143e-09; 3625 err = abs(r(i)-exact); 3626 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3627 maxerr = max(maxerr,err); 3628 i = 9; 3629 exact = -6.67700051743989307e-16; 3630 err = abs(r(i)-exact); 3631 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3632 maxerr = max(maxerr,err); 3633 n = 20; 3634 l=1; 3635 r = g.rnlp(n,l); 3636 i = 0; 3637 exact = 5.39414070815156137e+01; 3638 err = abs(r(i)-exact); 3639 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3640 maxerr = max(maxerr,err); 3641 i = 3; 3642 exact = 2.49387003254647314e-04; 3643 err = abs(r(i)-exact); 3644 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3645 maxerr = max(maxerr,err); 3646 i = 6; 3647 exact = -1.78376303140302747e-09; 3648 err = abs(r(i)-exact); 3649 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3650 maxerr = max(maxerr,err); 3651 i = 9; 3652 exact = -1.87233252628364406e-15; 3653 err = abs(r(i)-exact); 3654 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3655 maxerr = max(maxerr,err); 3656 n = 20; 3657 l=2; 3658 r = g.rnlp(n,l); 3659 i = 0; 3660 exact = 5.20171632178656012e+01; 3661 err = abs(r(i)-exact); 3662 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3663 maxerr = max(maxerr,err); 3664 i = 3; 3665 exact = 3.90952885279176158e-04; 3666 err = abs(r(i)-exact); 3667 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3668 maxerr = max(maxerr,err); 3669 i = 6; 3670 exact = -1.31483311173371317e-09; 3671 err = abs(r(i)-exact); 3672 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3673 maxerr = max(maxerr,err); 3674 i = 9; 3675 exact = -2.71474799023069306e-15; 3676 err = abs(r(i)-exact); 3677 //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl; 3678 maxerr = max(maxerr,err); 3679 } 3680 //cout << "MAXERR " << maxerr << endl; 3681 return (maxerr < 2e-13); 3682 } 3683 } 3684