File r36/xlog/TPS.LOG artifact 99d412b865 part of check-in 52fc28dabe


REDUCE 3.6, 15-Jul-95, patched to 6 Mar 96 ...


% Author: Alan Barnes <barnesa@aston.ac.uk>.

psexplim 8;


6

% expand as far as 8th power (default is 6)

cos!-series:=ps(cos x,x,0);


                     1    2     1     4      1     6       1      8
cos-series := {1 - (---)*x  + (----)*x  - (-----)*x  + (-------)*x
                     2          24          720          40320
                    9
               + O(x )}

sin!-series:=ps(sin x,x,0);


                     1    3      1     5      1      7      9
sin-series := {x - (---)*x  + (-----)*x  - (------)*x  + O(x )}
                     6          120          5040

atan!-series:=ps(atan x,x,0);


                      1    3     1    5     1    7      9
atan-series := {x - (---)*x  + (---)*x  - (---)*x  + O(x )}
                      3          5          7

tan!-series:=ps(tan x,x,0);


                     1    3     2     5     17     7      9
tan-series := {x + (---)*x  + (----)*x  + (-----)*x  + O(x )}
                     3          15          315


cos!-series*tan!-series;


       1    3      1     5      1      7      9
{x - (---)*x  + (-----)*x  - (------)*x  + O(x )}
       6          120          5040
        % should series for sin(x)
df(cos!-series,x);


          1    3      1     5      1      7      9
{ - x + (---)*x  - (-----)*x  + (------)*x  + O(x )}
          6          120          5040
              % series for sin(x) again

cos!-series/atan!-series;


  (-1)     1         77     3     313     5     104539     7
{x     - (---)*x - (-----)*x  + (------)*x  - (---------)*x
           6         360          3024          1814400
      9
 + O(x )}


ps(cos!-series/atan!-series,x,0);


  (-1)     1         77     3     313     5     104539     7
{x     - (---)*x - (-----)*x  + (------)*x  - (---------)*x
           6         360          3024          1814400
      9
 + O(x )}
       % should be expanded


tmp:=ps(1/(1+x^2),x,infinity);


         (-2)    (-4)    (-6)    (-8)      (-9)
tmp := {x     - x     + x     - x     + O(x    )}

df(tmp,x);


       (-3)      (-5)      (-7)      (-9)
{ - 2*x     + 4*x     - 6*x     + O(x    )}

ps(df(1/(1+x^2),x),x,infinity);


       (-3)      (-5)      (-7)      (-9)
{ - 2*x     + 4*x     - 6*x     + O(x    )}


tmp*x;


  (-2)    (-4)    (-6)    (-8)      (-9)
{x     - x     + x     - x     + O(x    )}
*x
  % not expanded as a single power series
ps(tmp*x,x,infinity);


  (-1)    (-3)    (-5)    (-7)      (-9)
{x     - x     + x     - x     + O(x    )}
   % now expanded

ps(1/(a*x-b*x^2),x,a/b);


                                      2                 3
       1           (-1)     b        b                 b            2
[{ - (---)*(x - x0)     + (----) - (----)*(x - x0) + (----)*(x - x0)  - 
       a                     2        3                 4
                            a        a                 a
     4                  5                  6
    b            3     b            4     b            5
  (----)*(x - x0)  + (----)*(x - x0)  - (----)*(x - x0)  + 
     5                  6                  7
    a                  a                  a
     7                  8                  9
    b            6     b            7     b             8
  (----)*(x - x0)  - (----)*(x - x0)  + (-----)*(x - x0)
     8                  9                  10
    a                  a                  a
             9                a
 + O((x - x0) )}  where x0 = ---]
                              b
   % pole at expansion point

ps(cos!-series*x,x,2);


                                                                     2
{(2*cos(2)) + (cos(2) - 2*sin(2))*(x - 2) - (cos(2) + sin(2))*(x - 2)  - 
    3*cos(2) - 2*sin(2)          3     cos(2) + 2*sin(2)          4
  (---------------------)*(x - 2)  + (-------------------)*(x - 2)  + 
             6                                12
    5*cos(2) - 2*sin(2)          5     cos(2) + 3*sin(2)          6
  (---------------------)*(x - 2)  - (-------------------)*(x - 2)  - 
            120                               360
    7*cos(2) - 2*sin(2)          7     cos(2) + 4*sin(2)          8
  (---------------------)*(x - 2)  + (-------------------)*(x - 2)
           5040                              20160
            9
 + O((x - 2) )}


tmp:=ps(x/atan!-series,x,0);


              1    2     4     4     44     6      428     8
tmp := {1 + (---)*x  - (----)*x  + (-----)*x  - (-------)*x
              3          45          945          14175
             9
        + O(x )}

tmp1:=ps(atan!-series/x,x,0);


               1    2     1    4     1    6     1    8      9
tmp1 := {1 - (---)*x  + (---)*x  - (---)*x  + (---)*x  + O(x )}
               3          5          7          9

tmp*tmp1;


1
               % should be 1, of course


cos!-sin!-series:=ps(cos sin!-series,x,0);


                         1    2     5     4     37     6
cos-sin-series := {1 - (---)*x  + (----)*x  - (-----)*x  + 
                         2          24          720
                       457     8      9
                    (-------)*x  + O(x )}
                      40320

