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

Reply via email to