repeated series expansion

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

repeated series expansion

Vladimir Skokov
Dear all, 

I have only started to learn axiom. Could you help me please? 
I have an expression, say sin(x+y). How could I perform expansion 
withe respect ot x and than to y? 

i.e. 

series(  series(  sin(x+y),x=0  ),y=0   )

thank you in advance 

Yours, Vladimir 

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Ralf Hemmecke
I guess, before somebody can give you any answer, you would have to
specify what expression do you want as an answer.

> series(  series(  sin(x+y),x=0  ),y=0   )

This doesn't work, but it looks as if you want to expand sin(x+y) into a
series in x with some "strange" coefficients.

series(  sin(x+y),x=0)

    (1)
                         sin(y)  2   cos(y)  3   sin(y)  4   cos(y)  5
      sin(y) + cos(y)x - ------ x  - ------ x  + ------ x  + ------ x
                            2           6          24          120
    +
        sin(y)  6   cos(y)  7   sin(y)  8   cos(y)  9    sin(y)  10      11
      - ------ x  - ------ x  + ------ x  + ------ x  - ------- x   +
O(x  )
          720        5040        40320      362880      3628800

               Type: UnivariatePuiseuxSeries(Expression(Integer),x,0)

and then want to expand each coefficient into a series in y.

The result would then be a series in x whose coefficients are *series*
in y. Is that what you want?

Then you would go this way...

