Taking the derivative of a term of the form x^n will produce a term like @c{$n x^{n-1}$} n x^(n-1). Taking the derivative of a constant produces zero. From this it is easy to see that the nth derivative of a polynomial, evaluated at x = 0, will equal the coefficient on the x^n term times n!.

(Because this definition is long, it will be repeated in concise form
below. You can use `M-# m` to load it from there. While you are
entering a `Z ` Z '` body in a macro, Calc simply collects
keystrokes without executing them. In the following diagrams we'll
pretend Calc actually executed the keystrokes as you typed them,
just for purposes of illustration.)

2: 5 x^4 + (x + 1)^2 3: 5 x^4 + (x + 1)^2 1: 6 2: 0 . 1: 6 . ' 5 x^4 + (x+1)^2 RET 6 C-x ( Z ` [ ] t 1 0 TAB

Variable 1 will accumulate the vector of coefficients.

2: 0 3: 0 2: 5 x^4 + ... 1: 5 x^4 + ... 2: 5 x^4 + ... 1: 1 . 1: 1 . . Z ( TAB RET 0 s l x RET M-TAB ! / s | 1

Note that `s | 1` appends the top-of-stack value to the vector
in a variable; it is completely analogous to `s + 1`. We could
have written instead, `r 1 TAB | t 1`.

1: 20 x^3 + 2 x + 2 1: 0 1: [1, 2, 1, 0, 5, 0, 0] . . . a d x RET 1 Z ) DEL r 1 Z ' C-x )

To convert back, a simple method is just to map the coefficients against a table of powers of x.

2: [1, 2, 1, 0, 5, 0, 0] 2: [1, 2, 1, 0, 5, 0, 0] 1: 6 1: [0, 1, 2, 3, 4, 5, 6] . . 6 RET 1 + 0 RET 1 C-u v x

2: [1, 2, 1, 0, 5, 0, 0] 2: 1 + 2 x + x^2 + 5 x^4 1: [1, x, x^2, x^3, ... ] . . ' x RET TAB V M ^ *

Once again, here are the whole polynomial to/from vector programs:

C-x ( Z ` [ ] t 1 0 TAB Z ( TAB RET 0 s l x RET M-TAB ! / s | 1 a d x RET 1 Z ) r 1 Z ' C-x ) C-x ( 1 + 0 RET 1 C-u v x ' x RET TAB V M ^ * C-x )

Go to the first, previous, next, last section, table of contents.