Sample 28. Polynomials: Stopes

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Dictionary

28. Polynomials: Stopes
The expression`*/ x + s * i. n` is often called a factorial function but, to avoid confusion with the function`!` , we will call it a stope; the factors occurring in its definition differ by steps of size`s`,`` like the steps in a mine stope. Stopes are useful in actuarial work and in the difference calculus.
The stope is a variant of the power`^` (being equivalent for the case`s=:0`), and is provided by the fit conjunction in the variant`^!.s`. For example:

       x + s * i. n  [ x=: 7 [ n=: 5 [ s=: _1
    7 6 5 4 3

       (*/x + s * i. n);(x ^!.s n);(x ^!.0 n);(x^n)
    +----+----+-----+-----+
    |2520|2520|16807|16807|
    +----+----+-----+-----+

The phrase`+/c * x^!.s i.#c` is called a stope polynomial, just as`+/c*x^i.#c` may be called a power polynomial. We define an adverb`P` that applies to any step size`s` to provide the corresponding stope polynomial:

       P=: 1 : '+/@([ * ] ^!. x. i.@#@[)"1 0'
       c=: 1 3 3 1 [ d=: 1 7 6 1 [ x=: 0 1 2 3 4
       (c p. x);(c 0 P x);(d _1 P x);(d p.!._1 x)
    +-------------+-------------+-------------+-------------+
    |1 8 27 64 125|1 8 27 64 125|1 8 27 64 125|1 8 27 64 125|
    +-------------+-------------+-------------+-------------+

As illustrated above, stope polynomials are (for a suitable choice of coefficients) equivalent to ordinary polynomials. Moreover, the transformations between them are provided by a matrix product as follows:

       VM=: 1 : '[ ^!.x./ i.@#@]'
       TO=: 2 : '(x. VM %. y. VM)~ @i.@#'
       (0 TO _1 c) +/ . * c
    1 7 6 1

The matrices`0 TO _1` and`_1 TO 0` are mutually inverse, and are simply related to Stirling numbers:

       (0 TO _1 i.5);(_1 TO 0 i.5)
    +---------+------------+
    |1 0 0 0 0|1 0  0  0  0|
    |0 1 1 1 1|0 1 _1  2 _6|
    |0 0 1 3 7|0 0  1 _3 11|
    |0 0 0 1 6|0 0  0  1 _6|
    |0 0 0 0 1|0 0  0  0  1|
    +---------+------------+

The stope polynomial is also provided by the variant`p.!.s` .

>> << Ndx Usr Pri Phr Dic Rel Voc !: wd Help Dictionary