TY := UnivariateTaylorSeries(Fraction Integer,'y,0)
TX := UnivariateTaylorSeries(TY,'x,0)
sx := taylor(sin(x+y),x=0)
coeffs := [taylor(t,y=0)::TY for t in coefficients sx]
s := series(coeffs)$TX

That looks a bit complicated, but can you have that in another CAS?
Series with coefficients being series themselves? And these are no
finite objects. You can ask the resulting series for any coefficient you
like.

But I guess, you wanted something else.

Ralf


(1) -> TY := UnivariateTaylorSeries(Fraction Integer,'y,0)


    (1)  UnivariateTaylorSeries(Fraction(Integer),y,0)
 
Type: Type
(2) -> (2) -> TX := UnivariateTaylorSeries(TY,'x,0)

    (2)
 
UnivariateTaylorSeries(UnivariateTaylorSeries(Fraction(Integer),y,0),x,0)
 
Type: Type
(3) -> sx := taylor(sin(x+y),x=0)

    (3)
                         sin(y)  2   cos(y)  3   sin(y)  4   cos(y)  5
      sin(y) + cos(y)x - ------ x  - ------ x  + ------ x  + ------ x
                            2           6          24          120
    +
        sin(y)  6   cos(y)  7   sin(y)  8   cos(y)  9    sin(y)  10      11
      - ------ x  - ------ x  + ------ x  + ------ x  - ------- x   + O(x  )
          720        5040        40320      362880      3628800
                         Type:
UnivariateTaylorSeries(Expression(Integer),x,0)
(4) -> coeffs := [taylor(t,y=0)::TY for t in coefficients sx]

    (4)
         1  3    1   5     1   7      1    9      11
    [y - - y  + --- y  - ---- y  + ------ y  + O(y  ),
         6      120      5040      362880
         1  2    1  4    1   6     1    8      1     10      11
     1 - - y  + -- y  - --- y  + ----- y  - ------- y   + O(y  ),
         2      24      720      40320      3628800
       1      1  3    1   5     1    7      1    9      11
     - - y + -- y  - --- y  + ----- y  - ------ y  + O(y  ),
       2     12      240      10080      725760
       1    1  2    1   4     1   6      1    8       1     10      11
     - - + -- y  - --- y  + ---- y  - ------ y  + -------- y   + O(y  ),
       6   12      144      4320      241920      21772800
      1      1   3     1   5      1    7      1     9      11
     -- y - --- y  + ---- y  - ------ y  + ------- y  + O(y  ),
     24     144      2880      120960      8709120
      1     1   2     1   4     1    6      1     8       1      10      11
     --- - --- y  + ---- y  - ----- y  + ------- y  - --------- y   +
O(y  ),
     120   240      2880      86400      4838400      435456000
        1        1   3     1    5      1     7       1      9      11
     - --- y + ---- y  - ----- y  + ------- y  - --------- y  + O(y  ),
       720     4320      86400      3628800      261273600

            1      1    2      1    4      1     6       1      8
        - ---- + ----- y  - ------ y  + ------- y  - --------- y
          5040   10080      120960      3628800      203212800
      +
             1       10      11
        ----------- y   + O(y  )
        18289152000
      ,
       1          1    3      1     5       1      7        1       9
    11
     ----- y - ------ y  + ------- y  - --------- y  + ----------- y  +
O(y  ),
     40320     241920      4838400      203212800      14631321600

           1        1    2      1     4       1      6        1       8
        ------ - ------ y  + ------- y  - --------- y  + ----------- y
        362880   725760      8709120      261273600      14631321600
      +
                1        10      11
        - ------------- y   + O(y  )
          1316818944000
      ,
     ...]
                   Type:
Stream(UnivariateTaylorSeries(Fraction(Integer),y,0))
(5) -> series(coeffs)$TX

    (5)
          1  3    1   5     1   7      1    9      11
      y - - y  + --- y  - ---- y  + ------ y  + O(y  )
          6      120      5040      362880
    +
           1  2    1  4    1   6     1    8      1     10      11
      (1 - - y  + -- y  - --- y  + ----- y  - ------- y   + O(y  ))x
           2      24      720      40320      3628800
    +
         1      1  3    1   5     1    7      1    9      11   2
      (- - y + -- y  - --- y  + ----- y  - ------ y  + O(y  ))x
         2     12      240      10080      725760
    +
         1    1  2    1   4     1   6      1    8       1     10      11   3
      (- - + -- y  - --- y  + ---- y  - ------ y  + -------- y   + O(y  ))x
         6   12      144      4320      241920      21772800
    +
        1      1   3     1   5      1    7      1     9      11   4
      (-- y - --- y  + ---- y  - ------ y  + ------- y  + O(y  ))x
       24     144      2880      120960      8709120
    +
        1     1   2     1   4     1    6      1     8       1      10
    11   5
      (--- - --- y  + ---- y  - ----- y  + ------- y  - --------- y   +
O(y  ))x
       120   240      2880      86400      4838400      435456000
    +
          1        1   3     1    5      1     7       1      9      11   6
      (- --- y + ---- y  - ----- y  + ------- y  - --------- y  + O(y  ))x
         720     4320      86400      3628800      261273600
    +
              1      1    2      1    4      1     6       1      8
          - ---- + ----- y  - ------ y  + ------- y  - --------- y
            5040   10080      120960      3628800      203212800
        +
               1       10      11
          ----------- y   + O(y  )
          18289152000
     *
         7
        x
    +
              1          1    3      1     5       1      7        1       9
            ----- y - ------ y  + ------- y  - --------- y  + ----------- y
            40320     241920      4838400      203212800      14631321600
          +
               11
            O(y  )
     *
         8
        x
    +
             1        1    2      1     4       1      6        1       8
          ------ - ------ y  + ------- y  - --------- y  + ----------- y
          362880   725760      8709120      261273600      14631321600
        +
                  1        10      11
          - ------------- y   + O(y  )
            1316818944000
     *
         9
        x
    +
               1            1     3       1      5        1       7
          - ------- y + -------- y  - --------- y  + ----------- y
            3628800     21772800      435456000      18289152000
        +
                  1        9      11
          - ------------- y  + O(y  )
            1316818944000
     *
         10
        x
    +
         11
      O(x  )
Type:
UnivariateTaylorSeries(UnivariateTaylorSeries(Fraction(Integer),y,0),x,0)

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Vladimir Skokov
The problem is that my function contains logs, it is not just Taylor series.

For instance, I'd like to  expand f(x,y)log(x) + g(x,y) at x=0, y=0. 
So I expect to obtain
 (expansion of f(x,y)) * log(x) + expansion of g(x,y)

e.g. for one variable "series" does a good job
series(sin(x)*log(x),x=0)
(5) -> 
   (5)
               log(x)  3   log(x)  5   log(x)  7   log(x)  9    log(x)   11
     log(x)x - ------ x  + ------ x  - ------ x  + ------ x  - -------- x
                  6          120        5040       362880      39916800
   + 
        12
     O(x  )
                   Type: GeneralUnivariatePowerSeries(Expression Integer,x,0)

However this is not Taylor series and therefore I cannot extract coefficients as you specified. 
Of course the example I have written is oversimplified. I do not know the structure of the function, 
it can contain sin(log(x)) for example. 

Mathematica allows repeated series expansion, however it fails with complicated expressions
due to some memory limitation.  


On Fri, Jul 16, 2010 at 12:22 PM, Ralf Hemmecke <[hidden email]> wrote:
I guess, before somebody can give you any answer, you would have to specify what expression do you want as an answer.


series(  series(  sin(x+y),x=0  ),y=0   )

This doesn't work, but it looks as if you want to expand sin(x+y) into a series in x with some "strange" coefficients.


series(  sin(x+y),x=0)

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

and then want to expand each coefficient into a series in y.

The result would then be a series in x whose coefficients are *series* in y. Is that what you want?

Then you would go this way...

TY := UnivariateTaylorSeries(Fraction Integer,'y,0)
TX := UnivariateTaylorSeries(TY,'x,0)
sx := taylor(sin(x+y),x=0)
coeffs := [taylor(t,y=0)::TY for t in coefficients sx]
s := series(coeffs)$TX

That looks a bit complicated, but can you have that in another CAS? Series with coefficients being series themselves? And these are no finite objects. You can ask the resulting series for any coefficient you like.

But I guess, you wanted something else.

Ralf


(1) -> TY := UnivariateTaylorSeries(Fraction Integer,'y,0)


  (1)  UnivariateTaylorSeries(Fraction(Integer),y,0)

Type: Type
(2) -> (2) -> TX := UnivariateTaylorSeries(TY,'x,0)

  (2)

UnivariateTaylorSeries(UnivariateTaylorSeries(Fraction(Integer),y,0),x,0)

Type: Type
(3) -> sx := taylor(sin(x+y),x=0)

  (3)
                       sin(y)  2   cos(y)  3   sin(y)  4   cos(y)  5
    sin(y) + cos(y)x - ------ x  - ------ x  + ------ x  + ------ x
                          2           6          24          120
  +
      sin(y)  6   cos(y)  7   sin(y)  8   cos(y)  9    sin(y)  10      11
    - ------ x  - ------ x  + ------ x  + ------ x  - ------- x   + O(x  )
        720        5040        40320      362880      3628800
                       Type: UnivariateTaylorSeries(Expression(Integer),x,0)
(4) -> coeffs := [taylor(t,y=0)::TY for t in coefficients sx]

  (4)
       1  3    1   5     1   7      1    9      11
  [y - - y  + --- y  - ---- y  + ------ y  + O(y  ),
       6      120      5040      362880
       1  2    1  4    1   6     1    8      1     10      11
   1 - - y  + -- y  - --- y  + ----- y  - ------- y   + O(y  ),
       2      24      720      40320      3628800
     1      1  3    1   5     1    7      1    9      11
   - - y + -- y  - --- y  + ----- y  - ------ y  + O(y  ),
     2     12      240      10080      725760
     1    1  2    1   4     1   6      1    8       1     10      11
   - - + -- y  - --- y  + ---- y  - ------ y  + -------- y   + O(y  ),
     6   12      144      4320      241920      21772800
    1      1   3     1   5      1    7      1     9      11
   -- y - --- y  + ---- y  - ------ y  + ------- y  + O(y  ),
   24     144      2880      120960      8709120
    1     1   2     1   4     1    6      1     8       1      10      11
   --- - --- y  + ---- y  - ----- y  + ------- y  - --------- y   + O(y  ),
   120   240      2880      86400      4838400      435456000
      1        1   3     1    5      1     7       1      9      11
   - --- y + ---- y  - ----- y  + ------- y  - --------- y  + O(y  ),
     720     4320      86400      3628800      261273600

          1      1    2      1    4      1     6       1      8
      - ---- + ----- y  - ------ y  + ------- y  - --------- y
        5040   10080      120960      3628800      203212800
    +
           1       10      11
      ----------- y   + O(y  )
      18289152000
    ,
     1          1    3      1     5       1      7        1       9    11
   ----- y - ------ y  + ------- y  - --------- y  + ----------- y  + O(y  ),
   40320     241920      4838400      203212800      14631321600

         1        1    2      1     4       1      6        1       8
      ------ - ------ y  + ------- y  - --------- y  + ----------- y
      362880   725760      8709120      261273600      14631321600
    +
              1        10      11
      - ------------- y   + O(y  )
        1316818944000
    ,
   ...]
                 Type: Stream(UnivariateTaylorSeries(Fraction(Integer),y,0))
(5) -> series(coeffs)$TX

  (5)
        1  3    1   5     1   7      1    9      11
    y - - y  + --- y  - ---- y  + ------ y  + O(y  )
        6      120      5040      362880
  +
         1  2    1  4    1   6     1    8      1     10      11
    (1 - - y  + -- y  - --- y  + ----- y  - ------- y   + O(y  ))x
         2      24      720      40320      3628800
  +
       1      1  3    1   5     1    7      1    9      11   2
    (- - y + -- y  - --- y  + ----- y  - ------ y  + O(y  ))x
       2     12      240      10080      725760
  +
       1    1  2    1   4     1   6      1    8       1     10      11   3
    (- - + -- y  - --- y  + ---- y  - ------ y  + -------- y   + O(y  ))x
       6   12      144      4320      241920      21772800
  +
      1      1   3     1   5      1    7      1     9      11   4
    (-- y - --- y  + ---- y  - ------ y  + ------- y  + O(y  ))x
     24     144      2880      120960      8709120
  +
      1     1   2     1   4     1    6      1     8       1      10    11   5
    (--- - --- y  + ---- y  - ----- y  + ------- y  - --------- y   + O(y  ))x
     120   240      2880      86400      4838400      435456000
  +
        1        1   3     1    5      1     7       1      9      11   6
    (- --- y + ---- y  - ----- y  + ------- y  - --------- y  + O(y  ))x
       720     4320      86400      3628800      261273600
  +
            1      1    2      1    4      1     6       1      8
        - ---- + ----- y  - ------ y  + ------- y  - --------- y
          5040   10080      120960      3628800      203212800
      +
             1       10      11
        ----------- y   + O(y  )
        18289152000
   *
       7
      x
  +
            1          1    3      1     5       1      7        1       9
          ----- y - ------ y  + ------- y  - --------- y  + ----------- y
          40320     241920      4838400      203212800      14631321600
        +
             11
          O(y  )
   *
       8
      x
  +
           1        1    2      1     4       1      6        1       8
        ------ - ------ y  + ------- y  - --------- y  + ----------- y
        362880   725760      8709120      261273600      14631321600
      +
                1        10      11
        - ------------- y   + O(y  )
          1316818944000
   *
       9
      x
  +
             1            1     3       1      5        1       7
        - ------- y + -------- y  - --------- y  + ----------- y
          3628800     21772800      435456000      18289152000
      +
                1        9      11
        - ------------- y  + O(y  )
          1316818944000
   *
       10
      x
  +
       11
    O(x  )
Type: UnivariateTaylorSeries(UnivariateTaylorSeries(Fraction(Integer),y,0),x,0)

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math



--

_____________________________________________

Dr. Vladimir Skokov

Theory Division
GSI Helmholtzzentrum für Schwerionenforschung GmbH
Planckstraße 1
D-64291 Darmstadt
------------------------------------------------------------------------
email:   [hidden email]
phone: +49 6159-71 2751
fax  :    +49 6159-71 2990

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Ralf Hemmecke
On 07/16/2010 12:52 PM, Vladimir Skokov wrote:
> The problem is that my function contains logs, it is not just Taylor series.

> For instance, I'd like to  expand f(x,y)log(x) + g(x,y) at x=0, y=0.
> So I expect to obtain
>   (expansion of f(x,y)) * log(x) + expansion of g(x,y)

Why don't people write exact specifications? The above is meaningless
unless you specify how your output should look like.

Do you want to have a taylor series in x which has coefficients being
taylor series in y? Or do you want the same with roles of x and y
exchanged? Or do you want a *univariate* power series whose coefficients
are (homogeneous) polynomials in x and y with a degree corresponding to
the degree of the power in the taylor series?

Specify exactly what you want otherwise nobody will be able to help you.
I am not willing to guess your specification.

> e.g. for one variable "series" does a good job
> series(sin(x)*log(x),x=0)
> (5) ->
>     (5)
>                 log(x)  3   log(x)  5   log(x)  7   log(x)  9    log(x)   11
>       log(x)x - ------ x  + ------ x  - ------ x  + ------ x  - -------- x
>                    6          120        5040       362880      39916800
>     +
>          12
>       O(x  )
>                     Type: GeneralUnivariatePowerSeries(Expression
> Integer,x,0)

> However this is not Taylor series and therefore I cannot extract
> coefficients as you specified.

????

Look at the type. So we have

(3) -> coefficient(s,1)

    (3)  log(x)
                                    Type: Expression(Integer)

I agree, that this might not be what you expected, but that is the
problem with your input. You haven't exactly specified what you wanted.
Believe it or not, Axiom considers "log(x)" as a separate variable.

More natural would be something like

U := UnivariateTaylorSeries(Fraction Integer, 'x, 1)
x: U := x::U
log(x)

    (3)
                1        2   1        3   1        4   1        5   1
      6
      (x - 1) - - (x - 1)  + - (x - 1)  - - (x - 1)  + - (x - 1)  - - (x
- 1)
                2            3            4            5            6
    +
      1        7   1        8   1        9    1        10            11
      - (x - 1)  - - (x - 1)  + - (x - 1)  - -- (x - 1)   + O((x - 1)  )
      7            8            9            10
                           Type:
UnivariateTaylorSeries(Fraction(Integer),x,1)

Now the error message


(6) -> sin x

    >> Error detected within library code:
    "sincos: series expansion involves transcendental constants"


should be clear. The result is simply not representable, by a series
with just rational coefficients.

Try

V := UnivariateTaylorSeries(Expression Integer, 'y, 1)
y: V := y::V
sin(y)
sin(y)*log(y)

instead.

It all depends on what you want. AXIOM *is* different from other CAS.

> Of course the example I have written is oversimplified. I do not know
> the structure of the function, it can contain sin(log(x)) for example.

But you know what you want as a result.

> Mathematica allows repeated series expansion, however it fails with
> complicated expressions due to some memory limitation.

A Mathematica Series is a *truncated* series. Remove the initial terms
and all you are left with is an O(x^10) expression which will not
deliver any more coefficients. AXIOM's series really represent infinite
objects.

Ralf

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Vladimir Skokov
Dear Ralf, 
thank you for help! I have got program working. 
I am sorry for being annoying, but I only start using axiom. 
Thank you ;)  

On Fri, Jul 16, 2010 at 2:08 PM, Ralf Hemmecke <[hidden email]> wrote:
On 07/16/2010 12:52 PM, Vladimir Skokov wrote:
The problem is that my function contains logs, it is not just Taylor series.

For instance, I'd like to  expand f(x,y)log(x) + g(x,y) at x=0, y=0.
So I expect to obtain
 (expansion of f(x,y)) * log(x) + expansion of g(x,y)

Why don't people write exact specifications? The above is meaningless unless you specify how your output should look like.

Do you want to have a taylor series in x which has coefficients being taylor series in y? Or do you want the same with roles of x and y exchanged? Or do you want a *univariate* power series whose coefficients are (homogeneous) polynomials in x and y with a degree corresponding to the degree of the power in the taylor series?

Specify exactly what you want otherwise nobody will be able to help you.
I am not willing to guess your specification.


e.g. for one variable "series" does a good job
series(sin(x)*log(x),x=0)
(5) ->
   (5)
               log(x)  3   log(x)  5   log(x)  7   log(x)  9    log(x)   11
     log(x)x - ------ x  + ------ x  - ------ x  + ------ x  - -------- x
                  6          120        5040       362880      39916800
   +
        12
     O(x  )
                   Type: GeneralUnivariatePowerSeries(Expression
Integer,x,0)

However this is not Taylor series and therefore I cannot extract
coefficients as you specified.

????

Look at the type. So we have

(3) -> coefficient(s,1)

  (3)  log(x)
                                  Type: Expression(Integer)

I agree, that this might not be what you expected, but that is the problem with your input. You haven't exactly specified what you wanted.
Believe it or not, Axiom considers "log(x)" as a separate variable.

More natural would be something like

U := UnivariateTaylorSeries(Fraction Integer, 'x, 1)
x: U := x::U
log(x)

  (3)
              1        2   1        3   1        4   1        5   1      6
    (x - 1) - - (x - 1)  + - (x - 1)  - - (x - 1)  + - (x - 1)  - - (x - 1)
              2            3            4            5            6
  +
    1        7   1        8   1        9    1        10            11
    - (x - 1)  - - (x - 1)  + - (x - 1)  - -- (x - 1)   + O((x - 1)  )
    7            8            9            10
                         Type: UnivariateTaylorSeries(Fraction(Integer),x,1)

Now the error message


(6) -> sin x

  >> Error detected within library code:
  "sincos: series expansion involves transcendental constants"


should be clear. The result is simply not representable, by a series with just rational coefficients.

Try

V := UnivariateTaylorSeries(Expression Integer, 'y, 1)
y: V := y::V
sin(y)
sin(y)*log(y)

instead.

It all depends on what you want. AXIOM *is* different from other CAS.


Of course the example I have written is oversimplified. I do not know
the structure of the function, it can contain sin(log(x)) for example.

But you know what you want as a result.


Mathematica allows repeated series expansion, however it fails with
complicated expressions due to some memory limitation.

A Mathematica Series is a *truncated* series. Remove the initial terms and all you are left with is an O(x^10) expression which will not deliver any more coefficients. AXIOM's series really represent infinite objects.

Ralf


_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math



--

_____________________________________________

Dr. Vladimir Skokov

Theory Division
GSI Helmholtzzentrum für Schwerionenforschung GmbH
Planckstraße 1
D-64291 Darmstadt
------------------------------------------------------------------------
email:   [hidden email]
phone: +49 6159-71 2751
fax  :    +49 6159-71 2990

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Martin Rubey-3
In reply to this post by Vladimir Skokov
Vladimir Skokov <[hidden email]> writes:

> Dear all, 
>
> I have only started to learn axiom. Could you help me please? 
> I have an expression, say sin(x+y). How could I perform expansion 
> withe respect ot x and than to y? 
>
> i.e. 
>
> series(  series(  sin(x+y),x=0  ),y=0   )
>
> thank you in advance 

In axiom there is another option:

(1) -> x := 'X::TS FRAC INT; y := 'Y::TS FRAC INT;

                                        Type: TaylorSeries(Fraction(Integer))
(2) -> sin(x+y)

                     1  3   1    2   1  2    1  3
   (2)  (Y + X) + (- - Y  - - X Y  - - X Y - - X ) + O(5)
                     6      2        2       6
                                        Type: TaylorSeries(Fraction(Integer))

However, currently there is no domain for generalised multivariate
Taylor series.  I don't know how difficult that would be, and I didn't
think the maths through either.

Martin

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Ralf Hemmecke
> In axiom there is another option:
>
> (1) ->  x := 'X::TS FRAC INT; y := 'Y::TS FRAC INT;
>
>                                          Type: TaylorSeries(Fraction(Integer))
> (2) ->  sin(x+y)
>
>                       1  3   1    2   1  2    1  3
>     (2)  (Y + X) + (- - Y  - - X Y  - - X Y - - X ) + O(5)
>                       6      2        2       6
>                                          Type: TaylorSeries(Fraction(Integer))

Thanks, Martin. That is exactly the representation with the
(homogeneous) polynomial coefficients I was talking about here...
http://lists.nongnu.org/archive/html/axiom-math/2010-07/msg00003.html

> However, currently there is no domain for generalised multivariate
> Taylor series.

Could you say, what you actually mean by "generalized multivariate TS"?

Ralf

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Raymond Rogers-3
In reply to this post by Martin Rubey-3
Martin Rubey wrote:
Vladimir Skokov [hidden email] writes:

  
Dear all, 

I have only started to learn axiom. Could you help me please? 
I have an expression, say sin(x+y). How could I perform expansion 
withe respect ot x and than to y? 

i.e. 

series(  series(  sin(x+y),x=0  ),y=0   )

thank you in advance 
    

In axiom there is another option:

(1) -> x := 'X::TS FRAC INT; y := 'Y::TS FRAC INT;

                                        Type: TaylorSeries(Fraction(Integer))
(2) -> sin(x+y)

                     1  3   1    2   1  2    1  3
   (2)  (Y + X) + (- - Y  - - X Y  - - X Y - - X ) + O(5)
                     6      2        2       6
                                        Type: TaylorSeries(Fraction(Integer))

However, currently there is no domain for generalised multivariate
Taylor series.  I don't know how difficult that would be, and I didn't
think the maths through either.

  
That's interesting.  How does "MultivariateTaylorSeriesCategory()" from bookvol 10.2 page 1026  fall short?
I have never used it; but it seemed relevant to the above.

Ray

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math
Reply | Threaded
Open this post in threaded view
|

Re: repeated series expansion

Ralf Hemmecke
> That's interesting.  How does "MultivariateTaylorSeriesCategory()" from
> bookvol 10.2 page 1026  fall short?

It's a category, not a domain. And if you look into the source code then
we find even.

TaylorSeries(Coef): Exports == Implementation where
   Coef  : Ring
   L   ==> List
   NNI ==> NonNegativeInteger
   SMP ==> Polynomial Coef
   StS ==> Stream SMP

   Exports ==> MultivariateTaylorSeriesCategory(Coef,Symbol) with
     ...

   Implementation ==> SparseMultivariateTaylorSeries(Coef,Symbol,SMP) add
     Rep := StS -- Below we use the fact that Rep of PS is Stream SMP.
     ...

The domain SparseMultivariateTaylorSeries is relatively general. It
allows to specify the type of polynomials that serve as coefficients of
a (univariate) power series. That's a bit of an implementation detail,
but quite flexible.

Ralf

_______________________________________________
Axiom-math mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/axiom-math