> series(n +-> 1^n / factorial(n), x = 0)

Note that with this input your output type will be
UnivariatePuiseuxSeries(Expression(Integer),x,0).

Not bad, but you can have more control over the result type if you like.
Then, however, you have have to make sure that the interpreter does not
need to guess what you actually mean.

I demonstrate this now for

> series(n +-> %i^n / factorial(n), x = 0)

(1) -> Z==>Integer;Q==>Fraction Z;C==>Complex Q;S==>Stream C
                                                                   Type:
Void
(2) -> n:=1

   (2)  1
                                                        Type:
PositiveInteger
(3) -> nextCoefficient(c: C): C == (r:C := imaginary()*c/n; n:=n+1; r)
   Function declaration nextCoefficient : Complex(Fraction(Integer))
       -> Complex(Fraction(Integer)) has been added to workspace.
                                                                   Type:
Void
(4) -> s: S := generate(nextCoefficient, 1$C)
   Compiling function nextCoefficient with type Complex(Fraction(
      Integer)) -> Complex(Fraction(Integer))

                1   1     1  1        1      1       1      1
   (4)  [1,%i,- -,- - %i,--,--- %i,- ---,- ---- %i,-----,------ %i,...]
                2   6    24 120      720   5040    40320 362880
                                     Type:
Stream(Complex(Fraction(Integer)))
(5) -> series(s)$UnivariateTaylorSeries(C, x, 0)

   (5)
                1  2   1     3    1  4    1      5    1   6     1      7
     1 + %i x - - x  - - %i x  + -- x  + --- %i x  - --- x  - ---- %i x
                2      6         24      120         720      5040
   +
       1    8      1       9      1     10      11
     ----- x  + ------ %i x  - ------- x   + O(x  )
     40320      362880         3628800
                 Type:
UnivariateTaylorSeries(Complex(Fraction(Integer)),x,0)


UnivariateTaylorSeries does not itself allow a construction from a
coefficient function co: Z -> C.

But look at
https://github.com/hemmecke/fricas-svn/blob/master/src/algebra/genups.spad.pamphlet#L126
and in particular the auxiliary stream that is constructed there.

It should be possible to call "taylor" from there like

(20) -> taylor((n:Integer):Expression(Complex Integer) +-> %i^n /
factorial(n), x = 0)

   (20)
                1  2   %i  3    1  4    %i  5    1   6    %i   7     1    8
     1 + %i x - - x  - -- x  + -- x  + --- x  - --- x  - ---- x  + ----- x
                2       6      24      120      720      5040      40320
   +
       %i    9      1     10      11
     ------ x  - ------- x   + O(x  )
     362880      3628800
               Type:
UnivariateTaylorSeries(Expression(Complex(Integer)),x,0)

or even

(21) -> series((n:Integer):Expression(Complex Integer) +-> %i^n /
factorial(n), x = 0)

   (21)
                1  2   %i  3    1  4    %i  5    1   6    %i   7     1    8
     1 + %i x - - x  - -- x  + -- x  + --- x  - --- x  - ---- x  + ----- x
                2       6      24      120      720      5040      40320
   +
       %i    9      1     10      11
     ------ x  - ------- x   + O(x  )
     362880      3628800
              Type:
UnivariatePuiseuxSeries(Expression(Complex(Integer)),x,0)

However, look in particular at the result type, because it might not
exactly be that what you want for doing further computation.

Hope that helps.

Ralf

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to