Sorry - I'd overlooked your function "xtimes" which I now see is indeed in the dfns workspace.
Brilliant! Perhaps we can persuade Dyalog to drop the rank 15 limitation unless it's really hardwired. Mike On 07/07/2011 3:54 PM, Roger Hui wrote: > My timings were carried out on an implementation > in C of Henry Rich's description in J of FFT, so it is > about APL and J! > > http://www.jsoftware.com/jwiki/Essays/FFT > Henry Rich's work > > http://dfns.dyalog.com/n_xtimes.htm > translation of above into dfns in Dyalog APL > > An interesting note: The dfn works with an array > with shape r⍴2 (r$2). (The function "cube".) > Dyalog APL limits arrays to a maximum rank of 15, > so the dfn can only do multiplications where the > resulting product has at most 32768 digits. > The dfn can be modified to remove this limitation, > but it'd be more complicated. (The C implementation > does not have this limitation.) > > I will indeed talk about this and other related things > on July 29. > > > > ----- Original Message ----- > From: Mike Day<[email protected]> > Date: Thursday, July 7, 2011 3:38 > Subject: Re: [Jprogramming] Large numbers > To: Programming forum<[email protected]> > >> NB - Sorry, forum, this is more about APL than J ! >> >> Roger, presumably you were using the rational arithmetic >> offered in the dfns workspace but where is the FFT multiply? >> Is there a native function for it? >> >> I see you're talking at the British APL Association meeting in >> London on the 29th about rational numbers in Dyalog APL. >> Perhaps you can discuss this example there. >> Looks interesting ...... >> >> Thanks >> >> Mike >> >> On 06/07/2011 11:57 PM, Roger Hui wrote: >>> I computed t←1+28433×2*7830457r1 in the new >>> rational number facility in Dyalog APL, which does >>> have an FFT multiply, and it took 8.86 seconds. >>> As a matter of interest: >>> >>> t >>> 7.772839072E2357206 >>> >>> Calibration of my machine: >>> >>> timer '+/1+^.i.1e6' >>> 0.121769 >>> >>> >>> >>> ----- Original Message ----- >>> From: Devon McCormick<[email protected]> >>> Date: Wednesday, July 6, 2011 15:30 >>> Subject: Re: [Jprogramming] Large numbers >>> To: Programming forum<[email protected]> >>> >>>> This took 0:46:37 in J and 0:53:28 in bc on my XP machine. >>>> However, when I >>>> split the calculation into pieces, it was finished in less than >>>> 15 minutes. >>>> >>>> I ran the following two scripts simultaneously, using "fork" >>>> (which took >>>> about six minutes), then loaded the results and made the final >>>> calculation: load&.>'partial1.ijs';'partial2.ijs' >>>> +++ >>>> +++ >>>> 6!:2 'ans0=. 1+28433*partial1*partial2' >>>> 518.91352 >>>> 10{.":ans0 >>>> 7772839072 >>>> #":ans0 >>>> 2357207 >>>> >>>> The results above were produced by these two scripts: >>>> >>>> NB.* large1.ijs: portion of large calculation. >>>> ans1=. 2x^3915228 >>>> ('partial1=: ','x',~,":ans1) 1!:2<'partial1.ijs' >>>> 2!:55'' >>>> >>>> NB.* large2.ijs: portion of large calculation. >>>> ans2=. 2x^3915229 >>>> ('partial2=: ','x',~,":ans2) 1!:2<'partial2.ijs' >>>> 2!:55'' >>>> >>>> >>>> On Wed, Jul 6, 2011 at 3:19 PM, Tracy Harms >>>> <[email protected]> wrote: >>>> >>>>> Yes, that makes more sense to me, too, with a bit more thought. >>>>> >>>>> >>>>> On Wed, Jul 6, 2011 at 1:33 PM, Raul Miller >>>> <[email protected]> wrote: >>>>>> Mine is: >>>>>> 1 + 28433 * 2 ^ 7830457x > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
