[Edu-sig] Where mathematics comes from
Kirby Urner
urnerk@qwest.net
Sun, 26 Jan 2003 18:00:36 -0800
At 01:28 PM 1/26/2003 -0800, Kirby Urner wrote:
>The expansion is (1/0! 1/1! 1/2! 1/3! 1/4!...) where these are the
>coefficients of a polynomial, with x^0, x^1, x^2, x^3... respectively.
Just for comparison and contrast, in the J language, we get
Taylor Expansions of many functions, plus polynomials themselves,
implemented as primitive "verbs" (the lingo is resolutely
linguistic-grammatical -- nouns, verbs, adverbs, conjunctions,
and even gerunds, get defined):
(NB. means comment = "nota bene")
exp =: ^ NB. ^ in front of a noun is like Python's exp(noun)
I just renamed a verb to look more like Python.
I'm going to ask for the first 10 coefficients of the polynomial
expansion of e^x, in rational format ( 1r2 means 1/2 or one half):
taylor =: t.
rational =: x: NB. make of 'rational type' (coming in Python)
range =: i. NB. like i. 10 returns 0 1 2 3...9 like range(10)
exp taylor (range rational 10) NB. <-- user, next line is computer
1 1 1r2 1r6 1r24 1r120 1r720 1r5040 1r40320 1r362880
(i.e. 1/0! 1/1! 1/2! 1/3! 1/4! etc.)
coeffs =: exp taylor (range rational 30) NB. same, but more terms
coeffs p. 3 NB. use polynomial operator to evaluate p(x), x=3
20.0855
^3 NB. note, same answer
20.0855
And of course:
coeffs p. 0j1p1 NB. 0j1p1 means i pi (like Python, J uses j)
_1
And even more exact answer than Python's (thanks to internal rounding
I guess).
Kirby