Isn't the terminology here a little inconsistent? dims should probably be 
called sizes.

Am Donnerstag, 19. Juni 2014 08:59:24 UTC+2 schrieb Ethan Anderes:
>
> I guess the docs are clear but for some reason I didn't understand it 
> correctly after reading it a couple of times. Probably because I think of d 
> as in Array{Float, d} rather than length. Should have looked more 
> carefully. Sorry for the noise.
>
> d is the length of the transformed real array along the dims[1] dimension, 
> which must satisfy d == floor(size(A,dims[1])/2)+1. (This parameter 
> cannot be inferred fromsize(A) due to the possibility of rounding by the 
> floor function here.)
>  
>
>
> On Wednesday, June 18, 2014 11:54:33 PM UTC-7, Ethan Anderes wrote:
>>
>> That does it! I never would have guessed that dims would refer to the 
>> side length of the matrix. Thanks a ton.
>>
>> On Wednesday, June 18, 2014 11:47:47 PM UTC-7, Alex wrote:
>>>
>>> Hi Ethan,
>>>
>>> irfft and brfft take an additional argument d, which roughly speaking 
>>> denotes the size of the transformed matrix. See also the docs on brfft 
>>> and irfft 
>>> <http://julia.readthedocs.org/en/latest/stdlib/base/?highlight=brfft#Base.brfft>
>>>
>>> The following should work for you
>>> julia> a = rand(64, 64);
>>>
>>> julia> a_from_rfft = rfft(a);
>>>
>>> julia> back_to_a = irfft(a_from_rfft, size(a,1));
>>>
>>> julia> norm(back_to_a-a)
>>> 5.185263941656865e-15
>>>
>>> Hope that helps,
>>>
>>> Alex.
>>>
>>> On Thursday, 19 June 2014 06:37:38 UTC+2, Ethan Anderes wrote:
>>>>
>>>> Does anyone have experience with brfft or irfft? I’m trying to optimize 
>>>> some code and I noticed a huge performance gain if I use rfft over fft for 
>>>> 2-d real matrices. However
>>>> I need to filter in the Fourier domain, then use irfft (or brfft) to 
>>>> return to spatial corridinates but I can’t seem to get irfft or brfft to 
>>>> work.
>>>>
>>>> a = rand(1024, 1024);
>>>>
>>>> a_from_fft  = fft(a);
>>>> a_from_rfft = rfft(a);
>>>>
>>>> ###  each one of these gives an error
>>>> back_to_a = brfft(a_from_fft);
>>>> back_to_a = brfft(a_from_rfft);
>>>> back_to_a = irfft(a_from_fft);
>>>> back_to_a = irfft(a_from_rfft);
>>>>
>>>> Here is my version info
>>>>
>>>> julia> versioninfo()
>>>>
>>>> Julia Version 0.3.0-prerelease+3730
>>>> Commit 8f1fbec (2014-06-17 23:55 UTC)
>>>> Platform Info:
>>>>   System: Darwin (x86_64-apple-darwin13.2.0)
>>>>   CPU: Intel(R) Core(TM) i5-4250U CPU @ 1.30GHz
>>>>   WORD_SIZE: 64
>>>>   BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY)
>>>>   LAPACK: libopenblas
>>>>   LIBM: libopenlibm
>>>>
>>>> ​
>>>>
>>>

Reply via email to