% cos(sin(x))
tmp:=cos!-sin!-series^2;


             2     2    4     14    6     37     8      9
tmp := {1 - x  + (---)*x  - (----)*x  + (-----)*x  + O(x )}
                   3          45          315

tmp1:=ps((sin(sin!-series))^2,x,0);


          2     2    4     14    6     37     8      9
tmp1 := {x  - (---)*x  + (----)*x  - (-----)*x  + O(x )}
                3          45          315

tmp+tmp1;


        9
{1 + O(x )}
               % sin^2 + cos^2
psfunction tmp1;


           2
sin(sin(x))

% function represented by power series tmp1

tmp:=tan!-series^2;


         2     2    4     17    6     62     8      9
tmp := {x  + (---)*x  + (----)*x  + (-----)*x  + O(x )}
               3          45          315

psdepvar tmp;


x

% in case we have forgotten the dependent variable
psexpansionpt tmp;


0
      % .... or the expansion point
psterm(tmp,6);


 17
----
 45
  % select 6th term

tmp1:=ps(1/(cos x)^2,x,0);


              2     2    4     17    6     62     8      9
tmp1 := {1 + x  + (---)*x  + (----)*x  + (-----)*x  + O(x )}
                    3          45          315

tmp1-tmp;


        9
{1 + O(x )}
       % sec^2-tan^2

ps(int(e^(x^2),x),x,0);


       1    3     1     5     1     7      9
{x + (---)*x  + (----)*x  + (----)*x  + O(x )}
       3          10          42
 % integrator not called
tmp:=ps(1/(y+x),x,0);


          1       1          1     2     1     3     1     4
tmp := {(---) - (----)*x + (----)*x  - (----)*x  + (----)*x  - 
          y        2          3           4           5
                  y          y           y           y
           1     5     1     6     1     7     1     8      9
         (----)*x  + (----)*x  - (----)*x  + (----)*x  + O(x )}
            6           7           8           9
           y           y           y           y

ps(int(tmp,y),x,0);


            1          1      2      1      3      1      4
{log(y) + (---)*x - (------)*x  + (------)*x  - (------)*x  + 
            y            2             3             4
                      2*y           3*y           4*y
     1      5      1      6      1      7      1      8      9
  (------)*x  - (------)*x  + (------)*x  - (------)*x  + O(x )}
       5             6             7             8
    5*y           6*y           7*y           8*y
     % integrator called on each coefficient

pscompose(cos!-series,sin!-series);


       1    2     5     4     37     6      457     8      9
{1 - (---)*x  + (----)*x  - (-----)*x  + (-------)*x  + O(x )}
       2          24          720          40320

% power series composition cos(sin(x)) again
cos!-sin!-series;


       1    2     5     4     37     6      457     8      9
{1 - (---)*x  + (----)*x  - (-----)*x  + (-------)*x  + O(x )}
       2          24          720          40320

% should be same as previous result
psfunction cos!-sin!-series;


cos(sin(x))


tmp:=ps(log x,x,1);


                    1          2     1          3     1          4
tmp := {(x - 1) - (---)*(x - 1)  + (---)*(x - 1)  - (---)*(x - 1)  + 
                    2                3                4
           1          5     1          6     1          7
         (---)*(x - 1)  - (---)*(x - 1)  + (---)*(x - 1)  - 
           5                6                7
           1          8            9
         (---)*(x - 1)  + O((x - 1) )}
           8

tmp1:=pscompose(tmp, cos!-series);


              1    2     1     4     1     6      17     8
tmp1 := { - (---)*x  - (----)*x  - (----)*x  - (------)*x
              2          12          45          2520
              9
         + O(x )}

% power series composition of log(cos(x))
df(tmp1,x);


          1    3     2     5     17     7      9
{ - x - (---)*x  - (----)*x  - (-----)*x  + O(x )}
          3          15          315


psreverse tan!-series;


       1    3     1    5     1    7      9
{x - (---)*x  + (---)*x  - (---)*x  + O(x )}
       3          5          7

% should be series for atan y
atan!-series;


       1    3     1    5     1    7      9
{x - (---)*x  + (---)*x  - (---)*x  + O(x )}
       3          5          7

tmp:=ps(e^x,x,0);


                  1    2     1    3     1     4      1     5
tmp := {1 + x + (---)*x  + (---)*x  + (----)*x  + (-----)*x  + 
                  2          6          24          120
            1     6      1      7       1      8      9
         (-----)*x  + (------)*x  + (-------)*x  + O(x )}
           720          5040          40320

psreverse tmp;


             1          2     1          3     1          4
{(x - 1) - (---)*(x - 1)  + (---)*(x - 1)  - (---)*(x - 1)  + 
             2                3                4
    1          5     1          6     1          7     1          8
  (---)*(x - 1)  - (---)*(x - 1)  + (---)*(x - 1)  - (---)*(x - 1)
    5                6                7                8
            9
 + O((x - 1) )}

% NB expansion of log y  in powers of (y-1)

end;
(TIME:  tps 800 870)


REDUCE Historical
REDUCE Sourceforge Project | Historical SVN Repository | GitHub Mirror | SourceHut Mirror | NotABug Mirror | Chisel Mirror | Chisel RSS ]