Why. It's not advanced. Matrix operations are covered in schools before difference calculus. Besides, it is a basic tool of J.
On Fri, Aug 21, 2009 at 2:51 PM, Bo Jacoby <[email protected]> wrote: > That's nice Don, but isn't the matrix inversion tool more advanced than > necessary? > > 1 3 etc~15 NB. odd numbers > 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 > 0 1 3 etc~15 NB. triangular numbers > 0 1 3 6 10 15 21 28 36 45 55 66 78 91 105 > 0 1 5 14 etc~15 NB. pyramidal numbers > 0 1 5 14 30 55 91 140 204 285 385 506 650 819 1015 > 0 1 4 etc~15 NB. square numbers > 0 1 4 9 16 25 36 49 64 81 100 121 144 169 196 > 0 1 8 27 etc~15 NB. cube numbers > 0 1 8 27 64 125 216 343 512 729 1000 1331 1728 2197 2744 > 1 27 125 etc~15 NB. odd cubes > 1 27 125 295 537 851 1237 1695 2225 2827 3501 4247 5065 5955 6917 > > Of course I would like a tacit definition of T. > > --- Den fre 21/8/09 skrev Don Guinn <[email protected]>: > > > Fra: Don Guinn <[email protected]> > > Emne: Re: [Jprogramming] A better conjunction > > Til: "Programming forum" <[email protected]> > > Dato: fredag 21. august 2009 18.19 > > If one wants a polynomial solution to > > a series there is always matrix > > divide. > > p=.3 : '(>:0 > > i:~0=r){.r=.y%.(i.x:#y)^/i.x:#y' > > p 0 1 8 27 64 125 216 343 512 729 1000 > > 0 0 0 1 > > > > On Fri, Aug 21, 2009 at 7:37 AM, Bo Jacoby <[email protected]> > > wrote: > > > > > How to use involutoric newtontransform to extrapolate > > a list of numbers. > > > > > > ]data =. 3 ^~ i. 4 NB. test data > > > 0 1 8 27 > > > T data NB. transform once > > > 0 _1 6 _6 > > > T T data NB. transform twice, > > reproducing data > > > 0 1 8 27 > > > T NB. transform using only '-', > > neither '*' nor '%' nor even '+'. > > > 3 : 0 > > > a =. 0 $ 0 > > > while. # y do. > > > a =. a , {. y > > > y =. ( }: - }. ) y > > > end. > > > a > > > ) > > > etc NB. extend transform with zeroes > > and transform back. > > > [: T [ {. [: T ] > > > 11 etc data > > > 0 1 8 27 64 125 216 343 512 729 1000 > > > > > > - Bo > > > > > > --- Den fre 21/8/09 skrev Kip Murray <[email protected]>: > > > > > > > Fra: Kip Murray <[email protected]> > > > > Emne: Re: [Jprogramming] A better conjunction > > > > Til: "Programming forum" <[email protected]> > > > > Dato: fredag 21. august 2009 14.41 > > > > And, of course, > > > > > > > > diff =: 2&(-~/\) NB. differences of a > > vector > > > > > > > > (For the notes at the end) > > > > > > > > Kip Murray wrote: > > > > > In (long sentence here, watch for the > > period) > > > > > > > > > > ]data =: 3 ^~ > > i. 11 > > > > > 0 1 8 27 64 125 216 343 512 729 1000 > > > > > > > > > > p =: 3 interp data > > > > > > > > > > p NB. > > conjunction interp > > > > embedded > > > > > (3) (2 : '(y !~ i. >: m) +/ . * {. (>: > > m) difftb > > > > n') 0 1 8 27 64 125 216 > > > > > 343 512 729 1000 > > > > > > > > > > the conjunction interp is supposed to look > > at the > > > > difference table > > > > > > > > > > 4 difftb > > data NB. > > > > successive differences of first column, see note > > [1] > > > > > 0 1 6 6 > > > > > 1 7 12 0 > > > > > 8 19 0 0 > > > > > 27 0 0 0 > > > > > > > > > > and, reading the first line, produce the > > equivalent > > > > of > > > > > > > > > > q =: 0 1 6 6 +/ . * (i.4) ! > > > > ] NB. A Newton series, see note > > [2] > > > > > . > > > > > > > > > > Conjunction interp _does_ produce an > > equivalent: > > > > > > > > > > (p"0 ,: q"0) i. 11 > > > > > 0 1 8 27 64 125 216 343 512 729 1000 > > > > > 0 1 8 27 64 125 216 343 512 729 1000 > > > > > > > > > > But I don't want p to recreate the > > difference table > > > > every time it is > > > > > called. Is there a way to rewrite > > conjunction > > > > interp so that > > > > > > > > > > q =: 3 interp1 data > > > > > > > > > > q > > > > > 0 1 6 6 +/ .* 0 1 2 3 ! ] > > > > > > > > > > ? > > > > > > > > > > Kip > > > > > > > > > > ---------- > > > > > > > > > > > > > > > [1] x difftb y is an x by x table whose kth > > column > > > > has > > > > > kth differences for > > vector x > > > > {. y (y is a vector and x <: #y) > > > > > > > > > > difftb =: 4 : '|: diff^:(i.x) x > > {. y' > > > > > > > > > > > > > > > [2] In algebra notation q is the third > > degree Newton > > > > series > > > > > > > > > > q(x) = 0 + 1 > > x/1 + 6 > > > > (x*(x-1))/(1*2) + 6 (x*(x-1)*(x-2))/(1*2*3) > > > > > > > > > > This one simplifies > > to q(x) = > > > > x^3 . > > > > > > > > > > For Newton series, see pages 190-191 of > > Graham, Knuth, > > > > and Patashnik, > > > > > Concrete Mathematics Second Edition. > > > > > > > > > > > > > > > > ---------------------------------------------------------------------- > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > > > > > > > > > Find din nye laptop på > > kelkoo.dk. Se de gode tilbud her - > > > http://dk.yahoo.com/r/pat/mm > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > Trænger du til at se det store billede? Kelkoo giver dig gode tilbud > på LCD TV! Se her http://dk.yahoo.com/r/pat/lcd > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
