1% Tests of limits package. 2 3limit(sin(x)/x,x,0); 4 5 61 7 % 1 8limit(sin(x)^2/x,x,0); 9 10 110 12 % 0 13limit(sin(x)/x,x,1); 14 15 16sin(1) 17 % sin(1) 18limit(1/x,x,0); 19 20 21infinity 22 % infinity 23limit(-1/x,x,0); 24 25 26 - infinity 27 % - infinity 28limit((sin(x)-x)/x^3,x,0); 29 30 31 - 1 32------ 33 6 34 % -1/6 35limit(x*sin(1/x),x,infinity); 36 37 381 39 % 1 40limit(sin x/x^2,x,0); 41 42 43infinity 44 % infinity 45limit(x^2*sin(1/x),x,infinity); 46 47 48infinity 49 % infinity 50 51% Simple examples from Schaum's Theory & Problems of Advanced Calculus 52 53limit(x^2-6x+4,x,2); 54 55 56-4 57 % -4 58limit((x+3)*(2x-1)/(x^2+3x-2),x,-1); 59 60 61 3 62--- 63 2 64 % 3/2 65limit((sqrt(4+h)-2)/h,h,0); 66 67 68 1 69--- 70 4 71 % 1/4 72limit((sqrt(x)-2)/(4-x),x,4); 73 74 75 - 1 76------ 77 4 78 % -1/4 79limit((x^2-4)/(x-2),x,2); 80 81 824 83 % 4 84limit(1/(2x-5),x,-1); 85 86 87 - 1 88------ 89 7 90 % -1/7 91limit(sqrt(x)/(x+1),x,1); 92 93 94 1 95--- 96 2 97 % 1/2 98limit((2x+5)/(3x-2),x,infinity); 99 100 101 2 102--- 103 3 104 % 2/3 105limit((1/(x+3)-2/(3x+5))/(x-1),x,1); 106 107 108 1 109---- 110 32 111 % 1/32 112limit(sin(3x)/x,x,0); 113 114 1153 116 % 3 117limit((1-cos(x))/x^2,x,0); 118 119 120 1 121--- 122 2 123 % 1/2 124limit((6x-sin(2x))/(2x+3*sin(4x)),x,0); 125 126 127 2 128--- 129 7 130 % 2/7 131limit((1-2*cos(x)+cos(2x))/x^2,x,0); 132 133 134-1 135 % -1 136limit((3*sin(pi*x) - sin(3*pi*x))/x^3,x,0); 137 138 139 3 1404*pi 141 % 4*pi^3 142limit((cos(a*x)-cos(b*x))/x^2,x,0); 143 144 145 2 2 146 - a + b 147------------ 148 2 149 % (-a^2 + b^2)/2 150limit((e^x-1)/x,x,0); 151 152 1531 154 % 1 155limit((a^x-b^x)/x,x,0); 156 157 158log(a) - log(b) 159 % log(a) - log(b) 160 161% Examples taken from Hyslop's Real Variable 162 163limit(sinh(2x)^2/log(1+x^2),x,0); 164 165 1664 167 % 4 168limit(x^2*(e^(1/x)-1)*(log(x+2)-log(x)),x,infinity); 169 170 1712 172 % 2 173limit(x^alpha*log(x+1)^2/log(x),x,infinity); 174 175 176 2 177 alpha log(x + 1) 178limit(x *-------------,x,infinity) 179 log(x) 180 181 %% if repart alpha < 0 then 0 else infinity. 182 %% fails because answer depends in essential way on parameter. 183 184limit((2*cosh(x)-2-x^2)/log(1+x^2)^2,x,0); 185 186 187 1 188---- 189 12 190 % 1/12 191limit((x*sinh(x)-2+2*cosh(x))/(x^4+2*x^2),x,0); 192 193 1941 195 % 1 196limit((2*sinh(x)-tanh(x))/(e^x-1),x,0); 197 198 1991 200 % 1 201limit(x*tanh(x)/(sqrt(1-x^2)-1),x,0); 202 203 204-2 205 % -2 206limit((2*log(1+x)+x^2-2*x)/x^3,x,0); 207 208 209 2 210--- 211 3 212 % 2/3 213limit((e^(5*x)-2*x)^(1/x),x,0); 214 215 216 3 217e 218 % e^3 219limit(log(log(x))/log(x)^2,x,infinity); 220 221 2220 223 % 0 224 225% These are adapted from Lession 4 from Stoutmyer 226 227limit((e^x-1)/x, x, 0); 228 229 2301 231 % 1 232limit(((1-x)/log(x))**2, x, 1); 233 234 2351 236 % 1 237limit(x/(e**x-1), x, 0); 238 239 2401 241 % 1 242 243%% One sided limits 244limit!+(sin(x)/sqrt(x),x,0); 245 246 2470 248 % 0 249limit!-(sin(x)/sqrt(x),x,0); 250 251 2520 253 % 0 254 255 256limit(x/log x,x,0); 257 258 2590 260 % 0 261limit(log(1 + x)/log x,x,infinity); 262 263 2641 265 % 1 266limit(log x/sqrt x,x,infinity); 267 268 2690 270 % 0 271limit!+(sqrt x/sin x,x,0); 272 273 274infinity 275 % infinity 276limit(log x,x,0); 277 278 279 - infinity 280 % - infinity 281limit(x*log x,x,0); 282 283 2840 285 % 0 286limit(log x/log(2x),x,0); 287 288 2891 290 % 1 291limit(log x*log(1+x)*(1+x),x,0); 292 293 2940 295 % 0 296limit(log x/x,x,infinity); 297 298 2990 300 % 0 301limit(log x/sqrt x,x,infinity); 302 303 3040 305 % 0 306limit(log x,x,infinity); 307 308 309infinity 310 % infinity 311limit(log(x+1)/sin x,x,0); 312 313 3141 315 % 1 316limit(log(1+1/x)*sin x,x,0); 317 318 3190 320 % 0 321limit(-log(1+x)*(x+2)/sin x,x,0); 322 323 324-2 325 % -2 326limit(-log x*(3+x)/log(2x),x,0); 327 328 329-3 330 % -3 331limit(log(x+1)^2/sqrt x,x,infinity); 332 333 3340 335 % 0 336limit(log(x + 1) - log x,x,infinity); 337 338 3390 340 % 0 341limit(-(log x)^2/log log x,x,infinity); 342 343 344 - infinity 345 % - infinity 346limit(log(x-1)/sin x,x,0); 347 348 349sign(log(-1))*infinity 350 % infinity 351 352limit!-(sqrt x/sin x,x,0); 353 354 355 - sign(i)*infinity 356 % infinity 357limit(log x-log(2x),x,0); 358 359 360 - log(2) 361 % - log(2) 362limit(sqrt x-sqrt(x+1),x,infinity); 363 364 3650 366 % 0 367 368limit(sin sin x/x,x,0); 369 370 3711 372 % 1 373limit!-(sin x/cos x,x,pi/2); 374 375 376infinity 377 % infinity % this works! 378limit!+(sin x/cos x,x,pi/2); 379 380 381 - infinity 382 % - infinity % so does this! 383limit(sin x/cosh x,x,infinity); 384 385 3860 387 % 0 388limit(sin x/x,x,infinity); 389 390 3910 392 % 0 393limit(x*sin(1/x),x,0); 394 395 3960 397 % 0 398limit(exp x/((exp x + exp(-x))/2),x,infinity); 399 400 4012 402 % 2 403% limit(exp x/cosh x,x,infinity); % fails in this form, but if cosh is 404 %defined using let, then it works. 405limit((sin(x^2)/(x*sinh x)),x,0); 406 407 4081 409 % 1 410limit(log x*sin(x^2)/(x*sinh x),x,0); 411 412 413 - infinity 414 % - infinity 415limit(sin(x^2)/(x*sinh x*log x),x,0); 416 417 4180 419 % 0 420limit(log x/log(x^2),x,0); 421 422 423 1 424--- 425 2 426 % 1/2 427limit(log(x^2)-log(x^2+8x),x,0); 428 429 430 - infinity 431 % - infinity 432limit(log(x^2)-log(x^2+8x),x,infinity); 433 434 4350 436 % 0 437limit(sqrt(x+5)-sqrt x,x,infinity); 438 439 4400 441 % 0 442limit(2^(log x),x,0); 443 444 4450 446 % 0 447 448% Additional examples 449limit((sin tan x-tan sin x)/(asin atan x-atan asin x),x,0); 450 451 4521 453 % 1 454 455% This one has the value infinity, but fails with de L'Hospital's rule: 456limit((e+1)^(x^2)/e^x,x,infinity); 457 458 459 2 460 x 461 (e + 1) 462limit(-----------,x,infinity) 463 x 464 e 465 % infinity % fails 466 467comment 468The following examples were not in the previous set$ 469 470 471% Simon test examples: 472limit(log(x-a)/((a-b)*(a-c)) + log(2(x-b))/((b-c)*(b-a)) 473 + log(x-c)/((c-a)*(c-b)),x,infinity); 474 475 476 - log(2) 477---------------------- 478 2 479 a*b - a*c - b + b*c 480 % log(1/2)/((a-b)*(b-c)) 481 482limit(1/(e^x-e^(x-1/x^2)),x,infinity); 483 484 485 1 486limit(----------------,x,infinity) 487 2 488 x x - 1/x 489 e - e 490 % infinity % fails 491 492% new capabilities: branch points at the origin, needed for definite 493% integration. 494 495limit(x+sqrt x,x,0); 496 497 4980 499 % 0 500limit!+(sqrt x/(x+1),x,0); 501 502 5030 504 % 0 505limit!+(x^(1/3)/(x+1),x,0); 506 507 5080 509 % 0 510limit(log(x)^2/x^(1/3),x,0); 511 512 513infinity 514 % infinity 515limit(log x/x^(1/3),x,0); 516 517 518 - infinity 519 % - infinity 520 521h := (X^(1/3) + 3*X**(1/4))/(7*(SQRT(X + 9) - 3)**(1/4)); 522 523 524 1/4 1/3 525 3*x + x 526h := ------------------------ 527 1/4 528 7*(sqrt(x + 9) - 3) 529 530limit(h,x,0); 531 532 533 1/4 534 3*6 535-------- 536 7 537 % 3/7*6^(1/4) 538 539% Examples from Paul S. Wang's thesis: 540 541limit(x^log(1/x),x,infinity); 542 543 5440 545 % 0 546limit(cos x - 1/(e^x^2 - 1),x,0); 547 548 549 - infinity 550 % - infinity 551limit((1+a*x)^(1/x),x,infinity); 552 553 554 1/x 555limit((1 + a*x) ,x,infinity) 556 % 1 557limit(x^2*sqrt(4*x^4+5)-2*x^4,x,infinity); 558 559 560 5 561--- 562 4 563 % 5/4 564limit!+(1/x-1/sin x,x,0); 565 566 5670 568 % 0 569limit(e^(x*sqrt(x^2+1))-e^(x^2),x,infinity); 570 571 572 2 2 573 x*sqrt(x + 1) x 574limit(e - e ,x,infinity) 575 % 0 fails 576limit((e^x+x*log x)/(log(x^4+x+1)+e^sqrt(x^3+1)),x,infinity); 577 578 579 x 580 e + x*log(x) 581limit(---------------------------------,x,infinity) 582 3 583 4 sqrt(x + 1) 584 log(x + x + 1) + e 585 %0 % fails 586limit!-(1/(x^3-6*x+11*x-6),x,2); 587 588 589 1 590---- 591 12 592 % 1/12 593limit((x*sqrt(x+5))/(sqrt(4*x^3+1)+x),x,infinity); 594 595 596 1 597--- 598 2 599 % 1/2 600limit!-(tan x/log cos x,x,pi/2); 601 602 603 - infinity 604 % - infinity 605 606z0 := z*(z-2*pi*i)*(z-pi*i/2)/(sinh z - i); 607 608 609 2 2 610 z*( - 5*i*pi*z - 2*pi + 2*z ) 611z0 := -------------------------------- 612 2*(sinh(z) - i) 613 614limit(df(z0,z),z,pi*i/2); 615 616 617sign(i)*infinity 618 % infinity 619z1 := z0*(z-pi*i/2); 620 621 622 3 2 2 3 623 z*(2*i*pi - 12*i*pi*z - 9*pi *z + 4*z ) 624z1 := ------------------------------------------- 625 4*(sinh(z) - i) 626 627limit(df(z1,z),z,pi*i/2); 628 629 630 - 2*pi 631 % -2*pi 632 633% and the analogous problem: 634z2 := z*(z-2*pi)*(z-pi/2)/(sin z - 1); 635 636 637 2 2 638 z*(2*pi - 5*pi*z + 2*z ) 639z2 := --------------------------- 640 2*(sin(z) - 1) 641 642limit(df(z2,z),z,pi/2); 643 644 645 - infinity 646 % infinity 647z3 := z2*(z-pi/2); 648 649 650 3 2 2 3 651 z*( - 2*pi + 9*pi *z - 12*pi*z + 4*z ) 652z3 := ------------------------------------------ 653 4*(sin(z) - 1) 654 655limit(df(z3,z),z,pi/2); 656 657 6582*pi 659 % 2*pi 660 661% A test by Wolfram Koepf. 662f:=x^2/(3*(-27*x^2 - 2*x^3 + 3^(3/2)*(27*x^4 + 4*x^5)^(1/2))^(1/3)); 663 664 665 2 666 x 667f := -------------------------------------------------------- 668 2 3 2 1/3 669 3*(3*sqrt(4*x + 27)*sqrt(3)*abs(x) - 2*x - 27*x ) 670 671L0:=limit(f,x,0); 672 673 674l0 := 0 675 % L0 := 0 676f1:=((f-L0)/x^(1/3))$ 677 678 679L1:=limit(f1,x,0); 680 681 682l1 := 0 683 % L1 := 0 684f2:=((f1-L1)/x^(1/3))$ 685 686 687L2:=limit(f2,x,0); 688 689 690 - 1 691l2 := ------ 692 1/3 693 2 694 % L2 := -1/2^(1/3) 695f3:=((f2-L2)/x^(1/3))$ 696 697 698L3:=limit(f3,x,0); 699 700 701l3 := 0 702 % L3 := 0 703f4:=((f3-L3)/x^(1/3))$ 704 705 706L4:=limit(f4,x,0); 707 708 709l4 := 0 710 % L4 := 0 711f5:=((f4-L4)/x^(1/3))$ 712 713 714L5:=limit(f5,x,0); 715 716 717 2/3 718 - 2 719l5 := --------- 720 81 721 % L5 = -2^(2/3)/81 722f6:=((f5-L5)/x^(1/3))$ 723 724 725L6:=limit(f6,x,0); 726 727 728l6 := 0 729 % L6 := 0 730f7:=((f6-L6)/x^(1/3))$ 731 732 733L7:=limit(f7,x,0); 734 735 736l7 := 0 737 % L7 := 0 738f8:=((f7-L7)/x^(1/3))$ 739 740 741L8:=limit(f8,x,0); 742 743 744 7 745l8 := ----------- 746 1/3 747 6561*2 748 % L8 := 7/(6561*2^(1/3)) 749 750limit(log(1+x)^2/x^(1/3),x,infinity); 751 752 7530 754 % 0 755limit(e^(log(1+x)^2/x^(1/3)),x,infinity); 756 757 7581 759 % 1 760 761ss := (sqrt(x^(2/5) +1) - x^(1/3)-1)/x^(1/3); 762 763 764 2/5 1/3 765 sqrt(x + 1) - x - 1 766ss := --------------------------- 767 1/3 768 x 769 770limit(ss,x,0); 771 772 773-1 774 % -1 775limit(exp(ss),x,0); 776 777 778 1 779--- 780 e 781 % 1/e 782limit(log x,x,-1); 783 784 785log(-1) 786 % log(-1) 787limit(log(ss),x,0); 788 789 790log(-1) 791 % log(-1) 792 793ss := ((x^(1/2) - 1)^(1/3) + (x^(1/5) + 1)^2)/x^(1/5); 794 795 796 1/3 2/5 1/5 797 (sqrt(x) - 1) + x + 2*x + 1 798ss := -------------------------------------- 799 1/5 800 x 801 802limit(ss,x,0); 803 804 8052 806 % 2 807 808h := (X^(1/5) + 3*X**(1/4))^2/(7*(SQRT(X + 9) - 3 - x/6))**(1/5); 809 810 811 1/5 2/5 9/20 812 6 *(x + 6*x + 9*sqrt(x)) 813h := ----------------------------------- 814 1/5 1/5 815 (6*sqrt(x + 9) - x - 18) *7 816 817limit(h,x,0); 818 819 820 3/5 821 - 6 822--------- 823 1/5 824 7 825 % -6^(3/5)/7^(1/5) 826 827comment one sided limit from bug report by Zbynek Konecny ; 828 829 830limit!-((abs(x)-3)/(x-3),x,3); 831 832 8331 834 % 1 835 836end; 837 838Tested on x86_64-pc-windows CSL 839Time (counter 1): 250 ms plus GC time: 15 ms 840 841End of Lisp run after 0.25+0.06 seconds 842real 0.49 843user 0.01 844sys 0.06 845